aboutsummaryrefslogtreecommitdiff
path: root/tests/sys/geom/class/eli/onetime_test.sh
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2018-01-07 02:30:08 +0000
committerAlan Somers <asomers@FreeBSD.org>2018-01-07 02:30:08 +0000
commit5dce212d6777e3a624b4bf766cdac67810c57105 (patch)
tree4a08e90d6be187336088cb7e229fd9aa05e6cc7a /tests/sys/geom/class/eli/onetime_test.sh
parentea9e0e28e0a03f31ac5343c12a317e178e602af1 (diff)
downloadsrc-5dce212d6777e3a624b4bf766cdac67810c57105.tar.gz
src-5dce212d6777e3a624b4bf766cdac67810c57105.zip
geli: fix parallel execution of tests
The trick is not to destroy an md(4) device during a test. That can create a "double-free" situation, because we also destroy md devices during test cleanup. MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=327666
Diffstat (limited to 'tests/sys/geom/class/eli/onetime_test.sh')
-rw-r--r--tests/sys/geom/class/eli/onetime_test.sh21
1 files changed, 9 insertions, 12 deletions
diff --git a/tests/sys/geom/class/eli/onetime_test.sh b/tests/sys/geom/class/eli/onetime_test.sh
index ad921bd6c80f..e37875850984 100644
--- a/tests/sys/geom/class/eli/onetime_test.sh
+++ b/tests/sys/geom/class/eli/onetime_test.sh
@@ -10,16 +10,14 @@ onetime_test()
atf_check -s exit:0 -o ignore -e ignore \
geli onetime -e $ealgo -l $keylen -s $secsize ${md}
- secs=`diskinfo /dev/${md}.eli | awk '{print $4}'`
+ atf_check dd if=/dev/random of=rnd bs=${secsize} count=${sectors} status=none
+ atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${sectors} status=none
- atf_check dd if=/dev/random of=rnd bs=${secsize} count=${secs} status=none
- atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${secs} status=none
-
- md_rnd=`dd if=rnd bs=${secsize} count=${secs} status=none | md5`
+ md_rnd=`dd if=rnd bs=${secsize} count=${sectors} status=none | md5`
atf_check_equal 0 $?
- md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${secs} status=none | md5`
+ md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${sectors} status=none | md5`
atf_check_equal 0 $?
- md_edev=`dd if=/dev/${md} bs=${secsize} count=${secs} status=none | md5`
+ md_edev=`dd if=/dev/${md} bs=${secsize} count=${sectors} status=none | md5`
atf_check_equal 0 $?
if [ ${md_rnd} != ${md_ddev} ]; then
@@ -41,6 +39,7 @@ onetime_body()
. $(atf_get_srcdir)/conf.sh
sectors=100
+ dd if=/dev/random of=rnd bs=${MAX_SECSIZE} count=${sectors} status=none
for_each_geli_config_nointegrity onetime_test
}
onetime_cleanup()
@@ -60,13 +59,11 @@ onetime_a_test()
atf_check -s exit:0 -o ignore -e ignore \
geli onetime -a $aalgo -e $ealgo -l $keylen -s $secsize ${md}
- secs=`diskinfo /dev/${md}.eli | awk '{print $4}'`
-
- atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${secs} status=none
+ atf_check dd if=rnd of=/dev/${md}.eli bs=${secsize} count=${sectors} status=none
- md_rnd=`dd if=rnd bs=${secsize} count=${secs} status=none | md5`
+ md_rnd=`dd if=rnd bs=${secsize} count=${sectors} status=none | md5`
atf_check_equal 0 $?
- md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${secs} status=none | md5`
+ md_ddev=`dd if=/dev/${md}.eli bs=${secsize} count=${sectors} status=none | md5`
atf_check_equal 0 $?
if [ ${md_rnd} != ${md_ddev} ]; then