|  | @@ -0,0 +1,42 @@
 | 
	
		
			
				|  |  | +# Process this file with autom4te to create testsuite. -*- Autotest -*-
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# Test suite for GNU tar.
 | 
	
		
			
				|  |  | +# Copyright 2023 Free Software Foundation, Inc.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# This file is part of GNU tar.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# GNU tar is free software; you can redistribute it and/or modify
 | 
	
		
			
				|  |  | +# it under the terms of the GNU General Public License as published by
 | 
	
		
			
				|  |  | +# the Free Software Foundation; either version 3 of the License, or
 | 
	
		
			
				|  |  | +# (at your option) any later version.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# GNU tar is distributed in the hope that it will be useful,
 | 
	
		
			
				|  |  | +# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
	
		
			
				|  |  | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
	
		
			
				|  |  | +# GNU General Public License for more details.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# You should have received a copy of the GNU General Public License
 | 
	
		
			
				|  |  | +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# When deleting last partially written member from a truncated archive
 | 
	
		
			
				|  |  | +# tar 1.34 would miss EOF and spin in a dead loop in delete.c:flush_file.
 | 
	
		
			
				|  |  | +# References: https://savannah.gnu.org/bugs/?63823
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +AT_SETUP([EOF detection])
 | 
	
		
			
				|  |  | +AT_KEYWORDS([delete delete06])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +AT_TAR_CHECK([
 | 
	
		
			
				|  |  | +mkdir b
 | 
	
		
			
				|  |  | +touch a b/1 c
 | 
	
		
			
				|  |  | +tar -cf archive.tar a b/1 c
 | 
	
		
			
				|  |  | +case $TEST_TAR_FORMAT in
 | 
	
		
			
				|  |  | +gnu) size=1500;;
 | 
	
		
			
				|  |  | +pax) size=3072;;
 | 
	
		
			
				|  |  | +esac
 | 
	
		
			
				|  |  | +dd if=archive.tar of=trunc.tar bs=$size count=1 2>/dev/null
 | 
	
		
			
				|  |  | +tar --delete 'b/' -f trunc.tar
 | 
	
		
			
				|  |  | +],
 | 
	
		
			
				|  |  | +[0],
 | 
	
		
			
				|  |  | +[],[],[],[],[gnu, pax])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +AT_CLEANUP
 |