Commit graph

50 commits

Author SHA1 Message Date
Andrew Vagin
cba08fb788 makefile: use zdtm.py to execute tests
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-16 18:13:31 +03:00
Andrey Vagin
311e927b5c test: execute other tests in a new session
The main reason is to execute tests without a control termnal and avoid
a case when tests try to use the --shell-job options.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-08-21 21:13:47 +03:00
Andrey Vagin
1676c86d7d zdtm.sh: add ability to use a freezer cgroup
It allows to freeze processes faster

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-08-10 16:47:53 +03:00
Gabriel Guimaraes
aabba6b20c Adding overlay-bug test
This test checks that the OverlayFS fixup for CRIU works correctly
by dumping and restoring a process that has an open file in an
OverlayFS mounted directory. This should work no matter if the
Kernel has the OverlayFS bug or not.

Signed-off-by: Gabriel Guimaraes <gabriellimaguimaraes@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-08-07 14:31:16 +03:00
Artem Kuzmitskiy
d50cd344d0 Add test for dumping\restoring unnamed unix sockets.
* Added test for dumping\restoring of unnamed unix sockets.
  Also test added to test/Makefile. Use make run for launch.

* Cleanup env after call run.sh in test/libcriu.

Signed-off-by: Artem Kuzmitskiy <artem.kuzmitskiy@lge.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-07-29 17:53:39 +03:00
Andrew Vagin
76b4bad1fe test/Makefile: export ZDTM_ARGS
This variable is used from Makefile.zdtm

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-05-05 22:00:41 +03:00
Andrey Vagin
36a13cbd5a test: don't ignore errors other other tests
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-04-24 15:57:18 +03:00
Andrey Vagin
2ecc25ef5e zdtm: clean a test root before executing tests in userns
A tests is executed from different users in cases with and without
userns, so it can't to open files which were created before.

Here is an example for ns/user/static/inotify_irmap:
13355 mkdir("/etc", 0600)               = -1 EEXIST (File exists)
13355 unlink("/etc/zdtm-test")          = -1 EACCES (Permission denied)
13355 creat("/etc/zdtm-test", 0600)     = -1 EACCES (Permission denied)

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-02-19 23:15:10 +03:00
Andrey Vagin
9b600167a5 zdtm: don't execute ns/ and ns/user tests simultaneously
One test can't be execute as ns/test ans ns/user/test
simultaneously, because they use the same file tree

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-02-19 23:14:59 +03:00
Andrey Vagin
71f5542e00 test/Makefile: clean zdtm-tst-list
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-23 15:40:25 +03:00
Andrey Vagin
ca97fed57b zdtm: generate a test list only once
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-23 14:46:29 +03:00
Andrey Vagin
f3bf749b2b test: add the crit test in the test list
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-22 18:59:11 +03:00
Ruslan Kuprieiev
12db8f23f5 test: add crit test
Test steps:
1) generate img files by dumping loop.sh
2) convert img files to json files
3) convert json files to img files
4) cmp original and produces img files

It also uses i/o redirection and --format nice options to
check if they work properly.

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-01-14 20:44:50 +04:00
Saied Kazemi
54081aff7b tests: Pipe.c Test Program
Hi Saied,

This patch adds your test in the criu test system.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-12-10 18:52:23 +03:00
Andrey Vagin
1ca3317edc zdtm: improve checking file descriptors and memory regions (v2)
Now we check them for all test processes

