svn commit: r319551 - head/bin/dd/tests

Alan Somers asomers at FreeBSD.org
Sat Jun 3 18:29:19 UTC 2017


Author: asomers
Date: Sat Jun  3 18:29:18 2017
New Revision: 319551
URL: https://svnweb.freebsd.org/changeset/base/319551

Log:
  Fix bin/dd/dd2_tests:seek_overflow on UFS and TMPFS
  
  Split the postive and negative parts into separate test cases.  The positive
  test case can only run on ZFS, because only ZFS supports files that large.
  
  PR:		219757
  Reported by:	ngie
  MFC after:	18 days
  X-MFC-with:	319339

Modified:
  head/bin/dd/tests/dd2_test.sh

Modified: head/bin/dd/tests/dd2_test.sh
==============================================================================
--- head/bin/dd/tests/dd2_test.sh	Sat Jun  3 18:25:36 2017	(r319550)
+++ head/bin/dd/tests/dd2_test.sh	Sat Jun  3 18:29:18 2017	(r319551)
@@ -26,21 +26,35 @@
 # $FreeBSD$
 
 
-atf_test_case seek_overflow
-seek_overflow_head()
+atf_test_case max_seek
+max_seek_head()
 {
-	atf_set "descr" "dd(1) should reject too-large seek values"
+	atf_set "descr" "dd(1) can seek by the maximum amount"
 }
-seek_overflow_body()
+max_seek_body()
 {
-	atf_expect_fail "fails with 'dd: truncating f.out: File too large' - bug 219757"
+	case `df -T . | tail -n 1 | cut -wf 2` in
+		"ufs")
+			atf_skip "UFS's maximum file size is too small";;
+		"zfs") ;; # ZFS is fine
+		"tmpfs")
+			atf_skip "tmpfs can't create arbitrarily large spare files";;
+		*) atf_skip "Unknown file system";;
+	esac
 
 	touch f.in
-	# Positive tests
 	seek=`echo "2^63 / 4096 - 1" | bc`
 	atf_check -s exit:0 -e ignore dd if=f.in of=f.out bs=4096 seek=$seek
+}
 
-	# Negative tests
+atf_test_case seek_overflow
+seek_overflow_head()
+{
+	atf_set "descr" "dd(1) should reject too-large seek values"
+}
+seek_overflow_body()
+{
+	touch f.in
 	seek=`echo "2^63 / 4096" | bc`
 	atf_check -s not-exit:0 -e match:"seek offsets cannot be larger than" \
 		dd if=f.in of=f.out bs=4096 seek=$seek
@@ -50,5 +64,6 @@ seek_overflow_body()
 
 atf_init_test_cases()
 {
-        atf_add_test_case seek_overflow
+	atf_add_test_case max_seek
+	atf_add_test_case seek_overflow
 }


More information about the svn-src-head mailing list