[CRIU] [PATCH 3/4] criu2text: add test
Ruslan Kuprieiev
kupruser at gmail.com
Thu Sep 11 16:50:44 PDT 2014
Dump loop.sh, convert images into text format and back.
Compare those images with original ones using cmp.
Signed-off-by: Ruslan Kuprieiev <kupruser at gmail.com>
---
tools/criu2text/Makefile | 7 ++++++-
tools/criu2text/test/.gitignore | 3 +++
tools/criu2text/test/Makefile | 14 ++++++++++++++
tools/criu2text/test/loop.sh | 4 ++++
tools/criu2text/test/test.sh | 25 +++++++++++++++++++++++++
5 files changed, 52 insertions(+), 1 deletion(-)
create mode 100644 tools/criu2text/test/.gitignore
create mode 100644 tools/criu2text/test/Makefile
create mode 100755 tools/criu2text/test/loop.sh
create mode 100644 tools/criu2text/test/test.sh
diff --git a/tools/criu2text/Makefile b/tools/criu2text/Makefile
index 986f426..597f71e 100644
--- a/tools/criu2text/Makefile
+++ b/tools/criu2text/Makefile
@@ -1,7 +1,8 @@
-.PHONY: all clean protobuf
+.PHONY: all clean protobuf test
PROTOBUF_DIR = ../../protobuf
MAGIC_C_HEADER = ../../include/magic.h
+CRIU = ../../criu
all: magic.py protobuf
@@ -11,5 +12,9 @@ magic.py: $(MAGIC_C_HEADER) protobuf
protobuf:
protoc -I=$(PROTOBUF_DIR) --python_out=./ $(PROTOBUF_DIR)/*.proto
+test: protobuf magic.py
+ make -C test CRIU=$(realpath $(CRIU))
+
clean:
+ make -C test clean
rm -rf *.pyc *_pb2.py __pycache__ magic.py
diff --git a/tools/criu2text/test/.gitignore b/tools/criu2text/test/.gitignore
new file mode 100644
index 0000000..4323d15
--- /dev/null
+++ b/tools/criu2text/test/.gitignore
@@ -0,0 +1,3 @@
+images_img
+images_text
+images_text_img
diff --git a/tools/criu2text/test/Makefile b/tools/criu2text/test/Makefile
new file mode 100644
index 0000000..947472d
--- /dev/null
+++ b/tools/criu2text/test/Makefile
@@ -0,0 +1,14 @@
+all: images_img test
+
+images_img:
+ mkdir $@
+ setsid ./loop.sh < /dev/null &> /dev/null & \
+ $(CRIU) dump -v4 -o dump.log -D $@ -t $${!} --shell-job
+
+test: images_img
+ mkdir -p images_text
+ mkdir -p images_text_img
+ bash test.sh
+
+clean:
+ rm -rf images_img images_text images_text_img
diff --git a/tools/criu2text/test/loop.sh b/tools/criu2text/test/loop.sh
new file mode 100755
index 0000000..0ab34ce
--- /dev/null
+++ b/tools/criu2text/test/loop.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+while :; do
+ sleep 1
+done
diff --git a/tools/criu2text/test/test.sh b/tools/criu2text/test/test.sh
new file mode 100644
index 0000000..b984703
--- /dev/null
+++ b/tools/criu2text/test/test.sh
@@ -0,0 +1,25 @@
+images_list=$(cd images_img; ls -1 *.img | sed -e 's/\..*$//')
+
+function _exit {
+ if [ $? -ne 0 ]; then
+ echo "FAIL"
+ exit -1
+ fi
+}
+
+for x in $images_list
+do
+ echo "=== $x"
+ if [[ $x == pages* ]]; then
+ echo "skip"
+ continue
+ fi
+
+ echo " -- to text"
+ python ../criu2text.py to-text images_img/"$x"".img" images_text/ || _exit $?
+ echo " -- to img"
+ python ../criu2text.py to-img images_text/"$x" images_text_img/ || _exit $?
+ echo " -- cmp"
+ cmp images_img/"$x"".img" images_text_img/"$x"".img" || _exit $?
+ echo "=== done"
+done
--
1.9.3
More information about the CRIU
mailing list