 6908e99946
			
		
	
	6908e99946
	
	
	
		
			
			This (morally) reverts commit d280f68313,
which added some tests that are a pain to maintain and are not likely
to find bugs in git.
Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
		
	
		
			
				
	
	
		
			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 '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
 |