[CRIU] [PATCH] zdtm: add ability to execute non-namespacess tests concurrently
Ruslan Kuprieiev
kupruser at gmail.com
Wed Aug 13 07:43:16 PDT 2014
13.08.2014 14:19, Ruslan Kuprieiev пишет:
> 08.08.2014 21:31, Andrey Vagin пишет:
>> For that zdtm.sh is executed in pidns to avoid pid conflicts.
>>
>> Cc: Christopher Covington <cov at codeaurora.org>
>> Signed-off-by: Andrey Vagin <avagin at openvz.org>
>> ---
>> test/Makefile | 10 +++++-----
>> test/zdtm.sh | 21 +++++++++++++++++++++
>> 2 files changed, 26 insertions(+), 5 deletions(-)
>>
>> diff --git a/test/Makefile b/test/Makefile
>> index 351b37b..5d04805 100644
>> --- a/test/Makefile
>> +++ b/test/Makefile
>> @@ -16,11 +16,9 @@ other: .FORCE
>> $(MAKE) -C $$t run || break; \
>> done \
>> -zdtm: .FORCE
>> +zdtm: .FORCE
>> $(MAKE) zdtm_ns
>> - for t in $(shell echo "$(TST)" | tr ' ' '\n' | grep -Pv $(EXP));
>> do \
>> - $(MAKE) $$t || break; \
>> - done
>> + $(MAKE) zdtm_nons
>> .PHONY: zdtm
>> fault-injection: .FORCE
>> @@ -28,7 +26,9 @@ fault-injection: .FORCE
>> .PHONY: fault-injection
>> zdtm_ns: $(shell echo "$(TST)" | tr ' ' '\n' | grep -P $(EXP))
>> +zdtm_nons: $(shell echo "$(TST)" | tr ' ' '\n' | grep -vP $(EXP))
>> +
>> $(TST):
>> - ./zdtm.sh ${ZDTM_ARGS} $(@) &> $(subst /,_,$@).log || \
>> + ./zdtm.sh --ct ${ZDTM_ARGS} $(@) &> $(subst /,_,$@).log || \
>> { flock Makefile cat $(subst /,_,$@).log; exit 1; }
>> .PHONY: zdtm_ns
>> diff --git a/test/zdtm.sh b/test/zdtm.sh
>> index d1a710d..b6c8095 100755
>> --- a/test/zdtm.sh
>> +++ b/test/zdtm.sh
>> @@ -762,6 +762,7 @@ Options:
>> -P : Make pre-dump instead of dump on all iterations except the
>> last one
>> -s : Make iterative snapshots. Only the last one will be checked.
>> --auto-dedup : Make auto-dedup on restore. Check sizes of pages
>> imges, it must be zero.
>> + --ct : re-execute $0 in a container
>> EOF
>> }
>> @@ -868,6 +869,26 @@ while :; do
>> usage
>> exit 0
>> ;;
>> + --ct)
>> + [ -z "$ZDTM_SH_IN_CT" ] && {
>> + export ZDTM_SH_IN_CT=1
>> + shift
>> + args="$@"
>> + # pidns is used to avoid conflicts
>> + # mntns is used to mount /proc
>> + # net is used to avoid conflicts of parasite sockets
>> + unshare --pid --mount --ipc --net -- bash -c "
>> +
>
> On ubuntu server 14.04 "make test" leads to error "unshare:
> unrecognized option '--pid'".
>
Same issue on desktop version. unshare from util-linux package doesn't
have option '--pid'.
>> (
>> + ip link set up dev lo &&
>> + mount --make-rprivate / &&
>> + umount -l /proc &&
>> + mount -t proc proc /proc/ &&
>> + ./zdtm.sh $args
>> + )"
>> + exit
>> + }
>> + shift
>> + ;;
>> -*)
>> echo "Unrecognized option $1, aborting!" 1>&2
>> usage
>
More information about the CRIU
mailing list