2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-27 12:28:14 +00:00

1777 Commits

Author SHA1 Message Date
Stanislav Kinsbursky
74ee5df924 zdtm: POSIX timers migration test
This test set up two posix timers with different clocks: REALTIME and
MONOTONIC.
Both send signals.
Signals are disabled before suspend. This makes overrun counters increasing.
After restore tests enables signals, and make sure, that:
1) signal handler for both timers was called with proper arguments
2) time displacement for both timers is not greater than specified (10% by
default).

Signed-off-by: Stanislav Kinsbursky <skinsbursky@openvz.org>
Acked-by: Vladimir Davydov <VDavydov@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-11 17:13:30 +04:00
Andrey Vagin
208292fd21 zdtm: add a smoke test for cow memory (v2)
A test allocates and filles one page, creates a new child, then
compares pfn-s for both processes.

v2: set a position on each iteration

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-11 17:12:17 +04:00
Pavel Emelyanov
23cd070339 zdtp: Test that supplementary groups are supported
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-11 17:07:05 +04:00
Andrey Vagin
7c8496f5b0 pipe00: replace polling on waiting
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-10 17:31:19 +04:00
Cyrill Gorcunov
79d00c29c0 zdtm: Don't forget to create /dev/ptmx in new root
Otherwise pty tests might fault.

Reported-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-02 23:08:02 +04:00
Cyrill Gorcunov
8a4ec72b2f zdtm: Move pty tests back to ns compatible list
Test pty03 is not yet ready for ns, will be addressed later.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-02 19:22:03 +04:00
Cyrill Gorcunov
4b99537cd4 zdtm: Mount devpts in new root
In case if we enter the new rootfs don't forget to
mount devpts, otherwise ttys can't be connected.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-02 19:21:30 +04:00
Andrey Vagin
0ee1eed5fd zdtm: simplify a case, when a root should be changed
We don't need to umount each points one by one,
if we are goning to do pivot_root().

"""
pivot_root moves the root file system of the current process to the
directory put_old and makes new_root the new root file system.
"""

So I suggest to do pivot_root() and then detach the old root, all
other mount points will be unmounted automatically.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-02 19:20:32 +04:00
Victor Konyashkin
c52be774f0 zdtm: It's need add format to fprintf
It's need add format to fprintf to avoid following error in Ubuntu 12.04:
msg.c:59:2: error: format not a string literal and no format arguments [-Werror=format-security]

Signed-off-by: Victor Konyashkin  <vkonyashkin@parallels.com>
Acked-by: Andrey Vagin <avagin@openvz.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-10-02 19:19:35 +04:00
Andrey Vagin
edf8ec3fe3 zdtm: add ability to make several iterations of dump/restore
Use the -i <num> option to zdtm.sh

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-28 19:50:40 +04:00
Andrey Vagin
1ce1cca2ac sk-queue: don't block on restore of socket queues
If a socket queue doesn't have a free space, a error should be returned,
because nobody reads this socket.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-28 16:42:15 +04:00
Pavel Emelyanov
1be08acc7c remap: Add cmdline option to allow linked remap
By default crtools shouldn't modify the environment, except for
killing the dumped tasks. The link remap does so and should sit
under explicit cmdline option.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-26 06:39:23 +04:00
Pavel Emelyanov
fe187fe0ed zdtm: Test that opened and unlinked files with non zero link count work
Same as unlink_fstat0x, but leave one link alive.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-26 06:25:15 +04:00
Andrey Vagin
3223165c32 app-test: dump and restore a Linux Container
network-script.sh is used for locking and unlocking network in CT.

