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>
This commit is contained in:
Jonathan Nieder 2011-01-02 18:51:07 -06:00
Родитель 850c5ea44c
Коммит 232087fd99
2 изменённых файлов: 67 добавлений и 54 удалений

Просмотреть файл

@ -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 Executable file
Просмотреть файл

@ -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