(List (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('test_description', {[SQ <LIT_CHARS "overly long paths">]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tp=filefilefilefilefilefilefilefile &&\n"> <LIT_CHARS "\tp=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&\n"> <LIT_CHARS "\tp=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&\n"> <LIT_CHARS "\n"> <LIT_CHARS "\tpath_a=${p}_a &&\n"> <LIT_CHARS "\tpath_z=${p}_z &&\n"> <LIT_CHARS "\n"> <LIT_CHARS "\tblob_a=$(echo frotz | git hash-object -w --stdin) &&\n"> <LIT_CHARS "\tblob_z=$(echo nitfol | git hash-object -w --stdin) &&\n"> <LIT_CHARS "\n"> <LIT_CHARS "\tpat=\"100644 %s 0\\t%s\\n\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "overly-long path by itself is not a problem">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tprintf \"$pat\" \"$blob_a\" \"$path_a\" |\n"> <LIT_CHARS "\tgit update-index --add --index-info &&\n"> <LIT_CHARS "\techo \"$path_a\" >expect &&\n"> <LIT_CHARS "\tgit ls-files >actual &&\n"> <LIT_CHARS "\ttest_cmp expect actual\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "overly-long path does not replace another by mistake">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tprintf \"$pat\" \"$blob_a\" \"$path_a\" \"$blob_z\" \"$path_z\" |\n"> <LIT_CHARS "\tgit update-index --add --index-info &&\n"> <LIT_CHARS "\t(\n"> <LIT_CHARS "\t\techo \"$path_a\"\n"> <LIT_CHARS "\t\techo \"$path_z\"\n"> <LIT_CHARS "\t) >expect &&\n"> <LIT_CHARS "\tgit ls-files >actual &&\n"> <LIT_CHARS "\ttest_cmp expect actual\n">]} ) (Com {[LIT_CHARS test_done]} ) )