summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2008-03-05 16:22:41 +1100
committerJon Loeliger <jdl@loeliger.com>2008-03-23 08:00:33 -0500
commit6c2e4d61f83af4233c3270e4f1ec1da01d90466e (patch)
treeb0bd9eb7e136496cb1586c7f1cf0da8a202f659a
parent68fe10ba4efc86c4bd388f5ba68d1b3e2e9e3be2 (diff)
downloaddtc-6c2e4d61f83af4233c3270e4f1ec1da01d90466e.tar.gz
dtc: Testcases for input handling
This patch adds some testcases checking corner cases of dtc's input file handling. Specifically it checks that dtc works correctly when given input via stdin, and it checks that dtc fails gracefully if given a nonexistent input file (or directory, in the case of -Ifs mode). Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--tests/dtc-fatal.sh14
-rwxr-xr-xtests/run_tests.sh11
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/dtc-fatal.sh b/tests/dtc-fatal.sh
new file mode 100644
index 0000000..8eb1b44
--- /dev/null
+++ b/tests/dtc-fatal.sh
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+. tests.sh
+
+verbose_run $VALGRIND "$DTC" -o/dev/null "$@"
+ret="$?"
+
+if [ "$ret" -gt 127 ]; then
+ FAIL "dtc killed by signal (ret=$ret)"
+elif [ "$ret" != "1" ]; then
+ FAIL "dtc returned incorrect status $ret instead of 1"
+fi
+
+PASS
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 3d09cfc..27dc11a 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -238,6 +238,17 @@ dtc_tests () {
run_sh_test dtc-checkfails.sh node_name_chars -- -I dtb -O dtb bad_node_char.dtb
run_sh_test dtc-checkfails.sh node_name_format -- -I dtb -O dtb bad_node_format.dtb
run_sh_test dtc-checkfails.sh prop_name_chars -- -I dtb -O dtb bad_prop_char.dtb
+
+ # Check for proper behaviour reading from stdin
+ run_dtc_test -I dts -O dtb -o stdin_dtc_tree1.test.dtb - < test_tree1.dts
+ run_wrap_test cmp stdin_dtc_tree1.test.dtb dtc_tree1.test.dtb
+ run_dtc_test -I dtb -O dts -o stdin_odts_test_tree1.dtb.test.dts - < test_tree1.dtb
+ run_wrap_test cmp stdin_odts_test_tree1.dtb.test.dts odts_test_tree1.dtb.test.dts
+
+ # Check for graceful failure in some error conditions
+ run_sh_test dtc-fatal.sh -I dts -O dtb nosuchfile.dts
+ run_sh_test dtc-fatal.sh -I dtb -O dtb nosuchfile.dtb
+ run_sh_test dtc-fatal.sh -I fs -O dtb nosuchfile
}
while getopts "vt:m" ARG ; do