summaryrefslogtreecommitdiff
path: root/test/test_helpers.sh
diff options
context:
space:
mode:
authorAlex Richardson2020-09-25 10:12:56 +0100
committerAlex Richardson2020-09-25 12:30:09 +0100
commit782d3860eb0134c81d4a4204b7caab72cda3bd1d (patch)
tree7cdb5a20490ec77e846d60d8c00d1adb9ca1bafb /test/test_helpers.sh
parente6dadf146f699a7ac28228659832d31100861d17 (diff)
tests: Move copy-pasted code into a shared helper .sh
Also fix a few shellcheck warnings related to printf while doing so.
Diffstat (limited to 'test/test_helpers.sh')
-rw-r--r--test/test_helpers.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/test_helpers.sh b/test/test_helpers.sh
new file mode 100644
index 00000000..40d66f10
--- /dev/null
+++ b/test/test_helpers.sh
@@ -0,0 +1,36 @@
+RED='\033[0;91m'
+GREEN='\033[0;92m'
+YELLOW='\033[0;93m'
+NC='\033[0m'
+
+pass=0
+fail=0
+XML=""
+
+function green {
+ (( pass += 1 ))
+ printf "%s: ${GREEN}$2${NC}\n" "$1"
+ XML+=" <testcase name=\"$1\"/>\n"
+}
+
+function yellow {
+ (( fail += 1 ))
+ printf "%s: ${YELLOW}$2${NC}\n" "$1"
+ XML+=" <testcase name=\"$1\">\n <error message=\"$2\">$2</error>\n </testcase>\n"
+}
+
+function red {
+ (( fail += 1 ))
+ printf "%s: ${RED}$2${NC}\n" "$1"
+ XML+=" <testcase name=\"$1\">\n <error message=\"$2\">$2</error>\n </testcase>\n"
+}
+
+function finish_suite {
+ printf "%s: Passed ${pass} out of $(( pass + fail ))\n\n" "$1"
+ XML=" <testsuite name=\"$1\" tests=\"$(( pass + fail ))\" failures=\"${fail}\" timestamp=\"$(date)\">\n$XML </testsuite>\n"
+ # Note: we use echo -e to escape \n characters
+ echo -e "$XML" >> "$DIR/tests.xml"
+ XML=""
+ pass=0
+ fail=0
+}