v2: Busybox doesn't have truncate
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Reviewed-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-30 15:14:00 +04:00
Andrey Vagin
f32fa08d0f zdtm/Makefile: show output for each test
In this case we have another chance to not skip errors.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-23 20:13:50 +04:00
Andrey Vagin
82d509cb48 zdtm: don't execute pipe00 a few times simultaneously
zdtm-pre-dump, zdtm-snapshot, zdtm-iter, zdtm execute pipe00, so
these targets should be executed one by one.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-07 15:45:11 +04:00
Andrey Vagin
f582f16db0 test: expand the default test set
* check page server
* check snapshots
* check a few iterations of dump/restore

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-02 14:58:37 +04:00
Andrey Vagin
eda6b3d002 zdtm: don't call mount_cgroups a few times concurrently
Here is a race now:
./zdtm.sh --ct -d -C -x static/cgroup02 ns/static/pipe02 &> ns_static_pipe02.log || \
{ flock Makefile cat ns_static_pipe02.log; exit 1; }
./zdtm.sh --ct -d -C -x static/cgroup02 ns/static/busyloop00 &> ns_static_busyloop00.log || \
{ flock Makefile cat ns_static_busyloop00.log; exit 1; }
make[3]: `zdtm_ct' is up to date.
mkdir: cannot create directory ‘zdtm.GgIjUS/holder’: File exists

Reported-by: Mr Jenkins
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-09-22 12:15:45 +04:00
Andrey Vagin
c5d238ef66 zdtm/fanotify00: use /tmp instead of /
Usually /tmp is a mount point.

Recently we found a bug in criu, when it restore mount fanotify on "./"
instead of "/". The test didn't find it, because they are pointed on the
same mount point.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-09-02 16:12:32 +04:00
Andrew Vagin
dd63975bdc test: don't clean up submounts (v2)
I'm scared, when I see smth like that:
rm: cannot remove ‘/var/lib/jenkins/jobs/CRIU/workspace/test/dump/static/cgroup00/31195/1/.criu.cgyard.6qctPl/systemd/tasks’: Operation not permitted

v2: do that only in the "test" directory

Reported-by: Mr Jenkins
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-09-02 16:11:02 +04:00
Andrey Vagin
5d9b3612a6 test: clean the "test" directory from test/Makefile
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-09-02 16:10:55 +04:00
Filipe Brandenburger
3a8cf03d94 test: replace use of pcre grep with awk
Unfortunately, grep -P is not ubiquitous, so use awk with two regexps to
simulate the negative forward lookup in the grep -P expression.

Using awk doesn't really make it too unreadable, as using boolean operators
such as && and || might actually make it more intuitive than the extended
regexp.

Tested:
- sudo make -C test zdtm_ns
- sudo make -C test zdtm_nons

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-26 13:08:49 +04:00
Andrey Vagin
6eab073c07 zdtm: fix compile errors of zdtm_ct
When "make test" is executed, CFLAGS is exported from the root Makefile.
These flags define _GNU_SOURCE, so we don't need to define it in the
souce file.

In addition unistd.h isn't included, so a few functions are shown as undeclared.

make zdtm_ns
make[3]: Entering directory `/root/criu/test'
gcc  -O2 -Wall -Werror -DCONFIG_X86_64 -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE    zdtm_ct.c   -o zdtm_ct
zdtm_ct.c:1:0: error: "_GNU_SOURCE" redefined [-Werror]
 #define _GNU_SOURCE
 ^
<command-line>:0:0: note: this is the location of the previous definition
zdtm_ct.c: In function ‘main’:
zdtm_ct.c:21:2: error: implicit declaration of function ‘fork’ [-Werror=implicit-function-declaration]
  pid = fork();
  ^
