mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-15 02:36:16 +02:00
Test that nix-store --restore fails if the output already exists
This restores the behaviour from before the std::filesystem refactorings.
This commit is contained in:
parent
83d5b32803
commit
da1ad28912
2 changed files with 5 additions and 1 deletions
|
@ -71,7 +71,8 @@ static GlobalConfig::Register r1(&restoreSinkSettings);
|
|||
|
||||
void RestoreSink::createDirectory(const CanonPath & path)
|
||||
{
|
||||
std::filesystem::create_directory(dstPath / path.rel());
|
||||
if (!std::filesystem::create_directory(dstPath / path.rel()))
|
||||
throw Error("path '%s' already exists", (dstPath / path.rel()).string());
|
||||
};
|
||||
|
||||
struct RestoreRegularFile : CreateRegularFileSink {
|
||||
|
|
|
@ -10,6 +10,9 @@ clearStore
|
|||
rm -rf "$TEST_ROOT/out"
|
||||
expectStderr 1 nix-store --restore "$TEST_ROOT/out" < duplicate.nar | grepQuiet "NAR directory is not sorted"
|
||||
|
||||
# Check that nix-store --restore fails if the output already exists.
|
||||
expectStderr 1 nix-store --restore "$TEST_ROOT/out" < duplicate.nar | grepQuiet "path '.*/out/' already exists"
|
||||
|
||||
# Check whether restoring and dumping a NAR that contains case
|
||||
# collisions is round-tripping, even on a case-insensitive system.
|
||||
rm -rf "$TEST_ROOT/case"
|
||||
|
|
Loading…
Reference in a new issue