Here is an example of an LXC config:
lxc.console=none
lxc.utsname = test-lxc
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.mount = /root/test-lxc/etc/fstab
lxc.rootfs = /root/test-lxc-root/

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-17 20:06:47 +04:00
Andrey Vagin
1da4441598 zdtm: add a stream test case for TCP connections
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-17 18:23:46 +04:00
Andrey Vagin
06282f407c zdtm: handle a partial read/write in socket-tcp
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-17 18:23:35 +04:00
Cyrill Gorcunov
e0b39c5fd9 zdtm: Make pty tests being non-ns
Until I figure out how to make them work in ns.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-14 20:47:12 +04:00
Cyrill Gorcunov
aa247d8631 zdtm: Enable pty tests
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-14 17:50:47 +04:00
Konstantin Khlebnikov
ae4796d025 zdtm: new testcase for unhashed proc entries
Testcase: fork child, chdir into /proc/$pid and kill child.

test for http://bugzilla.openvz.org/show_bug.cgi?id=2315

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrey Wagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-13 16:09:40 +04:00
Andrey Vagin
e628b63b17 zdtm: close an external tty
Redirect standard descriptors of a test init process in to the log file.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-13 16:09:13 +04:00
Andrey Vagin
499e4486f5 zdtm: run test in a new session
It was lost for tests which executed in a new namespaces.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-13 16:08:39 +04:00
Andrey Vagin
0e4ec77612 zdtm: check restore of TCP connections (v2)
The test creates two processes.
A first process creates a tcp server, a second one connects to it.
The first process is dumped and restored.
Then the test checks that the TCP connection is alive.

v2: fix compilation :)

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-13 14:56:30 +04:00
Andrey Vagin
689317bf4e zdtm: add a set of function for creating a tcp connection
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-13 14:55:08 +04:00
Cyrill Gorcunov
682b9d672c app-test: check screen application
Add test for screen c/r.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 20:03:01 +04:00
Cyrill Gorcunov
8895729906 zdtm: Add pty04 test
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 20:02:53 +04:00
Cyrill Gorcunov
1603f88836 zdtm: Add pty03 test
Non-opened control terminal

* Set a control terminal
* Close a file descriptor on it
* Dump/restore
* Open the control terminal (/dev/tty)
* Check, that it connected to the master end

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 20:02:46 +04:00
Cyrill Gorcunov
bc962a28d2 zdtm: Add pty02 test
The test is tricky -- it opens master in task 1
and dup it in task 2, then close in task 1 and
do C/R.

Thus we need to setup SID of master terminal
somehow in children, which usually fails in
currnt tty restore implementation.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 20:02:39 +04:00
Cyrill Gorcunov
1a41fcfc21 zdtm: Add pty01 test
Two slaves on same pty.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 20:02:32 +04:00
Andrey Vagin
3c51808f1a zdtm: make several connections to a file dgram socket
Before we checked only one connection.
With this patch the test reproduces a bug:

Error (sk-unix.c:395): BUG at sk-unix.c:395

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 15:16:41 +04:00
Konstantin Khlebnikov
1d6f3cce98 zdtm: don't start state-tests on global stop
$ make cleanout stop
rm -f -r *.pid *.out* *.test* *.state
./conntracks --statefile=conntracks.state --outfile=conntracks.out start
make: *** [conntracks.state] Error 1

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrey Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:38:01 +04:00
Konstantin Khlebnikov
1ca043ea1a zdtm: fix bashisms
`< $FILE` isn't posix compatible and doesn't work in dash

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrey Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:37:51 +04:00
Konstantin Khlebnikov
80a8cb80f2 zdtm.sh: fix bashisms
fix obvious bashisms to make script more portable

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrey Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:37:36 +04:00
Konstantin Khlebnikov
fd735d8be3 zdtm: fix struct tpacket_req3 redeclaration
Linux has it since v3.2

cc -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -I../../lib   packet_sock.c ../../lib/libzdtmtst.a   -o packet_sock
packet_sock.c:70:8: error: redefinition of ‘struct tpacket_req3’
In file included from packet_sock.c:23:0:
/usr/include/linux/if_packet.h:245:8: note: originally defined here

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:36:41 +04:00
Konstantin Khlebnikov
cfa2150490 zdtm: fix comilation for non-constant PAGE_SIZE
On some systems PAGE_SIZE is declared as sysconf(_SC_PAGESIZE) in <sys/user.h>
this is non-constant expression, so it cannot be used in type declarations.

