mirror of
https://github.com/git/git.git
synced 2024-11-18 20:53:55 +01:00
f57a8715bc
Support for Back when bdccd3c1 (test-lib: allow negation of prerequisites, 2012-11-14) introduced negated predicates (e.g. "!MINGW,!CYGWIN"), we already had 5 test files that use NOT_MINGW (and a few MINGW) as prerequisites. Let's not add NOT_FOO and rewrite existing ones as !FOO for both MINGW and CYGWIN. Signed-off-by: Junio C Hamano <gitster@pobox.com>
91 lines
1.6 KiB
Bash
Executable File
91 lines
1.6 KiB
Bash
Executable File
#!/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 !MINGW '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
|