(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef norm_path [] (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 2][LIT_CHARS "'"]]} ) ) (= 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_DBRACKET_LIKE "="]} {[LIT_CHARS 2]} ) (= scope= flags=0 words=[] bindings=[('rootoff', {[SQ ]})]) (ElseTrue) (= 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]}}}]})]) ) (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_NEQUAL "!="]} {[LIT_CHARS x-1]} ) ) (= 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 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 /]} {[LIT_CHARS POSIX]} ) (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 /]} {[LIT_CHARS POSIX]} ) (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 "+"]} {[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 /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]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir//]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /./dir]} {[LIT_CHARS /dir]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/.]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir///./]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir//sub/..]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /dir/sub/../]} {[LIT_CHARS /dir/]} {[LIT_CHARS POSIX]} ) (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/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/s1///s2/..//../s3/]} {[LIT_CHARS /d1/s3/]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/s1//../s2/../../d2]} {[LIT_CHARS /d2]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/.../d2]} {[LIT_CHARS /d1/.../d2]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS norm_path]} {[LIT_CHARS /d1/..././../d2]} {[LIT_CHARS /d1/d2]} {[LIT_CHARS POSIX]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /]} {[DQ ]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /]} {[LIT_CHARS /]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[DQ ]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_OTHER ":"]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS .]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ..] [LIT_OTHER ":"] [LIT_OTHER ":"]} {[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 /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 /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 /foo/] [LIT_OTHER ":"] [LIT_CHARS /bar/]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo]} {[LIT_CHARS /foo] [LIT_OTHER ":"] [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]} {[DQ ]} {[LIT_CHARS -1]} ) (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 -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/]} {[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 /bar/]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS /fo] [LIT_OTHER ":"]} {[LIT_CHARS -1]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_OTHER ":"] [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 .] [LIT_OTHER ":"] [LIT_CHARS /foo/.]} {[LIT_CHARS 4]} ) (Com {[LIT_CHARS ancestor]} {[LIT_CHARS /foo/bar]} {[LIT_CHARS .] [LIT_OTHER ":"] [LIT_CHARS /foo/.] [LIT_OTHER ":"] [LIT_CHARS .] [LIT_OTHER ":"]} {[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_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_done]} ) )