aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/test/lib/test.sh
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-10-15 18:19:25 +0500
committerEgor Tensin <egor@tensin.name>2026-10-15 18:19:25 +0500
commit1e1d21c2a2266eff74db9d46fa7efd073fb44677 (patch)
tree3fc8b8c5c1ed488dd4e0123b8093fc447f9471d9 /test/lib/test.sh
parentdon't fail if lib/ doesn't exist (diff)
downloadtest-harness-1e1d21c2a2266eff74db9d46fa7efd073fb44677.tar.gz
test-harness-1e1d21c2a2266eff74db9d46fa7efd073fb44677.zip
add a couple of basic tests
Diffstat (limited to 'test/lib/test.sh')
-rw-r--r--test/lib/test.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/lib/test.sh b/test/lib/test.sh
new file mode 100644
index 0000000..56920a2
--- /dev/null
+++ b/test/lib/test.sh
@@ -0,0 +1,39 @@
+test_run_harness() {
+ "$tests_dir/../harness" -d "$test_root_dir" 2>&1
+}
+
+test_check_harness_log() {
+ if [ "$#" -lt 1 ]; then
+ log "usage: ${FUNCNAME[0]} LOG [STR...]"
+ return 1
+ fi
+
+ local output="$1"
+ shift
+
+ log "Checking output log for a substring..."
+
+ local str
+ for str; do
+ if ! echo "$output" | grep -F $'\n'"$str"$'\n' > /dev/null; then
+ fail "Couldn't find the expected string: $str"
+ return 1
+ fi
+ done
+}
+
+test_check_harness_summary() {
+ if [ "$#" -ne 3 ]; then
+ log "usage: ${FUNCNAME[0]} LOG N_OK N_FAILED"
+ return 1
+ fi
+
+ local output="$1"
+ local n_ok="$2"
+ local n_failed="$3"
+
+ log "Validating test summary..."
+
+ test_check_harness_log "$output" "OK: $n_ok"
+ test_check_harness_log "$output" "FAIL: $n_failed"
+}