(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_description) op: Equal rhs: { (DQ ("Test the svn importer's input handling routines.\n") ("\n") ("These tests provide some simple checks that the line_buffer API\n") ("behaves as advertised.\n") ("\n") ("While at it, check that input of newlines and null bytes are handled\n") ("correctly.\n") ) } spids: [4] ) ] spids: [4] ) (C {(.)} {(./test-lib.sh)}) (C {(test_expect_success)} {(SQ <"hello world">)} { (SQ <"\n"> <"\techo \">HELLO\" >expect &&\n"> <"\ttest-line-buffer <<-\\EOF >actual &&\n"> <"\tbinary 6\n"> <"\tHELLO\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"0-length read, send along greeting">)} { (SQ <"\n"> <"\techo \">HELLO\" >expect &&\n"> <"\ttest-line-buffer <<-\\EOF >actual &&\n"> <"\tbinary 0\n"> <"\tcopy 6\n"> <"\tHELLO\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(KW_Bang "!") (MINGW)} {(SQ <"read from file descriptor">)} { (SQ <"\n"> <"\trm -f input &&\n"> <"\techo hello >expect &&\n"> <"\techo hello >input &&\n"> <"\techo copy 6 |\n"> <"\ttest-line-buffer \"&4\" 4<input >actual &&\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"skip, copy null byte">)} { (SQ <"\n"> <"\techo Q | q_to_nul >expect &&\n"> <"\tq_to_nul <<-\\EOF | test-line-buffer >actual &&\n"> <"\tskip 2\n"> <"\tQ\n"> <"\tcopy 2\n"> <"\tQ\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"read null byte">)} { (SQ <"\n"> <"\techo \">QhelloQ\" | q_to_nul >expect &&\n"> <"\tq_to_nul <<-\\EOF | test-line-buffer >actual &&\n"> <"\tbinary 8\n"> <"\tQhelloQ\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"long reads are truncated">)} { (SQ <"\n"> <"\techo \">foo\" >expect &&\n"> <"\ttest-line-buffer <<-\\EOF >actual &&\n"> <"\tbinary 5\n"> <"\tfoo\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"long copies are truncated">)} { (SQ <"\n"> <"\tprintf \"%s\\n\" \">\" foo >expect &&\n"> <"\ttest-line-buffer <<-\\EOF >actual &&\n"> <"\tbinary 1\n"> <"\n"> <"\tcopy 5\n"> <"\tfoo\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_expect_success)} {(SQ <"long binary reads are truncated">)} { (SQ <"\n"> <"\techo \">foo\" >expect &&\n"> <"\ttest-line-buffer <<-\\EOF >actual &&\n"> <"\tbinary 5\n"> <"\tfoo\n"> <"\tEOF\n"> <"\ttest_cmp expect actual\n"> ) } ) (C {(test_done)}) ] )