diff --git a/test/Makefile b/test/Makefile index 0c68a8627..22fcf711d 100644 --- a/test/Makefile +++ b/test/Makefile @@ -11,7 +11,7 @@ all: $(MAKE) zdtm-freezer .PHONY: all -TESTS = unix-callback mem-snap rpc libcriu mounts/ext security pipes crit socketpairs overlayfs +TESTS = unix-callback mem-snap rpc libcriu mounts/ext security pipes crit socketpairs overlayfs mnt-ext-dev other: for t in $(TESTS); do \ diff --git a/test/others/mnt-ext-dev/Makefile b/test/others/mnt-ext-dev/Makefile new file mode 100644 index 000000000..7779a9903 --- /dev/null +++ b/test/others/mnt-ext-dev/Makefile @@ -0,0 +1,2 @@ +run: + ./run.sh diff --git a/test/others/mnt-ext-dev/run.sh b/test/others/mnt-ext-dev/run.sh new file mode 100755 index 000000000..368c03d06 --- /dev/null +++ b/test/others/mnt-ext-dev/run.sh @@ -0,0 +1,17 @@ +#!/bin/sh +set -e -x + +# construct root +python ../../zdtm.py run -t zdtm/static/env00 --iter 0 -f ns + +truncate -s 0 zdtm.loop +truncate -s 50M zdtm.loop +mkfs.ext4 zdtm.loop +dev=`losetup --find --show zdtm.loop` +mkdir -p ../../dev +cp -ap $dev ../../dev +export ZDTM_MNT_EXT_DEV=$dev +python ../../zdtm.py run -t zdtm/static/mnt_ext_dev || ret=$? +losetup -d $dev +unlink zdtm.loop +exit $ret diff --git a/test/zdtm.py b/test/zdtm.py index 67e852cbf..a06059ef3 100755 --- a/test/zdtm.py +++ b/test/zdtm.py @@ -413,10 +413,10 @@ class zdtm_test: return opts def getdopts(self): - return self.__getcropts() + self.__freezer.getdopts() + return self.__getcropts() + self.__freezer.getdopts() + self.__desc.get('dopts', '').split() def getropts(self): - return self.__getcropts() + self.__freezer.getropts() + return self.__getcropts() + self.__freezer.getropts() + self.__desc.get('ropts', '').split() def gone(self, force = True): if not self.auto_reap: diff --git a/test/zdtm/static/Makefile b/test/zdtm/static/Makefile index 2e53417e5..5fab7c923 100644 --- a/test/zdtm/static/Makefile +++ b/test/zdtm/static/Makefile @@ -230,6 +230,7 @@ TST_DIR = \ mntns_shared_vs_private \ mnt_ext_auto \ mnt_ext_master \ + mnt_ext_dev \ mntns_deleted \ unlink_regular00 \ diff --git a/test/zdtm/static/mnt_ext_dev.c b/test/zdtm/static/mnt_ext_dev.c new file mode 100644 index 000000000..7c3bd569b --- /dev/null +++ b/test/zdtm/static/mnt_ext_dev.c @@ -0,0 +1,106 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "zdtmtst.h" + +const char *test_doc = "Check mounts of external devices"; +const char *test_author = "Andrei Vagin