More strict failure code checks in integration tests.
[tinc] / test / commandline.test
index 241cb25..ba3d717 100755 (executable)
@@ -28,9 +28,9 @@ tincd foo -D --net foo
 
 echo [STEP] Test tincd command line options that should not work
 
-must_fail tincd foo foo
-must_fail tincd foo --pidfile
-must_fail tincd foo --foo
+expect_code "$EXIT_FAILURE" tincd foo foo
+expect_code "$EXIT_FAILURE" tincd foo --pidfile
+expect_code "$EXIT_FAILURE" tincd foo --foo
 
 echo [STEP] Test tinc command line options that should work
 
@@ -42,7 +42,23 @@ tinc foo --net foo get name
 
 echo [STEP] Test tinc command line options that should not work
 
-must_fail tinc foo -n foo get somethingreallyunknown
-must_fail tinc foo --net
-must_fail tinc foo --net get name
-must_fail tinc foo foo
+expect_code "$EXIT_FAILURE" tinc foo -n foo get somethingreallyunknown
+expect_code "$EXIT_FAILURE" tinc foo --net
+expect_code "$EXIT_FAILURE" tinc foo --net get name
+expect_code "$EXIT_FAILURE" tinc foo foo
+
+# Most of these should fail with ASAN. Some leaks are only detected by Valgrind.
+echo [STEP] Trigger previously known memory leaks
+
+tincd foo -c . -c . --help
+tincd foo -n net -n net --help
+tincd foo -n net -o FakeOpt=42 --help
+tincd foo --logfile=one --logfile=two --help
+tincd foo --pidfile=one --pidfile=two --help
+expect_code "$EXIT_FAILURE" tincd foo -n net -o Compression= --help
+expect_code "$EXIT_FAILURE" tincd foo -c fakedir -n 'n/e\t'
+
+tinc foo -c conf -c conf --help
+tinc foo -n net -n net --help
+tinc foo --pidfile=pid --pidfile=pid --help
+expect_code "$EXIT_FAILURE" tinc foo -c conf -n 'n/e\t'