Commit graph

1008 commits

Author SHA1 Message Date
Pavel Emelyanov
dc55d23805 zdtm.py: Printf maps before diffing them
First -- set cannot be made out of lists (and maps lists contain lists of pairs)
Second -- it is much better to read map diffs in hex, rather than ints (as they
would be if repr-ed by default)

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-11-03 10:40:19 +03:00
Pavel Emelyanov
287c07129f zdtm.py: Fix cmp_lists routine
The zip() trims longest list thus we can lose objects the appeared at tail

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-11-03 10:38:48 +03:00
Pavel Emelyanov
d35f4a1543 zdtm.py: Print more info when maps compare fails
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-11-02 22:19:02 +04:00
Andrew Vagin
69f6a4794f jenkins: collect an report for each run
Now zdtm.py can construct an report which contains all required
inforamtion for investigating a problem. This patch adds support
of this functionality to jenkins scripts.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-30 14:57:01 +03:00
Andrew Vagin
37d90574d7 zdtm.py: chdir to dir the py script is in
It allows to execute zdtm.py not only from the test directory.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-30 14:56:39 +03:00
Pavel Emelyanov
400dbd6ab6 zdtm.py: Call zdtm_mount_cgroups in advance
This script prepares the cgroups hierarchies that are used by
tests to avoid creation of those in parallel with tests, that
do not expect them to appear.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-30 15:55:41 +04:00
Pavel Emelyanov
f01ae34ece zdtm.py: Make zdtm/ and zdtm_ct before run
The zdtm.py depends on this stuff.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-30 14:51:27 +03:00
Andrei Vagin
abdea652a9 zdtm/netns: user correct file names for test files
We clean up test files from Makefile.
The name format for them is testname.XXX.test.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-29 09:14:39 +03:00
Pavel Emelyanov
433839cfcb zdtm.py: Add file perms to test in uns
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 18:04:52 +03:00
Pavel Emelyanov
bb0efb3180 zdtm.py: Print failure report with # sep-s
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 17:55:30 +03:00
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
fffbe3740b zdtm: Move netns test into ns/uns flavor
This one got lost in rebase, sorry :)

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Andrew Vagin <avagin@odin.com>
2015-10-28 16:54:02 +03:00
Pavel Emelyanov
4f3474e000 zdtm: Move netns-nf test into ns/uns flavor
After this patch it stops working in zdtm.sh launcher duo to incomplete
root constructed. Do we want to fix it?

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:51 +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
Andrey Vagin
858c30e1c6 jenkins: call fail() in a error case
fail() saves all files in an archive for further investigations.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-28 15:20:16 +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
Andrew Vagin
c51cdedcf9 jenkins: use zdtm.py for criu-iter
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-27 22:55:58 +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
Andrew Vagin
64b00b3b09 zdtm: don't execute ipc_namespace in userns (v2)
There is no permissions to set sysctl-s

v2: add the suid flag
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 22:15:12 +03:00
Andrew Vagin
907a444c2c zdtm: use syscalls to set hostname and domaninname
We don't have enough permissions to set sysctl-s from userns, while
system calls are ns_capable()-protected in the kernel and thus work
in user-namespaces.

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 22:15:04 +03:00
Pavel Emelyanov
3ec9e128de zdtm: Mark utsname as suid
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 15:26:47 +03:00
Andrew Vagin
7a2afe33fb zdtm: allow to execute shm and msgque in userns
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:20:14 +03:00
Andrew Vagin
fe44213e84 zdtm: allow to execute ipc_namespace and utsname tests in userns
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:20:13 +03:00
Kir Kolyshkin
e1e0f2ce56 zdtm: introduce and use pr_err()
Sometimes pr_perror() is used in places that don't have errno set.
In such places, pr_perror() should not be used as it will print
some nonsense.

Introduce and use pr_err() for such cases.

Now, I see sometimes fail() is used in such cases but I think
it is reserved for places where test fails (rather than there is
something that prevents the test from working).

Also, sometimes test_msg() is used but it doesn't print source
file name and line number.

If there will be a need, we can unify pr_err() with say fail(),
it will be easier to do after this patch.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:16:48 +03:00
Kir Kolyshkin
036d405312 zdtm unix_sock: don't use errno
In this place, errno is not being set and can be 0 or some random value,
so we should not use it. In case errno happens to be 0, we end up returning
a success status from a function while we should have returned a failure.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:13:36 +03:00
Kir Kolyshkin
40978ef32c zdtm/live/static/socket-tcpbuf: fix error message
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:13:27 +03:00
Kir Kolyshkin
f42bc58311 zdtm: sanitize pr_perror() usage
Log function pr_perror() automatically adds
 - numeric errno value
 - string errno value (aka strerror(errno), aka %m)
 - a newline

So, its callers don't have to do all these things.

While at it, also
 - fix or improve some message texts
 - replace fnprintf() with pr_perror()

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:13:16 +03:00
Kir Kolyshkin
d033577954 test_msg(): avoid recursion
In (highly unlikely) case localtime() failed, test_msg() calls
pr_perror() which is a wrapper around test_msg() so we're
calling ourselves, which can lead to infinite recursion if
localtime() keeps failing. Use fprintf() here to avoid this.

Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:12:54 +03:00
Andrew Vagin
ae6294f4d2 zdtm: return non-zero code in a error case
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-26 12:11:59 +03:00
Kir Kolyshkin
628a488531 test: fix error messages
Signed-off-by: Kir Kolyshkin <kir@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-21 16:00:28 +03:00
Andrew Vagin
7235e9b50d zdtm: replace err() on pr_perror()
There is an another err() in glibc

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-21 14:54:53 +03:00
Andrew Vagin
f54e316eb0 zdtm: don't supply \n for err()
err() adds %m and \n at the end

Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-21 14:54:43 +03:00
Andrew Vagin
087b5cd5d9 test/zdtm: print a file name as string
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-21 14:54:02 +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
50ad633a9c zdtm: Fix mnt_id feature name in desc files
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 15:28:55 +04:00
Andrew Vagin
be16f4f09b jenkins: use zdtm.py to run criu-sibling
Signed-off-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-20 13:30:40 +03: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
Laurent Dufour
da1be409cc test: rtc don't use hard coded major value
The /dev/rtc device major value may change depending on the
architecture, and kernel release. To ensure the test rtc is working
all the time, we no longer belong on hard coded major value but peek
it from /dev/rtc itself.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-19 12:36:52 +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
Ruslan Kuprieiev
86bb235b5c test: libcriu: switch to using swrk instead of service
As our tests serve as an example for people on how to preferably
use criu, we need to also switch to swrk.

Signed-off-by: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-10-15 14:35:43 +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