3 # shellcheck disable=SC1090
6 echo [STEP] Initialize one node
14 create_script foo tinc-up '
18 echo [STEP] Test tincd command line options that should work
27 tincd foo -D --net=foo
28 tincd foo -D --net foo
30 echo [STEP] Test tincd command line options that should not work
32 expect_code "$EXIT_FAILURE" tincd foo foo
33 expect_code "$EXIT_FAILURE" tincd foo --pidfile
34 expect_code "$EXIT_FAILURE" tincd foo --foo
36 echo [STEP] Test tinc command line options that should work
39 tinc foo -n foo get name
40 tinc foo -nfoo get name
41 tinc foo --net=foo get name
42 tinc foo --net foo get name
44 echo [STEP] Test tinc command line options that should not work
46 expect_code "$EXIT_FAILURE" tinc foo -n foo get somethingreallyunknown
47 expect_code "$EXIT_FAILURE" tinc foo --net
48 expect_code "$EXIT_FAILURE" tinc foo --net get name
49 expect_code "$EXIT_FAILURE" tinc foo foo
51 # Most of these should fail with ASAN. Some leaks are only detected by Valgrind.
52 echo [STEP] Trigger previously known memory leaks
54 tincd foo -c . -c . --help
55 tincd foo -n net -n net --help
56 tincd foo -n net -o FakeOpt=42 --help
57 tincd foo --logfile=one --logfile=two --help
58 tincd foo --pidfile=one --pidfile=two --help
59 expect_code "$EXIT_FAILURE" tincd foo -n net -o Compression= --help
60 expect_code "$EXIT_FAILURE" tincd foo -c fakedir -n 'n/e\t'
62 tinc foo -c conf -c conf --help
63 tinc foo -n net -n net --help
64 tinc foo --pidfile=pid --pidfile=pid --help
65 expect_code "$EXIT_FAILURE" tinc foo -c conf -n 'n/e\t'