|  | @@ -47,30 +47,30 @@ for dir in $dirs; do
 | 
	
		
			
				|  |  |  done
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # Check that "ulimit" itself works.
 | 
	
		
			
				|  |  | -((ulimit -n 100 &&
 | 
	
		
			
				|  |  | -  tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | -  tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | - ) &&
 | 
	
		
			
				|  |  | - diff -r a dest1/a
 | 
	
		
			
				|  |  | +( (ulimit -n 100 &&
 | 
	
		
			
				|  |  | +   tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | +   tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | +  ) &&
 | 
	
		
			
				|  |  | +  diff -r a dest1/a
 | 
	
		
			
				|  |  |  ) >/dev/null 2>&1 ||
 | 
	
		
			
				|  |  |     AT_SKIP_TEST
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # Another test that "ulimit" itself works:
 | 
	
		
			
				|  |  |  # tar should fail when completely starved of file descriptors.
 | 
	
		
			
				|  |  | -((ulimit -n 4 &&
 | 
	
		
			
				|  |  | -  tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | -  tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | - ) &&
 | 
	
		
			
				|  |  | - diff -r a dest2/a
 | 
	
		
			
				|  |  | +( (ulimit -n 4 &&
 | 
	
		
			
				|  |  | +   tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | +   tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | +  ) &&
 | 
	
		
			
				|  |  | +  diff -r a dest2/a
 | 
	
		
			
				|  |  |  ) >/dev/null 2>&1 &&
 | 
	
		
			
				|  |  |     AT_SKIP_TEST
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # Tar should work when there are few, but enough, file descriptors.
 | 
	
		
			
				|  |  | -((ulimit -n 10 &&
 | 
	
		
			
				|  |  | -  tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | -  tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | - ) &&
 | 
	
		
			
				|  |  | - diff -r a dest3/a >/dev/null 2>&1
 | 
	
		
			
				|  |  | +( (ulimit -n 10 &&
 | 
	
		
			
				|  |  | +   tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
 | 
	
		
			
				|  |  | +   tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
 | 
	
		
			
				|  |  | +  ) &&
 | 
	
		
			
				|  |  | +  diff -r a dest3/a >/dev/null 2>&1
 | 
	
		
			
				|  |  |  ) || { diff -r a dest3/a; exit 1; }
 | 
	
		
			
				|  |  |  ],
 | 
	
		
			
				|  |  |  [0],[],[],[],[],[gnu])
 |