From 1c852fe2e0d22744ade72c2f2783093c3bd1fc95 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 25 Mar 2023 17:49:20 -0300 Subject: share/aux-repo/: Add common test scripts --- share/aux-repo/tests/assert-clean.sh | 42 +++++++++++++++++++++++++++++++ share/aux-repo/tests/assert-shellcheck.sh | 6 +++++ 2 files changed, 48 insertions(+) create mode 100755 share/aux-repo/tests/assert-clean.sh create mode 100755 share/aux-repo/tests/assert-shellcheck.sh (limited to 'share') diff --git a/share/aux-repo/tests/assert-clean.sh b/share/aux-repo/tests/assert-clean.sh new file mode 100755 index 0000000..5050b53 --- /dev/null +++ b/share/aux-repo/tests/assert-clean.sh @@ -0,0 +1,42 @@ +#!/bin/sh +set -eu + +. src/development/lib.sh + +if [ -n "${RUNNING_ASSERT_CLEAN:-}" ]; then + exit +fi +export RUNNING_ASSERT_CLEAN=1 + +D="$(mkdtemp)" +trap 'rm -rf "$D"' EXIT +git clone . "$D" +cd "$D" + +assert_no_diffs() { + if [ -n "$(git status -s)" ]; then + { + printf 'Repository left dirty.\n' + git status + info + } >&2 + exit 1 + fi +} + +pre() { + sed 's|^|assert-clean: |' +} + +assert_no_diffs +make -e check-public 2>&1 | pre +make -e clean 2>&1 | pre +assert_no_diffs + +if [ -n "$(git clean -nffdx)" ]; then + { + printf '"make clean" left files:\n' + git clean -nffdx + } >&2 + exit 1 +fi diff --git a/share/aux-repo/tests/assert-shellcheck.sh b/share/aux-repo/tests/assert-shellcheck.sh new file mode 100755 index 0000000..322a508 --- /dev/null +++ b/share/aux-repo/tests/assert-shellcheck.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -eu + +git ls-files | + grep '\.sh$' | + xargs shellcheck -- cgit v1.2.3