- VFS: check for negative sizes in all truncate calls - VFS: update file size after truncating with fcntl(F_FREESP) - VFS: move pos/len checks for F_FREESP with l_len!=0 from FS to VFS - MFS: do not zero data block for small files when fully truncating - MFS: do not write out freed indirect blocks after freeing space - MFS: make truncate work correctly with differing zone/block sizes - tests: add new test50 for truncate call family
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
# Initialization
 | 
						|
PATH=:/bin:/usr/bin
 | 
						|
export PATH
 | 
						|
 | 
						|
rm -rf DIR*			# remove any old junk lying around
 | 
						|
passed=`expr 0`			# count number of tests run correctly
 | 
						|
failed=`expr 0`			# count number of tests that failed
 | 
						|
skipped=`expr 0`		# count number of tests that were skipped
 | 
						|
total=`expr 0`			# total number of tests tried
 | 
						|
badones=			# list of tests that failed
 | 
						|
 | 
						|
# Print test welcome message
 | 
						|
clr
 | 
						|
echo "Running POSIX compliance test suite. There are 54 tests in total."
 | 
						|
echo " "
 | 
						|
 | 
						|
# Run all the tests, keeping track of who failed.
 | 
						|
for i in  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 \
 | 
						|
         21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
 | 
						|
         41 42 43 44 45 45-gcc 46 47 48 49 49-gcc 50 sh1.sh sh2.sh
 | 
						|
do
 | 
						|
   if [ -x ./test$i ]
 | 
						|
   then
 | 
						|
      total=`expr $total + 1`
 | 
						|
      FAIL=0
 | 
						|
      if [ $USER = root -a \( $i = 11 -o $i = 33 \) ]
 | 
						|
         then su - ast -c "cd `pwd`; ./test$i" || FAIL=1
 | 
						|
         else ./test$i || FAIL=1
 | 
						|
      fi
 | 
						|
      if [ $FAIL -eq 0 ]
 | 
						|
         then passed=`expr $passed + 1`
 | 
						|
         else failed=`expr $failed + 1`
 | 
						|
              badones=`echo $badones " " $i`
 | 
						|
      fi
 | 
						|
   else
 | 
						|
      skipped=`expr $skipped + 1` 
 | 
						|
   fi
 | 
						|
done
 | 
						|
 | 
						|
# Print results of the tests.
 | 
						|
echo " "
 | 
						|
if test $total = $passed
 | 
						|
   then echo All $passed tests completed without error \($skipped skipped\).
 | 
						|
   else echo Testing completed. Score: $passed passed, $failed failed, \
 | 
						|
             skipped $skipped
 | 
						|
        echo The following tests failed: $badones
 | 
						|
fi
 | 
						|
 | 
						|
# echo " "
 |