zdtm_ct.c:23:3: error: implicit declaration of function ‘setsid’ [-Werror=implicit-function-declaration]
   if (setsid() == -1) {
   ^
zdtm_ct.c:49:3: error: implicit declaration of function ‘execv’ [-Werror=implicit-function-declaration]
   execv(argv[1], argv + 1);
   ^
zdtm_ct.c:62:3: error: implicit declaration of function ‘getpid’ [-Werror=implicit-function-declaration]
   kill(getpid(), WTERMSIG(status));
   ^
cc1: all warnings being treated as errors

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Tested-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-26 12:52:39 +04:00
Andrey Vagin
47fae013b5 zdtm: add a small program to create a zdtm container (v2)
I didn't find a way how to do that with help "unshare".
It's simpler to write this program. It looks better than tricks in
zdtm.sh.

v2: proxify exit status

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Ruslan Kuprieiev <kupruser@gmail.com>
Acked-by: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-14 18:28:38 +04:00
Andrey Vagin
bb5f5b19c6 zdtm: add ability to execute non-namespacess tests concurrently
For that zdtm.sh is executed in pidns to avoid pid conflicts.

Cc: Christopher Covington <cov@codeaurora.org>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-12 14:42:34 +04:00
Ruslan Kuprieiev
ef39c4657b test: security
This test creates 2 users to check how secure is using criu with setuid bit set.

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-06 10:20:30 +04:00
Andrey Vagin
8937bf7a72 test: add mounts/ext in the "other" list
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-07-03 19:21:20 +04:00
Andrew Vagin
876def9546 test: add a target to execute non-zdtm tests
make -C test other

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-06-24 22:50:43 +04:00
Kir Kolyshkin
1fa0c0c058 test/*Makefile: add/append PHONY targets
...where they are missing.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-01-11 09:12:35 +04:00
Andrey Vagin
f3cec004d9 test: show logs in case an error (v2)
Makefile is locked, because tests can be executed concurrently.

v2: return non-zero code
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-12-30 12:32:00 +04:00
Andrey Vagin
2379c67017 test/make: transfer arguments for zdtm.sh
make ZDTM_ARGS="-C -i 2" -C test/ zdtm_ns -j 8

make is able to execute tests concurrently.
Now we can customize execution of tests

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-12-30 12:31:45 +04:00
Andrey Vagin
b95407e264 test: check, that parasite can rollback itself (v2)
This test uses systemtap to replace random parasite command on
invalide command. The parasite code received this command and should
rollback itself. CRIU didn't recived ack, should understand that
something wrong and exits. The systemtap inverts exit code of criu.

"zdtm.sh -d" is used for executing tests and testing that the state of
processes don't corrupted.

criu should be compiled without optimizations (make DEBUG=1)

v2: randomize a command, which will be replaced
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-08-06 15:11:12 +04:00
Andrey Vagin
ddc6789dca test: don't skip errors if someone fails
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-04-01 20:10:05 +04:00
Andrey Vagin
5500145557 test: add ability to execute tests in parallel
All tests which executed in pid namespaces can be executed in parallel.

$ make zdtm_ns
real	0m54.806s
user	0m2.779s
sys	0m4.338s

$ make -j zdtm_ns
real	0m11.587s
user	0m3.361s
sys	0m5.134s

Another feature of this patch is that the subset of parallel tests is
executed before the subset of sequential tests.

If a first subset are not failed, the second one has a small chance to
fail, so a most part of bugs will be found in a few first seconds.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-01-22 22:48:00 +04:00
Cyrill Gorcunov
a88cd36e7b make: Move legacy tests to test/legacy and use "make test" to run zdtm tests
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Pavel Emelyanov <xemul@parallels.com>
2012-01-24 19:59:53 +04:00
Cyrill Gorcunov
25d048c02a test: Add usnix-socket test
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
2011-12-27 20:01:47 +04:00
Cyrill Gorcunov
8557e39bef test: Add sigaction test
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
2011-12-03 01:48:57 +04:00
Cyrill Gorcunov
f6ae59cdde test: Add trivial vDSO test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-29 16:37:43 +04:00
Cyrill Gorcunov
ea423aa56f test: Update makefile clean target
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-22 13:29:27 +04:00
Cyrill Gorcunov
4368d57c48 test: Add test-pthreads test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-22 01:50:45 +04:00
Cyrill Gorcunov
5e5cb3b321 test: Add test-pipe-async test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 23:55:37 +04:00
Cyrill Gorcunov
22f8986902 teste: Add test-shmem-three-async test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 23:45:35 +04:00
Cyrill Gorcunov
8650847b83 test: Add test-shmem-async test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 22:53:18 +04:00
Cyrill Gorcunov
d2f382e729 test: Add test-rnd-from-file test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 22:42:59 +04:00
Cyrill Gorcunov
37e73d6a1d test: Add test-counter test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 21:25:43 +04:00
Cyrill Gorcunov
af4eb76bb0 test: Drop old tests
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-11-21 20:27:58 +04:00
Cyrill Gorcunov
48371f729a test: Add static sleep test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-10-31 20:37:50 +04:00
Cyrill Gorcunov
c704ab9064 test: Add anonymous shared memory test
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-09-30 13:08:26 +04:00
Cyrill Gorcunov
98be6495c7 make: Move tests into test/ directory
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2011-09-29 16:03:36 +04:00