diff --git a/run-tests.sh b/run-tests.sh index 25e66d3..971cc93 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -3,7 +3,9 @@ export DEVICE=${DEVICE-qemu} export TMPDIR=${TMPDIR-/tmp} +NIX_PATH=liminix=`pwd`:$NIX_PATH + for i in tests/*/run.sh; do echo $i - $i $* || exit 1 + (cd `dirname $i`; ./`basename $i` $* ) || exit 1 done diff --git a/tests/kernel/run.sh b/tests/kernel/run.sh index 74f861c..694a86c 100755 --- a/tests/kernel/run.sh +++ b/tests/kernel/run.sh @@ -1,5 +1,5 @@ set -e -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build -I liminix-config=./tests/smoke/configuration.nix --arg device "import ./devices/$DEVICE.nix" -A outputs.kernel.vmlinux -o vmlinux $* +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '' -I liminix-config=../smoke/configuration.nix --arg device "import " -A outputs.kernel.vmlinux -o vmlinux $* TESTS=$(cat <<"EOF" diff --git a/tests/pseudofiles/run.sh b/tests/pseudofiles/run.sh index 088c407..6e515ad 100755 --- a/tests/pseudofiles/run.sh +++ b/tests/pseudofiles/run.sh @@ -2,16 +2,16 @@ set -e expr=$(cat <<"EXPR" let - overlay = import ./overlay.nix; - nixpkgs = import ( {overlays = [overlay]; }); - structure = import ./tests/pseudofiles/structure.nix; + overlay = import ; + nixpkgs = import { overlays = [overlay]; }; + structure = import ./structure.nix; in nixpkgs.pkgs.pseudofile "pseudo.s6-init" structure EXPR - ) + ) -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build -E "${expr}" -o tests/pseudofiles/result $* -diff tests/pseudofiles/result tests/pseudofiles/result.expected +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build -E "${expr}" -o result $* +diff result result.expected test -f /tmp/out.squashfs && rm /tmp/out.squashfs -nix-shell -p squashfsTools -p qprint --run "mksquashfs - /tmp/out.squashfs -p '/ d 755 0 0' -pf tests/pseudofiles/result -quiet -no-progress" +nix-shell -p squashfsTools -p qprint --run "mksquashfs - /tmp/out.squashfs -p '/ d 755 0 0' -pf result -quiet -no-progress" foo="$(nix-shell -p squashfsTools --run 'unsquashfs -cat /tmp/out.squashfs service/s6-linux-init-runleveld/run')" test "$foo" = "$(printf "hello\nworld")" diff --git a/tests/smoke/run.sh b/tests/smoke/run.sh index 42fa2bb..29f954a 100755 --- a/tests/smoke/run.sh +++ b/tests/smoke/run.sh @@ -1,14 +1,14 @@ set -e -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build -I liminix-config=./tests/smoke/configuration.nix --arg device "import ./devices/$DEVICE.nix" -o smoke.img +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '' -I liminix-config=./configuration.nix --arg device "import " -A outputs.squashfs -o smoke.img $* TESTS=$(cat <<"EOF" trap 'echo "command $(eval echo $BASH_COMMAND) failed with exit code $?"; exit $?' ERR dest_path=${TMPDIR}/smoke.img-$$ echo $dest_path -unsquashfs -q -d $dest_path smoke.img +unsquashfs -q -d $dest_path -excludes smoke.img /dev cd $dest_path; -db=*-s6-rc-db/compiled/ +db=nix/store/*-s6-rc-db/compiled/ test -d $db chmod -R +w $db # check we have closure of config.services (lo.link.service exists only