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 \
|
check-reqs.sh pass-as-file.sh tarball.sh restricted.sh \
|
||||||
placeholders.sh nix-shell.sh \
|
placeholders.sh nix-shell.sh \
|
||||||
linux-sandbox.sh \
|
linux-sandbox.sh \
|
||||||
build-remote.sh
|
build-remote.sh \
|
||||||
|
nar-index.sh
|
||||||
# parallel.sh
|
# parallel.sh
|
||||||
|
|
||||||
install-tests += $(foreach x, $(nix_tests), tests/$(x))
|
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