cc -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0   -c -o ns.o ns.c
ns.c:124:7: error: variably modified ‘stack’ at file scope

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:36:30 +04:00
Konstantin Khlebnikov
dccb15cc0f zdtm: fix compilation in test_msg()
cc -g -O2 -Wall -Werror -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0   -c -o msg.o msg.c
msg.c: In function ‘test_msg’:
msg.c:40:6: error: variable ‘len’ set but not used [-Werror=unused-but-set-variable]

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-12 14:36:21 +04:00
Andrey Vagin
30b08baa52 zdtm: open an one unlinked files two times
A few test check restoring of file descriptors to a one file struct.
Here is better to check, that a few file struct can be linked to one unlinked file.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-11 18:00:16 +04:00
Andrey Vagin
8a7dc1da8f dump: dump zombies from another PID namespace
The problem is to get a virtual pid for zombies.
This code gets two list of children from current and target pidns.
Then it removes alive task from the second list and dumps remaining zombies.

A procfs from a target pidns is needed for dumping zombies,
crtools gets it from parasite code.

v2: Fix comment and get proc fd from a root task

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-07 19:17:18 +04:00
Andrey Vagin
d8af1d72fa zdtm: don't use dprintf, because it's not thread safe
pthread00 hangs if dprintf is used, and works well if fprintf is used.

One more mention of this bug is here:
http://sourceware.org/bugzilla/show_bug.cgi?id=12847

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-02 01:03:10 +04:00
Andrey Vagin
855c20ac1c zdtm: don't used --log-pid by default
I added this options and I found, that it was a bad idea.
Currently crtools prints PID for each message, so
--log-pid can help if an error in the restorer code.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-02 01:01:40 +04:00
Andrey Vagin
234b5883b9 zdtm: show errors if a test failed
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-02 01:00:26 +04:00
Andrey Vagin
292d0adfdd zdtm: add forgotten tests
This tests passed already, so add them in the regular list.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-09-02 01:00:07 +04:00
Andrey Vagin
c5f6a082b9 zdtm: use a current stack for preccesses created by clone()
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-28 23:19:45 +04:00
Andrey Vagin
eb63547a9b zdtm.sh: logfd can be closed when crtools already detached (v2)
So try to check on extra descriptors a few times

v2: move save_fds in a loop

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-21 15:33:01 +04:00
Andrey Vagin
fab874bf2f zdtm: check external sockets
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-21 15:32:45 +04:00
Andrey Vagin
410345a9d1 zdtm: add ability to create an external tasks
It will be used for checking tcp connections, external unix sockets, etc

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-21 15:31:59 +04:00
Andrey Vagin
c238e99b29 zdtm: rework logging
* Delete internal buffer, all data are written immediately in a log file
* Add timestamp and pid in a message
* All processes write log messages in one file

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-21 15:31:23 +04:00
Pavel Emelyanov
b719b93daa zdtm: Configure rings in packet socket test
Now we can at least look into images manually to check how
rings are dumped. Later we should write an auto test.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-20 15:33:00 +04:00
Pavel Emelyanov
398bec28a9 zdtm: Test for packet fanout
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-20 15:32:34 +04:00
Pavel Emelyanov
69acf64f57 packet: Add support for mclists
The implementation is rather straightforward. One thing to note
is that non-single membership of each type is not supported. It
can be done, but I'm unaware of any software doing so.

Note: the pb show routine should be tuned to support showing bytes.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-15 21:04:49 +04:00
Andrey Vagin
da2ebabf86 zdtm.sh: check that the util "ip" containes our patches
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-08-15 17:50:19 +04:00