(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef norm_path [] (List (= scope= flags=0 words=[] bindings=[('expected', {[ComSub (Com {[LIT_CHARS test-path-utils]} {[LIT_CHARS print_path]} {[DQ [VarSub 2]]})]})]) (Com {[LIT_CHARS test_expect_success]} {[VarSub 3]} {[DQ [LIT_CHARS "normalize path: "][VarSub 1][LIT_CHARS " => "][VarSub 2]]} {[DQ [LIT_CHARS "test "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(test-path-utils normalize_path_copy '"][VarSub 1][LIT_CHARS "')"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " = '"][VarSub expected][LIT_CHARS "'"]]}) ) ) (FunctionDef relative_path [] (List (= scope= flags=0 words=[] bindings=[('expected', {[ComSub (Com {[LIT_CHARS test-path-utils]} {[LIT_CHARS print_path]} {[DQ [VarSub 3]]})]})]) (Com {[LIT_CHARS test_expect_success]} {[VarSub 4]} {[DQ [LIT_CHARS "relative path: "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " => "][VarSub 3]]} {[DQ [LIT_CHARS "test "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(test-path-utils relative_path '"][VarSub 1][LIT_CHARS "' '"][VarSub 2][LIT_CHARS "')"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " = '"][VarSub expected][LIT_CHARS "'"]]}) ) ) (FunctionDef test_submodule_relative_url [] (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "test_submodule_relative_url: "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " "][VarSub 3][LIT_CHARS " => "][VarSub 4]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tactual="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(git submodule--helper resolve-relative-url-test '"][VarSub 1][LIT_CHARS "' '"][VarSub 2][LIT_CHARS "' '"][VarSub 3][LIT_CHARS "') &&\n"][LIT_CHARS "\t\ttest "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS actual][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " = '"][VarSub 4][LIT_CHARS "'\n"][LIT_CHARS "\t"]]}) ) (FunctionDef test_git_path [] (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "git-path "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " => "][VarSub 3]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\t"][VarSub 1][LIT_CHARS " git rev-parse --git-path "][VarSub 2][LIT_CHARS " >actual &&\n"][LIT_CHARS "\t\techo "][VarSub 3][LIT_CHARS " >expect &&\n"][LIT_CHARS "\t\ttest_cmp expect actual\n"][LIT_CHARS "\t"]]}) ) (= scope= flags=0 words=[] bindings=[('rootoff', {[ComSub (Pipeline (Com {[LIT_CHARS test-path-utils]} {[LIT_CHARS normalize_path_copy]} {[LIT_CHARS /]}) (Com {[LIT_CHARS wc]} {[LIT_CHARS -c]}) )]})]) (If (Com {[LIT_CHARS test]} {[VarSub rootoff]} {[LIT_OTHER "="]} {[LIT_CHARS 2]}) (= scope= flags=0 words=[] bindings=[('rootoff', {[SQ ]})]) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('rootoff', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub rootoff]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS test-path-utils]} {[LIT_CHARS print_path]} {[LIT_CHARS /]})]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS /]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('rootslash', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('rootslash', {[LIT_CHARS 0]})]) ) ) ) (FunctionDef ancestor [] (List (= scope= flags=0 words=[] bindings=[('expected', {[VarSub 3]})]) (If (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub rootoff]]}) (Com {[LIT_CHARS test]} {[DQ [LIT_CHARS x][VarSub expected]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x-1]}) ) (List (= scope= flags=0 words=[] bindings=[('expected', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub expected]}} {A Atom NODE_ARITH_WORD {[VarSub rootslash]}}}]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[VarSub expected]} {[LIT_CHARS -lt]} {[LIT_CHARS 0]}) (= scope= flags=0 words=[] bindings=[('expected', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub expected]}} {A Atom NODE_ARITH_WORD {[VarSub rootoff]}}}]})]) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "longest ancestor: "][VarSub 1][LIT_CHARS " "][VarSub 2][LIT_CHARS " => "][VarSub expected]]} {[DQ [LIT_CHARS "actual="][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "(test-path-utils longest_ancestor_length '"][VarSub 1][LIT_CHARS "' '"][VarSub 2][LIT_CHARS "') &&\n"][LIT_CHARS "\t test "][\ LIT_ESCAPED_CHAR "\\\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS actual][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " = '"][VarSub expected][LIT_CHARS "'"]]}) ) ) (Case to_match={[ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS MINGW] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS test_set_prereq]} {[LIT_CHARS POSIX]}) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS basename]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS dirname]} {[SQ ]}) (Com {[LIT_CHARS norm_path]} {[DQ ]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS .]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ./]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ./.]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ./..]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ../.]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ./.././/]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/..]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/sub/../..]} {[DQ ]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/sub/../../..]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir]} {[LIT_CHARS dir]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir//]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ./dir]} {[LIT_CHARS dir]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/.]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir///./]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir//sub/..]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/sub/../]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/sub/../.]} {[LIT_CHARS dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS dir/s1/../s2/]} {[LIT_CHARS dir/s2/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS d1/s1///s2/..//../s3/]} {[LIT_CHARS d1/s3/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS d1/s1//../s2/../../d2]} {[LIT_CHARS d2]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS d1/.../d2]} {[LIT_CHARS d1/.../d2]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS d1/..././../d2]} {[LIT_CHARS d1/d2]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /]} {[LIT_CHARS /]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS //]} {[LIT_CHARS /]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS ///]} {[LIT_CHARS /]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /.]} {[LIT_CHARS /]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /./]} {[LIT_CHARS /]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /./..]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /../.]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /./.././/]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/..]} {[LIT_CHARS /]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/sub/../..]} {[LIT_CHARS /]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/sub/../../..]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS failed] [LIT_OTHER "+"] [LIT_OTHER "+"]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir]} {[LIT_CHARS /dir]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir//]} {[LIT_CHARS /dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /./dir]} {[LIT_CHARS /dir]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/.]} {[LIT_CHARS /dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir///./]} {[LIT_CHARS /dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir//sub/..]} {[LIT_CHARS /dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/sub/../]} {[LIT_CHARS /dir/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS //dir/sub/../.]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/s1/../s2/]} {[LIT_CHARS /dir/s2/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/s1///s2/..//../s3/]} {[LIT_CHARS /d1/s3/]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/s1//../s2/../../d2]} {[LIT_CHARS /d2]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/.../d2]} {[LIT_CHARS /d1/.../d2]}) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/..././../d2]} {[LIT_CHARS /d1/d2]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /]} {[LIT_CHARS /]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /fo]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /foo]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /bar]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /bar] [LIT_OTHER ":"] [LIT_CHARS /foo]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /fo]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo/ba]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /fo]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /foo/ba]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /bar]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /fo]} {[LIT_CHARS -1]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /bar] [LIT_OTHER ":"] [LIT_CHARS /fo]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [LIT_CHARS /bar]} {[LIT_CHARS 4]}) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /bar]} {[LIT_CHARS -1]}) (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]} {[LIT_CHARS POSIX]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS POSIX]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b/c/]} {[LIT_CHARS /foo/a/b/]} {[LIT_CHARS c/]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b/c/]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS c/]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a//b//c/]} {[LIT_CHARS ///foo/a/b//]} {[LIT_CHARS c/]} {[LIT_CHARS POSIX]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b/]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ../]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /]} {[LIT_CHARS /foo/a/b/]} {[LIT_CHARS ../../../]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/c]} {[LIT_CHARS /foo/a/b/]} {[LIT_CHARS ../c]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/c]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ../c]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/x/y]} {[LIT_CHARS /foo/a/b/]} {[LIT_CHARS ../../x/y]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS /foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS /foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b/c/]} {[LIT_CHARS foo/a/b/]} {[LIT_CHARS c/]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b/c/]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS c/]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b//c]} {[LIT_CHARS foo/a//b]} {[LIT_CHARS c]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b/]} {[LIT_CHARS foo/a/b/]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b/]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS ../]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/x/y]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS ../../x/y]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/c]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS ../c]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b]} {[LIT_CHARS /foo/x/y]} {[LIT_CHARS foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS foo/x/y]} {[LIT_CHARS /foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS d] [LIT_OTHER ":"] [LIT_CHARS /a/b]} {[LIT_CHARS D] [LIT_OTHER ":"] [LIT_CHARS /a/c]} {[LIT_CHARS ../b]} {[LIT_CHARS MINGW]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS C] [LIT_OTHER ":"] [LIT_CHARS /a/b]} {[LIT_CHARS D] [LIT_OTHER ":"] [LIT_CHARS /a/c]} {[LIT_CHARS C] [LIT_OTHER ":"] [LIT_CHARS /a/b]} {[LIT_CHARS MINGW]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[LIT_CHARS foo/a/b]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS foo/a/b]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS relative_path]} {[DQ [LIT_CHARS ""]]} {[LIT_CHARS /foo/a/b]} {[LIT_CHARS ./]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "A="] [LIT_CHARS B] =} {[LIT_CHARS info/grafts]} {[LIT_CHARS .git/info/grafts]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_GRAFT_FILE="] [LIT_CHARS foo] =} {[LIT_CHARS info/grafts]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_GRAFT_FILE="] [LIT_CHARS foo] =} {[LIT_CHARS info/////grafts]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_INDEX_FILE="] [LIT_CHARS foo] =} {[LIT_CHARS index]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_INDEX_FILE="] [LIT_CHARS foo] =} {[LIT_CHARS index/foo]} {[LIT_CHARS .git/index/foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_INDEX_FILE="] [LIT_CHARS foo] =} {[LIT_CHARS index2]} {[LIT_CHARS .git/index2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_OBJECT_DIRECTORY="] [LIT_CHARS foo] =} {[LIT_CHARS objects]} {[LIT_CHARS foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_OBJECT_DIRECTORY="] [LIT_CHARS foo] =} {[LIT_CHARS objects/foo]} {[LIT_CHARS foo/foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_OBJECT_DIRECTORY="] [LIT_CHARS foo] =} {[LIT_CHARS objects2]} {[LIT_CHARS .git/objects2]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS index]} {[LIT_CHARS .git/index]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS HEAD]} {[LIT_CHARS .git/HEAD]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/HEAD]} {[LIT_CHARS .git/logs/HEAD]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/refs/bisect/foo]} {[LIT_CHARS .git/logs/refs/bisect/foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/refs/bisec/foo]} {[LIT_CHARS bar/logs/refs/bisec/foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/refs/bisec]} {[LIT_CHARS bar/logs/refs/bisec]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/refs/bisectfoo]} {[LIT_CHARS bar/logs/refs/bisectfoo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS objects]} {[LIT_CHARS bar/objects]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS objects/bar]} {[LIT_CHARS bar/objects/bar]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS info/exclude]} {[LIT_CHARS bar/info/exclude]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS info/grafts]} {[LIT_CHARS bar/info/grafts]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS info/sparse-checkout]} {[LIT_CHARS .git/info/sparse-checkout]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS info//sparse-checkout]} {[LIT_CHARS .git/info//sparse-checkout]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS remotes/bar]} {[LIT_CHARS bar/remotes/bar]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS branches/bar]} {[LIT_CHARS bar/branches/bar]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS logs/refs/heads/master]} {[LIT_CHARS bar/logs/refs/heads/master]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS refs/heads/master]} {[LIT_CHARS bar/refs/heads/master]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS refs/bisect/foo]} {[LIT_CHARS .git/refs/bisect/foo]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS hooks/me]} {[LIT_CHARS bar/hooks/me]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS config]} {[LIT_CHARS bar/config]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS packed-refs]} {[LIT_CHARS bar/packed-refs]}) (Com {[LIT_CHARS test_git_path]} {[LIT_VAR_LIKE "GIT_COMMON_DIR="] [LIT_CHARS bar] =} {[LIT_CHARS shallow]} {[LIT_CHARS bar/shallow]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS ../foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../../submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS ../foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS ../foo/submodule]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS ./foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS ./foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../../../]]} {[DQ [LIT_CHARS ../foo/bar]]} {[DQ [LIT_CHARS ../sub/a/b/c]]} {[DQ [LIT_CHARS ../../../../foo/sub/a/b/c]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /addtest]]} {[DQ [LIT_CHARS ../repo]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /repo]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS ../]]} {[DQ [LIT_CHARS foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo/bar]]} {[DQ [LIT_CHARS ../sub/a/b/c]]} {[DQ [LIT_CHARS ../foo/sub/a/b/c]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo/bar]]} {[DQ [LIT_CHARS ../sub/a/b/c/]]} {[DQ [LIT_CHARS ../foo/sub/a/b/c]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo/bar/]]} {[DQ [LIT_CHARS ../sub/a/b/c]]} {[DQ [LIT_CHARS ../foo/sub/a/b/c]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo/submodule]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ../foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS ../submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ./foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS ./foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "//somewhere else/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "//somewhere else/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /subsuper_update_r]]} {[DQ [LIT_CHARS ../subsubsuper_update_r]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /subsubsuper_update_r]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /super_update_r2]]} {[DQ [LIT_CHARS ../subsuper_update_r]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /subsuper_update_r]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /.]]} {[DQ [LIT_CHARS ../.]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /.]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})]]} {[DQ [LIT_CHARS ./.]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /.]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /addtest]]} {[DQ [LIT_CHARS ../repo]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /repo]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})]]} {[DQ [LIT_CHARS "./\u00e5 \u00e4\u00f6"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS "/\u00e5 \u00e4\u00f6"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /.]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /submodule]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /home2/../remote]]} {[DQ [LIT_CHARS ../bundle1]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /home2/../bundle1]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /submodule_update_repo]]} {[DQ [LIT_CHARS ./.]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /submodule_update_repo/.]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "file:///tmp/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "file:///tmp/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS foo/bar]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS foo/submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS foo]]} {[DQ [LIT_CHARS ../submodule]]} {[DQ [LIT_CHARS submodule]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "helper:://hostname/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "helper:://hostname/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "ssh://hostname/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "ssh://hostname/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "ssh://hostname:22/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "ssh://hostname:22/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "user@host:path/to/repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "user@host:path/to/subrepo"]]}) (Com {[LIT_CHARS test_submodule_relative_url]} {[DQ [LIT_CHARS "(null)"]]} {[DQ [LIT_CHARS "user@host:repo"]]} {[DQ [LIT_CHARS ../subrepo]]} {[DQ [LIT_CHARS "user@host:subrepo"]]}) (Com {[LIT_CHARS test_done]}) )