(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ should-be-empty &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ full-of-directories &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef _run_sub_test_lib_test_common [] (List (= scope= flags=0 words=[] bindings=[('neg', {[DQ [VarSub 1]]}), ('name', {[DQ [VarSub 2]]}), ('descr', {[DQ [VarSub 3]]})]) (Com {[LIT_CHARS shift]} {[LIT_CHARS 3]}) (AndOr OP_AND_IF (Com {[LIT_CHARS mkdir]} {[DQ [VarSub name]]}) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS sane_unset]} {[LIT_CHARS HARNESS_ACTIVE]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub name]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub name][LIT_CHARS .sh]]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!"][VarSub SHELL_PATH][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "test_description='"][VarSub descr][LIT_CHARS " (run in sub test-lib)\n"][LIT_CHARS "\n"][LIT_CHARS "This is run in a sub test-lib so that we do not get incorrect\n"][LIT_CHARS "passing metrics\n"][LIT_CHARS "'\n"][LIT_CHARS "\n"][LIT_CHARS "# Point to the t/test-lib.sh, which isn't in ../ as usual\n"][LIT_CHARS ". "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS TEST_DIRECTORY][RIGHT_D_QUOTE "\""][LIT_CHARS "/test-lib.sh\n"]]} 0), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[DQ [VarSub name][LIT_CHARS .sh]]} >"> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub name][LIT_CHARS .sh]]}) (AndOr OP_AND_IF (= scope= flags=1 words=[{[LIT_CHARS TEST_DIRECTORY]}] bindings=[]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('TEST_OUTPUT_DIRECTORY', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (AndOr OP_AND_IF (= scope= flags=1 words=[{[LIT_CHARS TEST_OUTPUT_DIRECTORY]}] bindings=[]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub neg]]}) (Com {[LIT_CHARS ./] [DQ [VarSub name][LIT_CHARS .sh]]} {[DQ [VarSub @]]} < (FilenameRedirectNode filename={[LIT_CHARS out]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS err]} "> 2), > ) (ElseTrue) (Pipeline! (Com {[LIT_CHARS ./] [DQ [VarSub name][LIT_CHARS .sh]]} {[DQ [VarSub @]]} < (FilenameRedirectNode filename={[LIT_CHARS out]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS err]} "> 2), > ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) (FunctionDef run_sub_test_lib_test [] (Com {[LIT_CHARS _run_sub_test_lib_test_common]} {[SQ ]} {[DQ [VarSub @]]}) ) (FunctionDef run_sub_test_lib_test_err [] (Com {[LIT_CHARS _run_sub_test_lib_test_common]} {[SQ ]} {[DQ [VarSub @]]}) ) (FunctionDef check_sub_test_lib_test [] (List (= scope= flags=0 words=[] bindings=[('name', {[DQ [VarSub 1]]})]) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub name]]}) (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -s]} {[LIT_CHARS err]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ //">]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect]} {[LIT_CHARS out]}) ) ) ) ) ) ) (FunctionDef check_sub_test_lib_test_err [] (List (= scope= flags=0 words=[] bindings=[('name', {[DQ [VarSub 1]]})]) (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [VarSub name]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ //">]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS expect.out]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect.out]} {[LIT_CHARS out]}) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ //">]} {[LIT_CHARS -e]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} 0), (FilenameRedirectNode filename={[LIT_CHARS expect.err]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect.err]} {[LIT_CHARS err]}) ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test full-pass '3 passing tests' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test full-pass <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> # passed all 3 test(s)\n"][LIT_CHARS "\t> 1..3\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail run_sub_test_lib_test "][LIT_CHARS "\t\tpartial-pass '2/3 tests passing' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success 'passing test #1' 'true'\n"][LIT_CHARS "\ttest_expect_success 'failing test #2' 'false'\n"][LIT_CHARS "\ttest_expect_success 'passing test #3' 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test partial-pass <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> not ok 2 - failing test #2\n"][LIT_CHARS "\t#\tfalse\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> # failed 1 among 3 test(s)\n"][LIT_CHARS "\t> 1..3\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test failing-todo 'A failing TODO test' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have a known breakage' 'false'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test failing-todo <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test\n"][LIT_CHARS "\t> not ok 2 - pretend we have a known breakage # TODO known breakage\n"][LIT_CHARS "\t> # still have 1 known breakage(s)\n"][LIT_CHARS "\t> # passed all remaining 1 test(s)\n"][LIT_CHARS "\t> 1..2\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test passing-todo 'A passing TODO test' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have fixed a known breakage' 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test passing-todo <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - pretend we have fixed a known breakage # TODO known breakage vanished\n"][LIT_CHARS "\t> # 1 known breakage(s) vanished; please update test(s)\n"][LIT_CHARS "\t> 1..1\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test partially-passing-todos "][LIT_CHARS "\t\t'2 TODO tests, one passing' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have a known breakage' 'false'\n"][LIT_CHARS "\ttest_expect_success 'pretend we have a passing test' 'true'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have fixed another known breakage' 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test partially-passing-todos <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> not ok 1 - pretend we have a known breakage # TODO known breakage\n"][LIT_CHARS "\t> ok 2 - pretend we have a passing test\n"][LIT_CHARS "\t> ok 3 - pretend we have fixed another known breakage # TODO known breakage vanished\n"][LIT_CHARS "\t> # 1 known breakage(s) vanished; please update test(s)\n"][LIT_CHARS "\t> # still have 1 known breakage(s)\n"][LIT_CHARS "\t> # passed all remaining 1 test(s)\n"][LIT_CHARS "\t> 1..3\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail run_sub_test_lib_test "][LIT_CHARS "\t\tmixed-results1 'mixed results #1' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_success 'failing test' 'false'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have a known breakage' 'false'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test mixed-results1 <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test\n"][LIT_CHARS "\t> not ok 2 - failing test\n"][LIT_CHARS "\t> #\tfalse\n"][LIT_CHARS "\t> not ok 3 - pretend we have a known breakage # TODO known breakage\n"][LIT_CHARS "\t> # still have 1 known breakage(s)\n"][LIT_CHARS "\t> # failed 1 among remaining 2 test(s)\n"][LIT_CHARS "\t> 1..3\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail run_sub_test_lib_test "][LIT_CHARS "\t\tmixed-results2 'mixed results #2' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_success 'passing test' 'true'\n"][LIT_CHARS "\ttest_expect_success 'failing test' 'false'\n"][LIT_CHARS "\ttest_expect_success 'failing test' 'false'\n"][LIT_CHARS "\ttest_expect_success 'failing test' 'false'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have a known breakage' 'false'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have a known breakage' 'false'\n"][LIT_CHARS "\ttest_expect_failure 'pretend we have fixed a known breakage' 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test mixed-results2 <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test\n"][LIT_CHARS "\t> ok 2 - passing test\n"][LIT_CHARS "\t> ok 3 - passing test\n"][LIT_CHARS "\t> ok 4 - passing test\n"][LIT_CHARS "\t> not ok 5 - failing test\n"][LIT_CHARS "\t> #\tfalse\n"][LIT_CHARS "\t> not ok 6 - failing test\n"][LIT_CHARS "\t> #\tfalse\n"][LIT_CHARS "\t> not ok 7 - failing test\n"][LIT_CHARS "\t> #\tfalse\n"][LIT_CHARS "\t> not ok 8 - pretend we have a known breakage # TODO known breakage\n"][LIT_CHARS "\t> not ok 9 - pretend we have a known breakage # TODO known breakage\n"][LIT_CHARS "\t> ok 10 - pretend we have fixed a known breakage # TODO known breakage vanished\n"][LIT_CHARS "\t> # 1 known breakage(s) vanished; please update test(s)\n"][LIT_CHARS "\t> # still have 2 known breakage(s)\n"][LIT_CHARS "\t> # failed 3 among remaining 7 test(s)\n"][LIT_CHARS "\t> 1..10\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test-verbose/out &&\n"> expecting success: true\n"> ok 1 - passing test\n"> Z\n"> expecting success: echo foo\n"> foo\n"> ok 2 - test with output\n"> Z\n"> expecting success: false\n"> not ok 3 - failing test\n"> #\tfalse\n"> Z\n"> # failed 1 among 3 test(s)\n"> 1..3\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ok 1 - passing test\n"> Z\n"> expecting success: echo foo\n"> foo\n"> ok 2 - test with output\n"> Z\n"> not ok 3 - failing test\n"> #\tfalse\n"> # failed 1 among 3 test(s)\n"> 1..3\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t(\n"][LIT_CHARS "\t\tGIT_SKIP_TESTS='git.2' && export GIT_SKIP_TESTS &&\n"][LIT_CHARS "\t\trun_sub_test_lib_test git-skip-tests-basic "][LIT_CHARS "\t\t\t'GIT_SKIP_TESTS' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\t\tfor i in 1 2 3\n"][LIT_CHARS "\t\tdo\n"][LIT_CHARS "\t\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\t\tdone\n"][LIT_CHARS "\t\ttest_done\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t\tcheck_sub_test_lib_test git-skip-tests-basic <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t\t> ok 1 - passing test #1\n"][LIT_CHARS "\t\t> ok 2 # skip passing test #2 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 3 - passing test #3\n"][LIT_CHARS "\t\t> # passed all 3 test(s)\n"][LIT_CHARS "\t\t> 1..3\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t)\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t(\n"][LIT_CHARS "\t\tGIT_SKIP_TESTS='git.2 git.5' && export GIT_SKIP_TESTS &&\n"][LIT_CHARS "\t\trun_sub_test_lib_test git-skip-tests-several "][LIT_CHARS "\t\t\t'GIT_SKIP_TESTS several tests' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\t\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\t\tdo\n"][LIT_CHARS "\t\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\t\tdone\n"][LIT_CHARS "\t\ttest_done\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t\tcheck_sub_test_lib_test git-skip-tests-several <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t\t> ok 1 - passing test #1\n"][LIT_CHARS "\t\t> ok 2 # skip passing test #2 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 3 - passing test #3\n"][LIT_CHARS "\t\t> ok 4 - passing test #4\n"][LIT_CHARS "\t\t> ok 5 # skip passing test #5 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 6 - passing test #6\n"][LIT_CHARS "\t\t> # passed all 6 test(s)\n"][LIT_CHARS "\t\t> 1..6\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t)\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t(\n"][LIT_CHARS "\t\tGIT_SKIP_TESTS='git.[2-5]' && export GIT_SKIP_TESTS &&\n"][LIT_CHARS "\t\trun_sub_test_lib_test git-skip-tests-sh-pattern "][LIT_CHARS "\t\t\t'GIT_SKIP_TESTS sh pattern' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\t\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\t\tdo\n"][LIT_CHARS "\t\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\t\tdone\n"][LIT_CHARS "\t\ttest_done\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t\tcheck_sub_test_lib_test git-skip-tests-sh-pattern <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t\t> ok 1 - passing test #1\n"][LIT_CHARS "\t\t> ok 2 # skip passing test #2 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 3 # skip passing test #3 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 4 # skip passing test #4 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 5 # skip passing test #5 (GIT_SKIP_TESTS)\n"][LIT_CHARS "\t\t> ok 6 - passing test #6\n"][LIT_CHARS "\t\t> # passed all 6 test(s)\n"][LIT_CHARS "\t\t> 1..6\n"][LIT_CHARS "\t\tEOF\n"][LIT_CHARS "\t)\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-basic "][LIT_CHARS "\t\t'--run basic' --run='1 3 5' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-basic <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 # skip passing test #2 (--run)\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-range "][LIT_CHARS "\t\t'--run with a range' --run='1-3' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-range <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 # skip passing test #5 (--run)\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-two-ranges "][LIT_CHARS "\t\t'--run with two ranges' --run='1-2 5-6' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-two-ranges <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 - passing test #6\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-left-open-range "][LIT_CHARS "\t\t'--run with a left open range' --run='-3' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-left-open-range <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 # skip passing test #5 (--run)\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-right-open-range "][LIT_CHARS "\t\t'--run with a right open range' --run='4-' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-right-open-range <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 # skip passing test #1 (--run)\n"][LIT_CHARS "\t> ok 2 # skip passing test #2 (--run)\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 - passing test #6\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-basic-neg "][LIT_CHARS "\t\t'--run with basic negation' --run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-basic-neg <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 - passing test #6\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-two-neg "][LIT_CHARS "\t\t'--run with two negations' --run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-two-neg <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-range-and-neg "][LIT_CHARS "\t\t'--run a range and negation' --run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-range-and-neg <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 # skip passing test #2 (--run)\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 # skip passing test #5 (--run)\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-range-neg "][LIT_CHARS "\t\t'--run range negation' --run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-range-neg <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 # skip passing test #1 (--run)\n"][LIT_CHARS "\t> ok 2 # skip passing test #2 (--run)\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 - passing test #6\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-inc-neg-inc "][LIT_CHARS "\t\t'--run include, exclude and include' "][LIT_CHARS "\t\t--run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-inc-neg-inc <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 # skip passing test #1 (--run)\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-inc-neg-inc-comma "][LIT_CHARS "\t\t'--run include, exclude and include, comma separated' "][LIT_CHARS "\t\t--run=1-5,"][\ LIT_ESCAPED_CHAR "\\!"][LIT_CHARS "1-3,2 <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-inc-neg-inc-comma <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 # skip passing test #1 (--run)\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 - passing test #4\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-neg-inc "][LIT_CHARS "\t\t'--run exclude and include' "][LIT_CHARS "\t\t--run='"]] [SQ ] [DQ [LIT_CHARS "' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-neg-inc <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 - passing test #2\n"][LIT_CHARS "\t> ok 3 # skip passing test #3 (--run)\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test run-empty-sel "][LIT_CHARS "\t\t'--run empty selectors' "][LIT_CHARS "\t\t--run='1,,3,,,5' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\tfor i in 1 2 3 4 5 6\n"][LIT_CHARS "\tdo\n"][LIT_CHARS "\t\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #"][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS i][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\tdone\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test run-empty-sel <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> ok 1 - passing test #1\n"][LIT_CHARS "\t> ok 2 # skip passing test #2 (--run)\n"][LIT_CHARS "\t> ok 3 - passing test #3\n"][LIT_CHARS "\t> ok 4 # skip passing test #4 (--run)\n"][LIT_CHARS "\t> ok 5 - passing test #5\n"][LIT_CHARS "\t> ok 6 # skip passing test #6 (--run)\n"][LIT_CHARS "\t> # passed all 6 test(s)\n"][LIT_CHARS "\t> 1..6\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test_err run-inv-range-start "][LIT_CHARS "\t\t'--run invalid range start' "][LIT_CHARS "\t\t--run='a-5' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #1"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test_err run-inv-range-start "][LIT_CHARS "\t\t<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_OUT 3<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_ERR\n"][LIT_CHARS "\t> FATAL: Unexpected exit with code 1\n"][LIT_CHARS "\tEOF_OUT\n"][LIT_CHARS "\t> error: --run: invalid non-numeric in range start: 'a-5'\n"][LIT_CHARS "\tEOF_ERR\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test_err run-inv-range-end "][LIT_CHARS "\t\t'--run invalid range end' "][LIT_CHARS "\t\t--run='1-z' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #1"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test_err run-inv-range-end "][LIT_CHARS "\t\t<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_OUT 3<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_ERR\n"][LIT_CHARS "\t> FATAL: Unexpected exit with code 1\n"][LIT_CHARS "\tEOF_OUT\n"][LIT_CHARS "\t> error: --run: invalid non-numeric in range end: '1-z'\n"][LIT_CHARS "\tEOF_ERR\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\trun_sub_test_lib_test_err run-inv-selector "][LIT_CHARS "\t\t'--run invalid selector' "][LIT_CHARS "\t\t--run='1?' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "passing test #1"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " 'true'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test_err run-inv-selector "][LIT_CHARS "\t\t<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_OUT 3<<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF_ERR\n"][LIT_CHARS "\t> FATAL: Unexpected exit with code 1\n"][LIT_CHARS "\tEOF_OUT\n"][LIT_CHARS "\t> error: --run: invalid non-numeric in test selector: '1?'\n"][LIT_CHARS "\tEOF_ERR\n"]]}) (Com {[LIT_CHARS test_set_prereq]} {[LIT_CHARS HAVEIT]}) (= scope= flags=0 words=[] bindings=[('haveit', {[LIT_CHARS no]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS HAVEIT]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('donthaveit', {[LIT_CHARS yes]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS DONTHAVEIT]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[VarSub haveit] [VarSub donthaveit]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yesyes]}) (List (Com {[LIT_CHARS say]} {[DQ [LIT_CHARS "bug in test framework: prerequisite tags do not work reliably"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS test_set_prereq]} {[LIT_CHARS HAVETHIS]}) (= scope= flags=0 words=[] bindings=[('haveit', {[LIT_CHARS no]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS HAVETHIS] [LIT_COMMA ","] [LIT_CHARS HAVEIT]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('donthaveit', {[LIT_CHARS yes]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS HAVEIT] [LIT_COMMA ","] [LIT_CHARS DONTHAVEIT]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('donthaveiteither', {[LIT_CHARS yes]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS DONTHAVEIT] [LIT_COMMA ","] [LIT_CHARS HAVEIT]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[VarSub haveit] [VarSub donthaveit] [VarSub donthaveiteither]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yesyesyes]}) (List (Com {[LIT_CHARS say]} {[DQ [LIT_CHARS "bug in test framework: multiple prerequisite tags do not work reliably"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS test_lazy_prereq]} {[LIT_CHARS LAZY_TRUE]} {[LIT_CHARS true]}) (= scope= flags=0 words=[] bindings=[('havetrue', {[LIT_CHARS no]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS LAZY_TRUE]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('donthavetrue', {[LIT_CHARS yes]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_OTHER "!"] [LIT_CHARS LAZY_TRUE]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[DQ [VarSub havetrue][VarSub donthavetrue]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yesyes]}) (List (Com {[LIT_CHARS say]} {[SQ ]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS test_lazy_prereq]} {[LIT_CHARS LAZY_FALSE]} {[LIT_CHARS false]}) (= scope= flags=0 words=[] bindings=[('nothavefalse', {[LIT_CHARS no]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_OTHER "!"] [LIT_CHARS LAZY_FALSE]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('havefalse', {[LIT_CHARS yes]})]) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS LAZY_FALSE]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[DQ [VarSub nothavefalse][VarSub havefalse]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yesyes]}) (List (Com {[LIT_CHARS say]} {[SQ ]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('clean', {[LIT_CHARS no]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (If (Com {[LIT_CHARS test]} {[VarSub clean]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yes]}) (List (Com {[LIT_CHARS say]} {[DQ [LIT_CHARS "bug in test framework: basic cleanup command does not work reliably"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\ttest_must_fail run_sub_test_lib_test "][LIT_CHARS "\t\tfailing-cleanup 'Failing tests with cleanup commands' <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF &&\n"][LIT_CHARS "\ttest_expect_success 'tests clean up even after a failure' '\n"][LIT_CHARS "\t\ttouch clean-after-failure &&\n"][LIT_CHARS "\t\ttest_when_finished rm clean-after-failure &&\n"][LIT_CHARS "\t\t(exit 1)\n"][LIT_CHARS "\t'\n"][LIT_CHARS "\ttest_expect_success 'failure to clean up causes the test to fail' '\n"][LIT_CHARS "\t\ttest_when_finished "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "(exit 2)"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "\n"][LIT_CHARS "\t'\n"][LIT_CHARS "\ttest_done\n"][LIT_CHARS "\tEOF\n"][LIT_CHARS "\tcheck_sub_test_lib_test failing-cleanup <<-"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "EOF\n"][LIT_CHARS "\t> not ok 1 - tests clean up even after a failure\n"][LIT_CHARS "\t> #\tZ\n"][LIT_CHARS "\t> #\ttouch clean-after-failure &&\n"][LIT_CHARS "\t> #\ttest_when_finished rm clean-after-failure &&\n"][LIT_CHARS "\t> #\t(exit 1)\n"][LIT_CHARS "\t> #\tZ\n"][LIT_CHARS "\t> not ok 2 - failure to clean up causes the test to fail\n"][LIT_CHARS "\t> #\tZ\n"][LIT_CHARS "\t> #\ttest_when_finished "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "(exit 2)"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "\n"][LIT_CHARS "\t> #\tZ\n"][LIT_CHARS "\t> # failed 2 among 2 test(s)\n"][LIT_CHARS "\t> 1..2\n"][LIT_CHARS "\tEOF\n"]]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ $p || exit 1\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ current\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ current\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ current\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ current\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ badobjects <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<\\EOF &&\n"> current &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ current &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('P', {[LIT_CHARS 087704a96baf1c2d1c869a8b084481e121c88b5b]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ path4 &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )