(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: {(SQ <"overly long paths">)} spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(setup)} { (SQ <"\n"> <"\tp=filefilefilefilefilefilefilefile &&\n"> <"\tp=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&\n"> <"\tp=$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p$p &&\n"> <"\n"> <"\tpath_a=${p}_a &&\n"> <"\tpath_z=${p}_z &&\n"> <"\n"> <"\tblob_a=$(echo frotz | git hash-object -w --stdin) &&\n"> <"\tblob_z=$(echo nitfol | git hash-object -w --stdin) &&\n"> <"\n"> <"\tpat=\"100644 %s 0\\t%s\\n\"\n"> ) } ) (C {(test_expect_success)} {(SQ <"overly-long path by itself is not a problem">)} { (SQ <"\n"> <"\tprintf \"$pat\" \"$blob_a\" \"$path_a\" |\n"> <"\tgit update-index --add --index-info &&\n"> <"\techo \"$path_a\" >expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"overly-long path does not replace another by mistake">)} { (SQ <"\n"> <"\tprintf \"$pat\" \"$blob_a\" \"$path_a\" \"$blob_z\" \"$path_z\" |\n"> <"\tgit update-index --add --index-info &&\n"> <"\t(\n"> <"\t\techo \"$path_a\"\n"> <"\t\techo \"$path_z\"\n"> <"\t) >expect &&\n"> <"\tgit ls-files >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_done)}) ] )