aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Phillips <dbphillipsnz@gmail.com>2016-03-12 23:31:02 +1300
committerDavid Phillips <dbphillipsnz@gmail.com>2016-03-12 23:32:13 +1300
commit4ad1f662ff407644e33be1101b4b17df01c64fd0 (patch)
treee41ad272a7752ece3215b12289945d82ee55fec0 /test
parente7211deebd7348ff34265cca8be7d5f5c9a9dcb1 (diff)
downloadcue-bin-split-4ad1f662ff407644e33be1101b4b17df01c64fd0.tar.xz
Added quick test framework
Diffstat (limited to 'test')
-rwxr-xr-xtest/001-basic.test/run.sh8
-rw-r--r--test/001-basic.test/stderr.expected8
-rwxr-xr-xtest/run-tests.sh38
3 files changed, 54 insertions, 0 deletions
diff --git a/test/001-basic.test/run.sh b/test/001-basic.test/run.sh
new file mode 100755
index 0000000..4e67e1d
--- /dev/null
+++ b/test/001-basic.test/run.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+${EXECUTABLE}
+if [ $? -eq 0 ]; then
+ exit 1
+else
+ exit 0
+fi
diff --git a/test/001-basic.test/stderr.expected b/test/001-basic.test/stderr.expected
new file mode 100644
index 0000000..bdf19af
--- /dev/null
+++ b/test/001-basic.test/stderr.expected
@@ -0,0 +1,8 @@
+ERROR: Channel count, bitrate and sample size must all be present and positive
+
+Options:
+ -r bitrate_Hz
+ -c channel_count
+ -i input_file
+ -s size of a single channel's sample (bytes)
+ -f name_format (%d and co are replaced with track number)
diff --git a/test/run-tests.sh b/test/run-tests.sh
new file mode 100755
index 0000000..3b82bc2
--- /dev/null
+++ b/test/run-tests.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+err_file="stderr.tmp"
+out_file="stdout.tmp"
+EXECUTABLE="$PWD/../cue-bin-split"
+
+fail()
+{
+ echo "[FAIL] $i: $@"
+ exit 1
+}
+
+for i in *.test ; do
+ pushd ${i} >/dev/null
+ ( . ./run.sh ) 2>${err_file} >${out_file}
+ if [ $? -ne 0 ] ; then
+ fail "script had non-zero return code"
+ fi
+
+ if [ -f stderr.expected ] ; then
+ diff stderr.expected stderr.tmp
+ if [ $? -ne 0 ] ; then
+ fail "stderr didn't match expected"
+ fi
+ fi
+
+ if [ -f stdout.expected ] ; then
+ diff stdout.expected stdout.tmp
+ if [ $? -ne 0 ] ; then
+ fail "stdout didn't match expected"
+ fi
+ fi
+
+ echo "[PASS] $i"
+
+ rm ${err_file} ${out_file}
+ popd >/dev/null
+done