diff options
author | Benno Fünfstück <benno.fuenfstueck@gmail.com> | 2017-05-15T10·23+0200 |
---|---|---|
committer | Benno Fünfstück <benno.fuenfstueck@gmail.com> | 2017-05-15T10·23+0200 |
commit | 4412f7c08367b17b3be723ee42df159100d93922 (patch) | |
tree | 440b472b559b8c40179ce74ac933e8ceb33f5611 /tests | |
parent | 75a1d9849d7355c227ce76be17809a71852956b3 (diff) |
nar-archive.cc: add tests for the nar index
Diffstat (limited to 'tests')
-rw-r--r-- | tests/local.mk | 3 | ||||
-rw-r--r-- | tests/nar-index.nix | 23 | ||||
-rw-r--r-- | tests/nar-index.sh | 23 |
3 files changed, 48 insertions, 1 deletions
diff --git a/tests/local.mk b/tests/local.mk index 108e3febdb0c..7d99a0fc7675 100644 --- a/tests/local.mk +++ b/tests/local.mk @@ -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)) diff --git a/tests/nar-index.nix b/tests/nar-index.nix new file mode 100644 index 000000000000..0e2a7f721135 --- /dev/null +++ b/tests/nar-index.nix @@ -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 + ''; + }; +} \ No newline at end of file diff --git a/tests/nar-index.sh b/tests/nar-index.sh new file mode 100644 index 000000000000..51369346c88a --- /dev/null +++ b/tests/nar-index.sh @@ -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 \ No newline at end of file |