aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2017-06-03 18:29:18 +0000
committerAlan Somers <asomers@FreeBSD.org>2017-06-03 18:29:18 +0000
commit07c19c27d323b34a24eb136edd1aac7caaf25a2b (patch)
tree273bcbc8d6ed5431ad6216b2a76e9104382d2d9b /bin
parent649c9a25d59138d13f5f812b5dc6a926d89491bc (diff)
Notes
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dd/tests/dd2_test.sh31
1 files changed, 23 insertions, 8 deletions
diff --git a/bin/dd/tests/dd2_test.sh b/bin/dd/tests/dd2_test.sh
index 80b9fe224de5..c0b33fc17226 100755
--- a/bin/dd/tests/dd2_test.sh
+++ b/bin/dd/tests/dd2_test.sh
@@ -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
}