aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/test/lib/test.sh
diff options
context:
space:
mode:
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"
+}