liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 3b1bc7eff8037fd21f5a4f6298efad4557845633
parent 63bf4162b25b38f68f57a37fb6f15d4d9034ddcd
Author: Daniel Barlow <dan@telent.net>
Date:   Sun, 29 Jan 2023 20:29:36 +0000

test derivation for ci

Diffstat:
Mdefault.nix | 2+-
Atests/smoke/test.nix | 29+++++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/default.nix b/default.nix @@ -1,5 +1,5 @@ { - device ? (import devices/gl-ar750.nix) + device , liminix-config ? <liminix-config> , phram ? false }: diff --git a/tests/smoke/test.nix b/tests/smoke/test.nix @@ -0,0 +1,29 @@ +{ + liminix +, nixpkgs +}: +let img = (import liminix { + device = import "${liminix}/devices/qemu/"; + liminix-config = ./configuration.nix; + }).outputs.squashfs; + pkgs = import <nixpkgs> {}; + check = pkgs.runCommand "check" { + nativeBuildInputs = with pkgs; [ squashfsTools s6-rc ] ; + } '' +destpath=$(mktemp -d)/smoke.img +echo $destpath +cleanup(){ test -n $destpath && test -d $destpath && chmod -R +w $destpath && rm -rf $destpath; } +trap cleanup EXIT +trap 'echo "command $(eval echo $BASH_COMMAND) failed with exit code $?"; exit $?' ERR +unsquashfs -q -d $destpath -excludes ${img} /dev +cd $destpath; +db=nix/store/*-s6-rc-database/compiled/ +test -d $db +chmod -R +w $db +# check we have closure of config.services (lo.link service exists only +# as a dependency) +test "$(s6-rc-db -c $db type lo.link)" = "oneshot" +test "$(s6-rc-db -c $db type ntp)" = "longrun" +echo OK > $out +''; +in { inherit check; }