You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
1.6 KiB
90 lines
1.6 KiB
#!/bin/sh |
|
|
|
test_description="Test the svn importer's input handling routines. |
|
|
|
These tests provide some simple checks that the line_buffer API |
|
behaves as advertised. |
|
|
|
While at it, check that input of newlines and null bytes are handled |
|
correctly. |
|
" |
|
. ./test-lib.sh |
|
|
|
test_expect_success 'hello world' ' |
|
echo ">HELLO" >expect && |
|
test-line-buffer <<-\EOF >actual && |
|
binary 6 |
|
HELLO |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success '0-length read, send along greeting' ' |
|
echo ">HELLO" >expect && |
|
test-line-buffer <<-\EOF >actual && |
|
binary 0 |
|
copy 6 |
|
HELLO |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'read from file descriptor' ' |
|
rm -f input && |
|
echo hello >expect && |
|
echo hello >input && |
|
echo copy 6 | |
|
test-line-buffer "&4" 4<input >actual && |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'skip, copy null byte' ' |
|
echo Q | q_to_nul >expect && |
|
q_to_nul <<-\EOF | test-line-buffer >actual && |
|
skip 2 |
|
Q |
|
copy 2 |
|
Q |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'read null byte' ' |
|
echo ">QhelloQ" | q_to_nul >expect && |
|
q_to_nul <<-\EOF | test-line-buffer >actual && |
|
binary 8 |
|
QhelloQ |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'long reads are truncated' ' |
|
echo ">foo" >expect && |
|
test-line-buffer <<-\EOF >actual && |
|
binary 5 |
|
foo |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'long copies are truncated' ' |
|
printf "%s\n" ">" foo >expect && |
|
test-line-buffer <<-\EOF >actual && |
|
binary 1 |
|
|
|
copy 5 |
|
foo |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_expect_success 'long binary reads are truncated' ' |
|
echo ">foo" >expect && |
|
test-line-buffer <<-\EOF >actual && |
|
binary 5 |
|
foo |
|
EOF |
|
test_cmp expect actual |
|
' |
|
|
|
test_done
|
|
|