Browse Source

tests: give vcs-svn/line_buffer its own test script

Split the line_buffer test into small pieces and move it to its
own file as preparation for adding more tests.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
maint
Jonathan Nieder 14 years ago
parent
commit
232087fd99
  1. 54
      t/t0080-vcs-svn.sh
  2. 67
      t/t0081-line-buffer.sh

54
t/t0080-vcs-svn.sh

@ -76,60 +76,6 @@ test_expect_success 'obj pool: high-water mark' ' @@ -76,60 +76,6 @@ test_expect_success 'obj pool: high-water mark' '
test_cmp expected actual
'

test_expect_success 'line buffer' '
echo HELLO >expected1 &&
printf "%s\n" "" HELLO >expected2 &&
echo >expected3 &&
printf "%s\n" "" Q | q_to_nul >expected4 &&
printf "%s\n" foo "" >expected5 &&
printf "%s\n" "" foo >expected6 &&

test-line-buffer <<-\EOF >actual1 &&
read 5
HELLO
EOF

test-line-buffer <<-\EOF >actual2 &&
read 0

copy 5
HELLO
EOF

q_to_nul <<-\EOF |
read 1
Q
EOF
test-line-buffer >actual3 &&

q_to_nul <<-\EOF |
read 0

copy 1
Q
EOF
test-line-buffer >actual4 &&

test-line-buffer <<-\EOF >actual5 &&
read 5
foo
EOF

test-line-buffer <<-\EOF >actual6 &&
read 0

copy 5
foo
EOF

test_cmp expected1 actual1 &&
test_cmp expected2 actual2 &&
test_cmp expected3 actual3 &&
test_cmp expected4 actual4 &&
test_cmp expected5 actual5 &&
test_cmp expected6 actual6
'

test_expect_success 'string pool' '
echo a does not equal b >expected.differ &&
echo a equals a >expected.match &&

67
t/t0081-line-buffer.sh

@ -0,0 +1,67 @@ @@ -0,0 +1,67 @@
#!/bin/sh

test_description="Test the svn importer's input handling routines.
"
. ./test-lib.sh

test_expect_success 'read greeting' '
echo HELLO >expect &&
test-line-buffer <<-\EOF >actual &&
read 5
HELLO
EOF
test_cmp expect actual
'

test_expect_success '0-length read, send along greeting' '
printf "%s\n" "" HELLO >expect &&
test-line-buffer <<-\EOF >actual &&
read 0

copy 5
HELLO
EOF
test_cmp expect actual
'

test_expect_success 'buffer_read_string copes with trailing null byte' '
echo >expect &&
q_to_nul <<-\EOF | test-line-buffer >actual &&
read 1
Q
EOF
test_cmp expect actual
'

test_expect_success '0-length read, copy null byte' '
printf "%s\n" "" Q | q_to_nul >expect &&
q_to_nul <<-\EOF | test-line-buffer >actual &&
read 0

copy 1
Q
EOF
test_cmp expect actual
'

test_expect_success 'long reads are truncated' '
printf "%s\n" foo "" >expect &&
test-line-buffer <<-\EOF >actual &&
read 5
foo
EOF
test_cmp expect actual
'

test_expect_success 'long copies are truncated' '
printf "%s\n" "" foo >expect &&
test-line-buffer <<-\EOF >actual &&
read 0

copy 5
foo
EOF
test_cmp expect actual
'

test_done
Loading…
Cancel
Save