[CRIU] [PATCH 2/2] zdtm.sh: check snapshot functionality

Andrey Vagin avagin at openvz.org
Thu Jun 20 17:50:52 EDT 2013


Only last iteration stops processes, all other iterations make
snapshots. Processes are restored from the last snapshot.

bash -x test/zdtm.sh -s -i 3

Signed-off-by: Andrey Vagin <avagin at openvz.org>
---
 test/zdtm.sh | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/test/zdtm.sh b/test/zdtm.sh
index 8135569..9480a14 100755
--- a/test/zdtm.sh
+++ b/test/zdtm.sh
@@ -302,6 +302,8 @@ run_test()
 {
 	local test=$1
 	local linkremap=
+	local snapopt=
+	local snappdir=
 
 	[ -n "$EXCLUDE_PATTERN" ] && echo $test | grep "$EXCLUDE_PATTERN" && return 0
 
@@ -361,14 +363,24 @@ EOF
 			opts="--page-server --address 127.0.0.1 --port $PS_PORT"
 		fi
 
+		if [ -n "$SNAPSHOT" ]; then
+			snapopt=""
+			[ "$i" -ne "$ITERATIONS" ] && snapopt="$snapopt -R --track-mem"
+			[ -n "$snappdir" ] && snapopt="$snapopt --prev-images-dir=$snappdir"
+		fi
 
 		save_fds $PID  $ddump/dump.fd
 		setsid $CRIU_CPT dump $opts --file-locks --tcp-established $linkremap \
-			-x --evasive-devices -D $ddump -o dump.log -v4 -t $PID $args $ARGS || {
+			-x --evasive-devices -D $ddump -o dump.log -v4 -t $PID $args $ARGS $snapopt || {
 			echo WARNING: process $tname is left running for your debugging needs
 			return 1
 		}
 
+		if [ -n "$SNAPSHOT" ]; then
+			snappdir=../`basename $ddump`
+			[ "$i" -ne "$ITERATIONS" ] && continue
+		fi
+
 		if [ $PAGE_SERVER -eq 1 ]; then
 			wait $PS_PID
 		fi
@@ -518,6 +530,11 @@ while :; do
 		shift
 		continue;
 	fi
+	if [ "$1" = "-s" ]; then
+		SNAPSHOT=1
+		shift
+		continue
+	fi
 	break;
 done
 
-- 
1.8.2.1



More information about the CRIU mailing list