(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_description) op: assign_op.Equal rhs: { (SQ (Token id:Id.Lit_Chars val:'test parsing of svndiff0 files\n' span_id:6) (Token id:Id.Lit_Chars val:'\n' span_id:7) (Token id: Id.Lit_Chars val: 'Using the "test-svn-fe -d" helper, check that svn-fe correctly\n' span_id: 8 ) (Token id: Id.Lit_Chars val: 'interprets deltas using various facilities (some from the spec,\n' span_id: 9 ) (Token id:Id.Lit_Chars val:'some only learned from practice).\n' span_id:10) ) } spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.Simple redirects: [ (redir.Redir op:(Token id:Id.Redir_Great val:'>' span_id:18) fd:-1 arg_word:{(empty)}) ] ) (command.Simple words: [{(printf)} {(foo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:25) fd: -1 arg_word: {(preimage)} ) ] ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject empty delta' span_id:32))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:36) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage empty 0\n' span_id: 37 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'delta can empty file' span_id:44))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:48) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ" | q_to_nul >clear.delta &&\n' span_id: 49 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.delta 4 >actual &&\n' span_id:50) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:51) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject svndiff2' span_id:58))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:62) (Token id:Id.Lit_Chars val:'\tprintf "SVN\\002" >bad.filetype &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\ttest_must_fail test-svn-fe -d preimage bad.filetype 4\n' span_id:64) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'one-window empty delta' span_id:71))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:75) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%s" "QQQQQ" | q_to_nul >clear.onewindow &&\n' span_id: 76 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.onewindow 9 >actual &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:78) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject incomplete window header' span_id:85))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:89) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%s" "QQQQQ" | q_to_nul >clear.onewindow &&\n' span_id: 90 ) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%s" "QQ" | q_to_nul >clear.partialwindow &&\n' span_id:91) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.onewindow 6 &&\n' span_id: 92 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.partialwindow 6\n' span_id: 93 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject declared delta longer than actual delta' span_id:100))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:104) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%s" "QQQQQ" | q_to_nul >clear.onewindow &&\n' span_id: 105 ) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%s" "QQ" | q_to_nul >clear.partialwindow &&\n' span_id:106) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.onewindow 14 &&\n' span_id: 107 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.partialwindow 9\n' span_id: 108 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'two-window empty delta' span_id:115))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:119) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%s%s" "QQQQQ" "QQQQQ" | q_to_nul >clear.twowindow &&\n' span_id: 120 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.twowindow 14 >actual &&\n' span_id:121) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.twowindow 13 &&\n' span_id: 122 ) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:123) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'noisy zeroes' span_id:130))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:134) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%s" \\\n' span_id:135) (Token id: Id.Lit_Chars val: '\t\t"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQQ" |\n' span_id: 136 ) (Token id:Id.Lit_Chars val:'\t\ttr R "\\200" |\n' span_id:137) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.noisy &&\n' span_id:138) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <clear.noisy) &&\n' span_id:139) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage clear.noisy $len &&\n' span_id: 140 ) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:141) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject variable-length int in magic' span_id:148))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:152) (Token id: Id.Lit_Chars val: '\tprintf "SVNRQ" | tr R "\\200" | q_to_nul >clear.badmagic &&\n' span_id: 153 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail test-svn-fe -d preimage clear.badmagic 5\n' span_id:154) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject truncated integer' span_id:161))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:165) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%s%s" "QQQQQ" "QQQQRRQ" |\n' span_id: 166 ) (Token id:Id.Lit_Chars val:'\t\ttr R "\\200" |\n' span_id:167) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.fullint &&\n' span_id:168) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%s%s" "QQQQQ" "QQQQRR" |\n' span_id:169) (Token id:Id.Lit_Chars val:'\t\ttr RT "\\201" |\n' span_id:170) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.partialint &&\n' span_id:171) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.fullint 15 &&\n' span_id: 172 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.fullint 16 &&\n' span_id:173) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.partialint 15\n' span_id: 174 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'nonempty (but unused) preimage view' span_id:181))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:185) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b" "Q\\003QQQ" | q_to_nul >clear.readpreimage &&\n' span_id: 186 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.readpreimage 9 >actual &&\n' span_id:187) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:188) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'preimage view: right endpoint cannot backtrack' span_id:195))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:199) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "Q\\003QQQ" "Q\\002QQQ" |\n' span_id: 200 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.backtrack &&\n' span_id:201) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.backtrack 14\n' span_id: 202 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'preimage view: left endpoint can advance' span_id:209))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:213) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "Q\\003QQQ" "\\001\\002QQQ" |\n' span_id: 214 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.preshrink &&\n' span_id:215) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "Q\\003QQQ" "\\001\\001QQQ" |\n' span_id: 216 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.shrinkbacktrack &&\n' span_id:217) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage clear.preshrink 14 >actual &&\n' span_id: 218 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.shrinkbacktrack 14 &&\n' span_id: 219 ) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:220) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'preimage view: offsets compared by value' span_id:227))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:231) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "\\001\\001QQQ" "\\0200Q\\003QQQ" |\n' span_id: 232 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.noisybacktrack &&\n' span_id:233) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "\\001\\001QQQ" "\\0200\\001\\002QQQ" |\n' span_id: 234 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >clear.noisyadvance &&\n' span_id:235) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.noisybacktrack 15 &&\n' span_id: 236 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage clear.noisyadvance 15 &&\n' span_id:237) (Token id:Id.Lit_Chars val:'\ttest_cmp empty actual\n' span_id:238) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'preimage view: reject truncated preimage' span_id:245))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:249) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b" "\\010QQQQ" | q_to_nul >clear.lateemptyread &&\n' span_id: 250 ) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b" "\\010\\001QQQ" | q_to_nul >clear.latenonemptyread &&\n' span_id: 251 ) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b" "\\001\\010QQQ" | q_to_nul >clear.longread &&\n' span_id: 252 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.lateemptyread 9 &&\n' span_id: 253 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage clear.latenonemptyread 9 &&\n' span_id: 254 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail test-svn-fe -d preimage clear.longread 9\n' span_id:255) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'forbid unconsumed inline data' span_id:262))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:266) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%s%b%s" "QQQQ\\003" "bar" "QQQQ\\001" "x" |\n' span_id: 267 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >inline.clear &&\n' span_id:268) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage inline.clear 18 >actual\n' span_id: 269 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'reject truncated inline data' span_id:276))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:280) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%s" "QQQQ\\003" "b" | q_to_nul >inline.trunc &&\n' span_id: 281 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail test-svn-fe -d preimage inline.trunc 10\n' span_id:282) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'reject truncated inline data (after instruction section)' span_id: 289 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:293) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "QQ\\001\\001\\003" "\\0201" "b" | q_to_nul >insn.trunc &&\n' span_id: 294 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail test-svn-fe -d preimage insn.trunc 11\n' span_id:295) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:copyfrom_data span_id:302))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:306) (Token id:Id.Lit_Chars val:'\techo hi >expect &&\n' span_id:307) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%b" "QQ\\003\\001\\003" "\\0203" "hi\\n" | q_to_nul >copydat &&\n' span_id: 308 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage copydat 13 >actual &&\n' span_id:309) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:310) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'multiple copyfrom_data' span_id:317))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:321) (Token id:Id.Lit_Chars val:'\techo hi >expect &&\n' span_id:322) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%b%b%b" "QQ\\003\\002\\003" "\\0201\\0202" "hi\\n" \\\n' span_id: 323 ) (Token id:Id.Lit_Chars val:'\t\t"QQQ\\002Q" "\\0200Q" | q_to_nul >copy.multi &&\n' span_id:324) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copy.multi) &&\n' span_id:325) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage copy.multi $len >actual &&\n' span_id:326) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:327) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'incomplete multiple insn' span_id:334))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:338) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%b" "QQ\\003\\002\\003" "\\0203\\0200" "hi\\n" |\n' span_id: 339 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copy.partial &&\n' span_id:340) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copy.partial) &&\n' span_id:341) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage copy.partial $len\n' span_id: 342 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'catch attempt to copy missing data' span_id:349))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:353) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s%b%s" "QQ\\002\\002\\001" "\\0201\\0201" "X" \\\n' span_id: 354 ) (Token id:Id.Lit_Chars val:'\t\t\t"QQQQ\\002" "YZ" |\n' span_id:355) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copy.incomplete &&\n' span_id:356) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copy.incomplete) &&\n' span_id:357) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage copy.incomplete $len\n' span_id: 358 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'copyfrom target to repeat data' span_id:365))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:369) (Token id:Id.Lit_Chars val:'\tprintf foofoo >expect &&\n' span_id:370) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "QQ\\006\\004\\003" "\\0203\\0100\\003Q" "foo" |\n' span_id: 371 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copytarget.repeat &&\n' span_id:372) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copytarget.repeat) &&\n' span_id:373) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage copytarget.repeat $len >actual &&\n' span_id: 374 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:375) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'copyfrom target out of order' span_id:382))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:386) (Token id:Id.Lit_Chars val:'\tprintf foooof >expect &&\n' span_id:387) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%b%b%s" \\\n' span_id:388) (Token id: Id.Lit_Chars val: '\t\t"QQ\\006\\007\\003" "\\0203\\0101\\002\\0101\\001\\0101Q" "foo" |\n' span_id: 389 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copytarget.reverse &&\n' span_id:390) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copytarget.reverse) &&\n' span_id:391) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage copytarget.reverse $len >actual &&\n' span_id: 392 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:393) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'catch copyfrom future' span_id:400))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:404) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "QQ\\004\\004\\003" "\\0202\\0101\\002\\0201" "XYZ" |\n' span_id: 405 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copytarget.infuture &&\n' span_id:406) (Token id: Id.Lit_Chars val: '\tlen=$(wc -c <copytarget.infuture) &&\n' span_id: 407 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage copytarget.infuture $len\n' span_id: 408 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'copy to sustain' span_id:415))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:419) (Token id:Id.Lit_Chars val:'\tprintf XYXYXYXYXYXZ >expect &&\n' span_id:420) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "QQ\\014\\004\\003" "\\0202\\0111Q\\0201" "XYZ" |\n' span_id: 421 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copytarget.sustain &&\n' span_id:422) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <copytarget.sustain) &&\n' span_id:423) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage copytarget.sustain $len >actual &&\n' span_id: 424 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:425) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'catch copy that overflows' span_id:432))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:436) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "QQ\\003\\003\\001" "\\0201\\0177Q" X |\n' span_id: 437 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copytarget.overflow &&\n' span_id:438) (Token id: Id.Lit_Chars val: '\tlen=$(wc -c <copytarget.overflow) &&\n' span_id: 439 ) (Token id: Id.Lit_Chars val: '\ttest_must_fail test-svn-fe -d preimage copytarget.overflow $len\n' span_id: 440 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'copyfrom source' span_id:447))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:451) (Token id:Id.Lit_Chars val:'\tprintf foo >expect &&\n' span_id:452) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "Q\\003\\003\\002Q" "\\003Q" | q_to_nul >copysource.all &&\n' span_id: 453 ) (Token id:Id.Lit_Chars val:'\ttest-svn-fe -d preimage copysource.all 11 >actual &&\n' span_id:454) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:455) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'copy backwards' span_id:462))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:466) (Token id:Id.Lit_Chars val:'\tprintf oof >expect &&\n' span_id:467) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b" "Q\\003\\003\\006Q" "\\001\\002\\001\\001\\001Q" |\n' span_id: 468 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copysource.rev &&\n' span_id:469) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage copysource.rev 15 >actual &&\n' span_id: 470 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:471) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'offsets are relative to window' span_id:478))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:482) (Token id:Id.Lit_Chars val:'\tprintf fo >expect &&\n' span_id:483) (Token id:Id.Lit_Chars val:'\tprintf "SVNQ%b%b%b%b" "Q\\003\\001\\002Q" "\\001Q" \\\n' span_id:484) (Token id: Id.Lit_Chars val: '\t\t"\\002\\001\\001\\002Q" "\\001Q" |\n' span_id: 485 ) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >copysource.two &&\n' span_id:486) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d preimage copysource.two 18 >actual &&\n' span_id: 487 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:488) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'example from notes/svndiff' span_id:495))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:499) (Token id:Id.Lit_Chars val:'\tprintf aaaaccccdddddddd >expect &&\n' span_id:500) (Token id:Id.Lit_Chars val:'\tprintf aaaabbbbcccc >source &&\n' span_id:501) (Token id: Id.Lit_Chars val: '\tprintf "SVNQ%b%b%s" "Q\\014\\020\\007\\001" \\\n' span_id: 502 ) (Token id:Id.Lit_Chars val:'\t\t"\\004Q\\004\\010\\0201\\0107\\010" d |\n' span_id:503) (Token id:Id.Lit_Chars val:'\t\tq_to_nul >delta.example &&\n' span_id:504) (Token id:Id.Lit_Chars val:'\tlen=$(wc -c <delta.example) &&\n' span_id:505) (Token id: Id.Lit_Chars val: '\ttest-svn-fe -d source delta.example $len >actual &&\n' span_id: 506 ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:507) ) } ) (C {(test_done)}) ] )