Super basic testing framework
This commit is contained in:
parent
3d6ed8604a
commit
e66f67da4a
@ -169,4 +169,10 @@ in rec {
|
|||||||
mv Isle-* "$out"/bin/isle
|
mv Isle-* "$out"/bin/isle
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tests = pkgs.writeShellScript "isle-tests" ''
|
||||||
|
export PATH=$PATH:${appImage}/bin
|
||||||
|
test_dir=${./tests}
|
||||||
|
exec $SHELL $test_dir/entrypoint.sh
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
3
test.sh
Executable file
3
test.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
$(nix-build --no-out-link -A tests)
|
2
tests/00-version.sh
Normal file
2
tests/00-version.sh
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
version="$(isle version)"
|
||||||
|
test "$(echo "$version" | wc -l)" -gt 0
|
27
tests/entrypoint.sh
Normal file
27
tests/entrypoint.sh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
set -e
|
||||||
|
|
||||||
|
# cd into script's directory
|
||||||
|
cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null
|
||||||
|
|
||||||
|
tmp="$(mktemp --tmpdir -d isle-tests.XXXXXX)"
|
||||||
|
trap 'rm -rf $tmp' EXIT
|
||||||
|
|
||||||
|
export TMPDIR="$tmp"
|
||||||
|
echo "tmp dir is $TMPDIR"
|
||||||
|
|
||||||
|
echo -e '\nrunning all tests...\n'
|
||||||
|
|
||||||
|
for file in $(find . -type f -name '*.sh' | grep -v entrypoint.sh | sort -n); do
|
||||||
|
echo "running test $file"
|
||||||
|
if ! $SHELL -e -x "$file" >"$tmp/$file.log" 2>&1; then
|
||||||
|
echo "TEST FAILED"
|
||||||
|
echo "output of test is as follows"
|
||||||
|
echo "------------------------------"
|
||||||
|
cat "$tmp/$file.log"
|
||||||
|
echo "------------------------------"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo -e '\ntests succeeded!'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user