(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ rename) rename\n"> ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef get_expected_stages [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS rename]} {[LIT_CHARS --]} {[VarSub 1] [LIT_CHARS -new]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --stage]} {[VarSub 1] [LIT_CHARS -new]} < (FilenameRedirectNode filename={[LIT_CHARS expected-stages-undetected-] [VarSub 1]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[DQ [LIT_CHARS "s/ 0\t/ 2\t/"]]} < (FilenameRedirectNode filename={[LIT_CHARS expected-stages-undetected-] [VarSub 1]} 0), (FilenameRedirectNode filename={[LIT_CHARS expected-stages-detected-] [VarSub 1]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS -u]} {[LIT_CHARS --reset]} {[LIT_CHARS HEAD]}) ) ) ) ) (FunctionDef rename_detected [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --stage]} {[VarSub 1] [LIT_CHARS -old]} {[VarSub 1] [LIT_CHARS -new]} < (FilenameRedirectNode filename={[LIT_CHARS stages-actual-] [VarSub 1]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected-stages-detected-] [VarSub 1]} {[LIT_CHARS stages-actual-] [VarSub 1]}) ) ) (FunctionDef rename_undetected [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --stage]} {[VarSub 1] [LIT_CHARS -old]} {[VarSub 1] [LIT_CHARS -new]} < (FilenameRedirectNode filename={[LIT_CHARS stages-actual-] [VarSub 1]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected-stages-undetected-] [VarSub 1]} {[LIT_CHARS stages-actual-] [VarSub 1]}) ) ) (FunctionDef check_common [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --stage]} < (FilenameRedirectNode filename={[LIT_CHARS stages-actual]} "> 1), > ) (Com {[LIT_CHARS test_line_count]} {[LIT_OTHER "="]} {[LIT_CHARS 4]} {[LIT_CHARS stages-actual]}) ) ) (FunctionDef check_threshold_0 [] (AndOr OP_AND_IF (Com {[LIT_CHARS check_common]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 1]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 3]}) ) ) ) ) ) (FunctionDef check_threshold_1 [] (AndOr OP_AND_IF (Com {[LIT_CHARS check_common]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 1]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 3]}) ) ) ) ) ) (FunctionDef check_threshold_2 [] (AndOr OP_AND_IF (Com {[LIT_CHARS check_common]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 1]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 3]}) ) ) ) ) ) (FunctionDef check_exact_renames [] (AndOr OP_AND_IF (Com {[LIT_CHARS check_common]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 1]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS rename_detected]} {[LIT_CHARS 3]}) ) ) ) ) ) (FunctionDef check_no_renames [] (AndOr OP_AND_IF (Com {[LIT_CHARS check_common]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 1]}) (AndOr OP_AND_IF (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS rename_undetected]} {[LIT_CHARS 3]}) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ 3-old &&\n"> 2-old &&\n"> 1-old &&\n"> 0-old &&\n"> 2-new &&\n"> 1-new &&\n"> 0-new &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ diff-output &&\n"> grep-output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ diff-output-0 &&\n"> diff-output-1 &&\n"> diff-output-2 &&\n"> diff-output-3 &&\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 --find-renames=">]} {[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 is a synonym for find-renames=">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ --no-renames">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ rejects negative argument">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ rejects non-numbers">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ --find-renames=">]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ --rename-threshold=">]} {[SQ ]}) (Com {[LIT_CHARS test_done]}) )