From 8229a43214469da8aff7319968891041049ee264 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 25 Dec 2017 15:07:07 +0000 Subject: [PATCH] improve test scripts * validated with shellcheck * allow to evaluate just one for convenience * reduce verbosity and improve debugging output --- tests/eval-one.sh | 35 +++++++++++++++++++++++++++++++++++ tests/eval-test.sh | 16 ++++++---------- 2 files changed, 41 insertions(+), 10 deletions(-) create mode 100755 tests/eval-one.sh diff --git a/tests/eval-one.sh b/tests/eval-one.sh new file mode 100755 index 0000000..dda8acf --- /dev/null +++ b/tests/eval-one.sh @@ -0,0 +1,35 @@ +#!/bin/sh +set -u +here=$(cd "$(dirname "$0")" && pwd) + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +profile=$1 +logfile=$(mktemp) + +# shellcheck disable=SC2039 +echo -n "evaluating $profile: " + +nix-build \ + '' \ + -I "nixos-config=$here/eval-test.nix" \ + -I "nixos-hardware-profile=$profile" \ + --dry-run \ + --no-out-link \ + --show-trace \ + -A system > "$logfile" 2>&1 +ret=$? + +if [ "$ret" -gt 0 ]; then + echo ERROR + echo ===================================================================== >&2 + cat "$logfile" >&2 +else + echo OK +fi + +rm "$logfile" +exit "$ret" diff --git a/tests/eval-test.sh b/tests/eval-test.sh index 0e7fca1..740f06f 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -1,15 +1,11 @@ #!/bin/sh +set -efu +cd "$(dirname "$0")/.." || exit 1 -set -e - -cd "$(dirname "$0")/.." +echo "### Evaluating all profiles ###" +echo +# shellcheck disable=SC2044 for profile in $(find . -name default.nix); do - echo evaluating $profile >&2 - - nix-build '' \ - -I nixos-config=tests/eval-test.nix \ - -I nixos-hardware-profile=$profile \ - -A system \ - --dry-run + ./tests/eval-one.sh "$profile" done