2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-26 03:47:35 +00:00

231 Commits

Author SHA1 Message Date
Pavel Emelyanov
0534d74dcc zdtm.py: Generate report with failed tests
Includes C/R images dir and the zdtm.py logs for one test only.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Andrew Vagin <avagin@odin.com>
2015-10-28 17:46:43 +03:00
Pavel Emelyanov
077b9c959c zdtm.py: Fix argumeps to uns flavor init
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 17:05:05 +03:00
Pavel Emelyanov
35237d2a79 zdtm.py: Move more stuff into ns root
Things added are:

1. /usr directories (links to respective / ones)
2. /sbin dir
3. per-test dependencies that are listed in .desc file as 'deps': [<list>]

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Andrew Vagin <avagin@odin.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 16:52:38 +03:00
Pavel Emelyanov
dc6edd79e6 zdtm.py: Add dirs write perms for low-prio tests and flavors
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 12:36:40 +04:00
Pavel Emelyanov
225537ea5a zdtm.py: Wait for tasks to die more
On loaded jenkins nodes sometimes it takes much more than 4 seconds.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 10:42:27 +03:00
Pavel Emelyanov
d45c5481c0 zdtm.py: Fix iterations
Currently --iter N results in sequential images for every new iteration.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-27 22:55:16 +03:00
Pavel Emelyanov
f49e54f2b0 zdtm.py: Make print_sep shorter and print aligned lines
Current implementation of print_sep has off-by-one-like issue -- it
can print one character more :) Fix this and make the code shorter.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-27 22:53:28 +03:00
Pavel Emelyanov
35603e51cc zdtm: Handle crfail tests (expected dump failure)
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 17:10:22 +04:00
Pavel Emelyanov
896837cea8 zdtm: Do not compare maps and fds for non-static tests
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 15:52:59 +04:00
Pavel Emelyanov
43d78feb3e zdtm: Fix exit code propagation from failed tests
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 15:40:10 +04:00
Pavel Emelyanov
951a1e04f2 zdtm.py: Pass keep_img and fault option to sub-tasks
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 13:18:45 +03:00
Pavel Emelyanov
8ce58ec963 zdtm.py: Ability to run tests with faults injected
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:45:40 +03:00
Pavel Emelyanov
c405304fcc zdtm.py: Add inhfd tests for --inherit-fd option
This option cannot be tested using classic zdtm tests as it implies
some data created before restore and passed through criu restore down
to the restored process (descriptor in our case).

So add inhfd_test class that creates such.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:42:01 +03:00
Pavel Emelyanov
5193fa4a96 zdtm.py: Split per-test options into C and R ones
One for checkpoint another for restore.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:42:00 +03:00
Pavel Emelyanov
450fadb561 zdtm.py: Control whether or not to keep images after test
Tree ways are possible -- always, never and only for tests that failed. The
latter one is the default.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:35:57 +03:00
Pavel Emelyanov
0fdbffa10e zdtm.py: Run tests matching given regexp
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:35:38 +03:00
Andrew Vagin
4c1ffde861 zdtm.py: print separators between tests
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-14 15:58:08 +03:00
Andrew Vagin
ed8a13b70f zdtm: show error messages in a error case
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-14 15:57:31 +03:00
Pavel Emelyanov
1a6de2c643 zdtm.py: Support crlib flag for tests
This flag means that there's lib/ directory where a plugin is.
Currently rtc test is such. The wait_pid_die timeout is risen
since this test dies for more than 6 seconds :)

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:06:27 +03:00
Pavel Emelyanov
388df2a103 zdtm.py: Support tests' hooks
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:06:20 +03:00
Pavel Emelyanov
edc19f139c zdtm.py: Print out file if it exists
Sometimes tests fail before generating .out file, so print its
contents only if it exists.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:06:10 +03:00
Pavel Emelyanov
bdb549c961 zdtm.py: Allow specifying the test suit description file
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:05:43 +03:00
Pavel Emelyanov
6d5635e360 zdtm.py: Lower zdtm keyword usage
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:05:33 +03:00
Pavel Emelyanov
f698be0a12 zdtm.py: Print tests info when listing them
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:05:28 +03:00
Pavel Emelyanov
9db8bd8cf4 zdtm.py: Rework tests list generation
Hand-made list of tests is not great. As Christopher suggested we can find
all executables in a directory and treat them as tests. This idea is good,
but requires a little bit more trickery.

First, some executables in directory are not tests, e.g. these are per-test
scripts, which should be skipped. Next, not all tests in zdtm can be right
now run in continuous manner (they fail), but we want to run them manually.
To fix that such tests are marked with 'noauto' flag in the description.

So we have the test test descriptor file, which states in which file to
look for tests (executable) and which of them to exclude. Maybe more, can
be added on demand.

And, finally, the per-test description goes in a ${test}.desc file in native
python eval/repr-able format. If the file is absent a default description
is used.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:05:02 +03:00
Pavel Emelyanov
526b7826d1 zdtm.py: Test the --restore-sibling option
The main difficulty here is that restored test becomes zdtm.py's kid
and after killing one we should wait() the test's zombie. W/o the
--restore-sibling test gets restored under existing init and gets
wait()-ed automagically.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:04:17 +03:00
Pavel Emelyanov
206acdf225 zdtm.py: Print criu action in logs
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:04:06 +03:00
Pavel Emelyanov
31944f33d6 zdtm.py: Print "test FAIL" early
In case t.kill() raises an exception (sometimes it can) it becomes unclear
what's going on.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:03:59 +03:00
Pavel Emelyanov
7cbb5e5a37 zdtm.py: Save existing environment for zdtm-in-ct
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:03:53 +03:00
Pavel Emelyanov
0cc628915d zdtm.py: Auto-reap all ns children
When test is run in pseudo-container (--parallel execution) the new namespace's
init is the python script itself. Thus all dying tests get reparent-ed to it and
sit as zombies forever.

Create pseudo-init for such containers ripping all the children.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-12 13:03:41 +03:00
Pavel Emelyanov
6b83934e33 zdtm: Move towards the new generation of criu testing (v3)
A little bit more stuff added :) With these changes I can run the

  zdtm.py run --all -x cgroup -x maps04 -x different_creds -x rtc

To run cgroups tests need to add .hook calls, for maps04 I don't have
enough RAM and disk in my VM (will fix), for different_creds need to
support crfail test option (dump _must_ fail), for rtc -- plugins.

So changes since v2:

1. Added exclusion (-x option)
2. Bugfix in parallel run
3. Fixed NS root permissions
4. Fixed checks for maps before and after dump
5. Fixed thread_bomb launch
6. Print test output
7. Support .checkskip scripts
8. Support features
9. Fixed test list

Andrey, thoughts?

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Andrew Vagin <avagin@openvz.org>
2015-10-07 14:50:53 +03:00