summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Phillips <david@sighup.nz>2019-03-16 21:06:15 +1300
committerDavid Phillips <david@sighup.nz>2019-03-16 21:06:15 +1300
commit53e40ead2dc29deaff619803d1aa57812b2920fc (patch)
treeca1d3c816e87143d69507f3a2364a1ce42056c56
parent16a2da0f217aa4f2da4b084014e4da731740e0df (diff)
downloadsudoku-53e40ead2dc29deaff619803d1aa57812b2920fc.tar.xz
Tally test results, add new tests
-rwxr-xr-xrun_tests.sh26
-rw-r--r--test/002-easy/expected.sku11
-rw-r--r--test/002-easy/in.sku11
-rw-r--r--test/003-easy/expected.sku12
-rw-r--r--test/003-easy/in.sku11
-rw-r--r--test/100-medium/expected.sku13
-rw-r--r--test/100-medium/in.sku11
-rw-r--r--test/xfails1
8 files changed, 89 insertions, 7 deletions
diff --git a/run_tests.sh b/run_tests.sh
index 2cff423..fe5f068 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -1,6 +1,8 @@
-#!/bin/bash -e
+#!/bin/bash
-exit_code=0
+t_pass=0
+t_fail=0
+t_xfail=0
[ -z "$SOLVER" ] && SOLVER="$PWD/test-solver"
XFAILS="$PWD/test/xfails"
@@ -8,26 +10,36 @@ XFAILS="$PWD/test/xfails"
test_fail() {
t="$(basename $1)"
if grep -q "$t" "$XFAILS" ; then
- echo -e "$t: "'[\e[34;1mXFAIL\e[0m]'
+ echo -e '[\e[34;1mXFAIL\e[0m]'" $t"
+ ((t_xfail++))
else
- echo -e "$t: "'[\e[31;1mFAIL\e[0m]'
+ echo -e '[\e[31;1mFAIL\e[0m]'" $t"
+ ((t_fail++))
fi
}
test_pass() {
t="$(basename $1)"
- echo -e "$t: "'[\e[32;1mPASS\e[0m]'
+ echo -e '[\e[32;1mPASS\e[0m]'" $t"
+ ((t_pass++))
}
for t in test/*-* ; do
pushd "$t" >/dev/null
if ! "$SOLVER" >/dev/null ; then
test_fail "$t"
- exit_code=1
else
test_pass "$t"
fi
popd >/dev/null
done
-exit "$exit_code"
+total_fail="$((t_fail + t_xfail))"
+echo "========================================"
+echo "Passes : $t_pass"
+echo "Failures: $t_fail ($t_xfail of which are expected)"
+echo "========================================"
+
+if [ "$t_fail" -gt "0" ]; then
+ exit 1
+fi
diff --git a/test/002-easy/expected.sku b/test/002-easy/expected.sku
new file mode 100644
index 0000000..c50b103
--- /dev/null
+++ b/test/002-easy/expected.sku
@@ -0,0 +1,11 @@
+672|145|398|
+145|983|672|
+389|762|451|
+
+263|574|819|
+958|621|743|
+714|398|526|
+
+597|236|184|
+426|817|935|
+831|459|267|
diff --git a/test/002-easy/in.sku b/test/002-easy/in.sku
new file mode 100644
index 0000000..f734c8d
--- /dev/null
+++ b/test/002-easy/in.sku
@@ -0,0 +1,11 @@
+???|1?5|???|
+14?|???|67?|
+?8?|??2|4??|
+
+?63|?7?|?1?|
+9??|???|??3|
+?1?|?9?|52?|
+
+??7|2??|?8?|
+?26|???|?35|
+???|4?9|???|
diff --git a/test/003-easy/expected.sku b/test/003-easy/expected.sku
new file mode 100644
index 0000000..00d3d3c
--- /dev/null
+++ b/test/003-easy/expected.sku
@@ -0,0 +1,12 @@
+465|973|821
+372|168|549
+819|425|367
+
+247|891|635
+951|346|278
+683|752|914
+
+198|637|452
+726|584|193
+534|219|786
+
diff --git a/test/003-easy/in.sku b/test/003-easy/in.sku
new file mode 100644
index 0000000..544c311
--- /dev/null
+++ b/test/003-easy/in.sku
@@ -0,0 +1,11 @@
+?6?|9?3|??1|
+37?|?68|?4?|
+???|4?5|??7|
+
+2??|???|635|
+?5?|3?6|?7?|
+683|???|??4|
+
+1??|6?7|???|
+?2?|58?|?93|
+5??|2?9|?8?|
diff --git a/test/100-medium/expected.sku b/test/100-medium/expected.sku
new file mode 100644
index 0000000..a81eebf
--- /dev/null
+++ b/test/100-medium/expected.sku
@@ -0,0 +1,13 @@
+?6??5?32?
+?9??4?6??
+7?36?8???
+
+1???7?98?
+6???????2
+?39?8???1
+
+???5?48?7
+??4?3??1?
+?78?6??9?
+
+Needs updating with solution - currently solver cannot solve
diff --git a/test/100-medium/in.sku b/test/100-medium/in.sku
new file mode 100644
index 0000000..03f1055
--- /dev/null
+++ b/test/100-medium/in.sku
@@ -0,0 +1,11 @@
+?6??5?32?
+?9??4?6??
+7?36?8???
+
+1???7?98?
+6???????2
+?39?8???1
+
+???5?48?7
+??4?3??1?
+?78?6??9?
diff --git a/test/xfails b/test/xfails
index e69de29..75c1fd5 100644
--- a/test/xfails
+++ b/test/xfails
@@ -0,0 +1 @@
+100-medium