nar-archive.cc: add tests for the nar index
This commit is contained in:
parent
75a1d9849d
commit
4412f7c083
|
@ -13,7 +13,8 @@ nix_tests = \
|
|||
check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \
|
||||
placeholders.sh nix-shell.sh \
|
||||
linux-sandbox.sh \
|
||||
build-remote.sh
|
||||
build-remote.sh \
|
||||
nar-index.sh
|
||||
# parallel.sh
|
||||
|
||||
install-tests += $(foreach x, $(nix_tests), tests/$(x))
|
||||
|
|
23
tests/nar-index.nix
Normal file
23
tests/nar-index.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
with import ./config.nix;
|
||||
|
||||
rec {
|
||||
a = mkDerivation {
|
||||
name = "nar-index-a";
|
||||
builder = builtins.toFile "builder.sh"
|
||||
''
|
||||
mkdir $out
|
||||
mkdir $out/foo
|
||||
touch $out/foo-x
|
||||
touch $out/foo/bar
|
||||
touch $out/foo/baz
|
||||
touch $out/qux
|
||||
mkdir $out/zyx
|
||||
|
||||
cat >$out/foo/data <<EOF
|
||||
lasjdöaxnasd
|
||||
asdom 12398
|
||||
ä"§Æẞ¢«»”alsd
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
}
|
23
tests/nar-index.sh
Normal file
23
tests/nar-index.sh
Normal file
|
@ -0,0 +1,23 @@
|
|||
source common.sh
|
||||
|
||||
echo "building test path"
|
||||
storePath="$(nix-build nar-index.nix -A a --no-out-link)"
|
||||
|
||||
cd "$TEST_ROOT"
|
||||
|
||||
echo "dumping path to nar"
|
||||
narFile="$TEST_ROOT/path.nar"
|
||||
nix-store --dump $storePath > $narFile
|
||||
|
||||
echo "check that find and ls-nar match"
|
||||
( cd $storePath; find . | sort ) > files.find
|
||||
nix ls-nar -R -d $narFile "" | sort > files.ls-nar
|
||||
diff -u files.find files.ls-nar
|
||||
|
||||
echo "check that file contents of data match"
|
||||
nix cat-nar $narFile /foo/data > data.cat-nar
|
||||
diff -u data.cat-nar $storePath/foo/data
|
||||
|
||||
echo "check that file contents of baz match"
|
||||
nix cat-nar $narFile /foo/baz > baz.cat-nar
|
||||
diff -u baz.cat-nar $storePath/foo/baz
|
Loading…
Reference in a new issue