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

82 Commits

Author SHA1 Message Date
Andrei Vagin
04a843c2f2 test: don't save content of /sys/kernel/debug/tracing/trace
We don't tune tracers, so we don't expect to get anything.
In docker containers, debugfs isn't mounted and this command failed.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-06-08 09:54:22 +03:00
Andrei Vagin
c9c4baa3eb jenkins: add a pipeline file for criu-lazy-migration
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-21 02:25:20 +03:00
Mike Rapoport
85fd6abea4 test: lazy-pages: exclude maps007
With userfaultfd we cannot reliably service process_vm_readv calls. The
maps007 test that uses these calls passed previously by sheer luck.

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2018-04-19 23:26:34 +03:00
Mike Rapoport
0c6dadf2f4 test/jenkins: add script for lazy migration testing
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
2018-02-19 20:37:49 +03:00
Dmitry Safonov
f5c11168d5 fault-inj: Silently dying helper's child
The restorer blob may die silently due to anything:
- Segmentation fault
- OOM killer
- User-sended SIGKILL
- Child CRIU restorer did't abort futex on error path (and exited)

We should terminate the restoring process and avoid locking
self up on waiting for died restoree.

Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-11-30 01:31:03 +03:00
Cyrill Gorcunov
78d4f7c352 test: jenkins -- Add huge shmid fault into the tests
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-11-23 20:23:13 +03:00
Mike Rapoport
f7e52b8b4a jenkins: lazy-pages: split lazy-pages runs to local and remote
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-10-17 08:40:10 +03:00
Mike Rapoport
737a561703 jenkins: criu-lib: add BUILD_NUMBER to the archive filename
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-10-17 08:40:10 +03:00
Dmitry Safonov
8459a3de9d vdso/zdtm: Add iterative proxification test
Test for previously fixed bugs for vdso-trampolines insertion:
- unmapping original vvar (which went unnoticed)
- leaving rt-vvar after each C/R cycle and resulting pollution

Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-09-21 00:56:51 +03:00
Mike Rapoport
440a2a864a jenkins: lazy-pages: skip maps04 for remote-lazy-pages
Even with 2 parallel jobs maps04 takes too much time with
--remote-lazy-pages. Let's skip it for now.

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-09-17 03:27:03 +03:00
Mike Rapoport
97fbb1bdc4 jenkins: lazy-pages: reduce amount of parallel runs for --remote case
Running zdtm/static/maps04 with --remote-lazy-pages in parallel with 3
other tests takes too much time on the Jenkins builder. Let's try running
with --parallel 2.

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-09-17 03:27:03 +03:00
Mike Rapoport
0ebf7b81fa test/jenkins: update lazy-pages testing
* select excluded tests based on the kernel version
* test local and remote lazy-pages with and withour pre-dump

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-09-16 12:29:57 +03:00
Mike Rapoport
6de76ba0ac test/jenkins: extend lazy-pages testing
Add pre-dump and remote-lazy-pages passes to criu-lazy-pages.sh

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-09-16 11:47:02 +03:00
Mike Rapoport
a29f84a4ab jenkins: fix criu-lazy-pages.sh permissions
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-09-16 09:16:33 +03:00
Mike Rapoport
4bb1272ba5 test: add scripts to allow Mr. Jenkins check lazy-pages
Very minimalistic at the moment, no remote pages and namesapces.
Still better than nothing :)

Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-09-16 09:16:32 +03:00
Dmitry Safonov
a90c07d6dd fault/vdso/restorer: add force-injection of trampolines
To check that jump trampolines to rt-vdso works.

Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-03-15 09:36:07 +03:00
Pavel Emelyanov
649280e31d pagemap: Fault inject partial pages.img read
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2017-03-02 00:19:03 +03:00
Andrei Vagin
9c26bae05a fault: check link_remaps if the restore fails at the last moment
link-remap files has to be deleted only if processes have been
restored successfully. Otherwise we can want to repeat an attempt,
but it is imposible if some link-remap files were deleted.

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-12-21 11:23:02 +03:00
Andrew Vagin
3b366c3141 zdtm: check "criu dedup"
Add a new option to zdtm.py to run "criu dedup" after "criu dump"
or "criu pre-dump".

Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-26 15:42:40 +03:00
Andrei Vagin
42058dc7ce test: don't do MS_REC|MS_PRIVATE for host mounts
Here is a race when someone umounted something and this operation
isn't propagated into our namespace.

CRIU                                | Another process
-----------------------------------------------------------------
pivot_root(".", put_root)           |
mount(put_root, MS_REC|MS_PRIVATE)  |
                                    | umount /xxx/yyy
                                    | umount /xxx -> EBUSY
umount(put_root)

We do this to not affect mounts in put_root, but we can mask
these mounts as slave and this will work for us and for external
users.

Reported-by: Mr Travis
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-06 19:31:20 +03:00
Eugene Batalov
dd7cfba0ae test: new jenkins script for testing of --leave-stopped option
There is no similar jenkins script that tests similar options now.
So make a new script.

Signed-off-by: Eugene Batalov <eabatalov89@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-06 19:31:20 +03:00
Eugene Batalov
40f56d5dc3 test: add test for anon shmem dedup
Main test features:
- Non trivial ps tree with non trivial anon shmem regions
  (no such test exists now).
- Each ps tree process continuously writes parts of anon shmem
  vmas and validates these writes after restore
  (required for dedup testing).
- Checking simultaneous changing of anon shmem contents in different
  processes.

Signed-off-by: Eugene Batalov <eabatalov89@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-06 19:31:19 +03:00
Andrew Vagin
fafdfb4754 faul-inject: Check a case when parasite can't initialize a command socket
Give a fake address for a server socket.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-08-11 16:18:43 +03:00
Andrew Vagin
93e922238d criu: check that ghost files are cleaned up in error cases
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-08-01 16:51:33 +03:00
Andrew Vagin
628b125866 zdtm.py: check restore when criu dump runs over a non-root user
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-08-01 16:51:33 +03:00
Andrew Vagin
9205fc3dec travis: add more tests to maximise code coverage
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-08-01 16:51:05 +03:00
Andrew Vagin
9064905720 jenkins: add a new job to check --join-ns
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-06-01 14:52:21 +03:00
Pavel Emelyanov
330b0d1656 test: Check action scripts to work as we expect
We expect:

- all 9 scripts are called
- there's always images dir variable
- for 7 of those scripts there's root-pid variable

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Acked-by: Andrew Vagin <avagin@virtuozzo.com>
2016-05-06 14:39:25 +03:00
Pavel Emelyanov
4576a03385 tests: Check that no-breakpoints restore works
v2: Don't clear_breakpoints too.

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-05-06 14:38:29 +03:00
Dmitry Safonov
35f209ff76 fault: add dump pages fault for parasite_dump_pages_seized
Parasite should cleanup after fauilure and remove read-protection
from VMAs. Check it with maps00 test & fault injection.

Tested on travis with some addition:
python test/zdtm.py run -t zdtm/static/maps00 --fault 3 --keep-going --report report -f h || false
https://travis-ci.org/0x7f454c46/criu/jobs/119252291

Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-04-04 17:10:15 +03:00
Pavel Emelyanov
070d420be6 test: Check nomemfd parasite injection
By default criu tries to create parasite mem with memfd syscall,
which is present in many systems. Let's check also the legacy way.

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-04-04 17:10:14 +03:00
Andrew Vagin
08ff91d966 jenkins: build a coverage report if GCOV is set (v2)
v2: set umask to 0000. It's required to generate gcda, gcno files
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-04-01 18:06:29 +03:00
Andrew Vagin
8d23e3342f jenkins: use a full name of the --keep-img option
+ ./test/zdtm.py run --all -f best -x maps04 -x cgroup02 --norst --keep always
usage: CRIU test suite run [-h] [-a] [-t TEST] [-T TESTS] [-f FLAVOR]
                           [-x EXCLUDE] [--sibling] [--pre PRE] [--snaps]
                           [--dedup] [--nocr] [--norst] [--iters ITERS]
                           [--fault FAULT] [--sat] [--sbs]
                           [--freezecg FREEZECG] [--user] [--page-server]
                           [-p PARALLEL] [--dry-run]
                           [-k {always,never,failed}] [--report REPORT]
                           [--keep-going]
CRIU test suite run: error: ambiguous option: --keep could match --keep-img, --keep-going

It worked fine without the --keep-going option.

[xemul: Remove the --keep-going and --report options, the run
        of zdtm.py is not of much interest for TAP ]

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-03-25 23:39:21 +03:00
Sergey Bronnikov
229a6edfbd jenkins: change jenkins script to run full set of tests
add options --keep-going and --report (if it was absent)
to run full testrun with report creation

Signed-off-by: Sergey Bronnikov <sergeyb@openvz.org>
Acked-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-03-25 23:39:21 +03:00
Andrei Vagin
c5c5434506 fault: add ability to fault open_by_handel in check_open_handle
From code coverage report, we found that inotify_irmap doesn't test irmap
cache, because we is always able to resolve path from /proc/PID/fd/X.

Current view:	top level - criu - irmap.c (source / functions)			Hit	Total	Coverage
Test:	criu.info		Lines:	40	223	17.9 %
Date:	2016-03-16		Functions:	4	13	30.8 %

This series introduces a new fault to emulate a situation
when a file can't be opened by handle and we have to find
it in the irmap cache/

It's required to test irmap cache. I don't know how to force it
without this patch. Each time when a file can be opened by handle,
its path can be resolved via /proc/PID/fd/X.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-03-25 23:36:13 +03:00
Andrew Vagin
3006ada21d jenkins: add a script to execute tests on overlayfs
Here are all tests which pass now

And I created an issue to investigate fails of other tests:
https://github.com/xemul/criu/issues/136

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-03-16 16:16:08 +03:00
Andrew Vagin
2cb4532e26 tests: remove zdtm.sh (v2)
It was replaced by zdtm.py.

v2: remove zdtm.sh from other scripts
    remove fault-injection, because nobody uses it

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-24 13:09:57 +03:00
Pavel Emelyanov
c07ef80481 jenkins: The "live" subdir is no longer there
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-20 15:51:07 +03:00
Cyrill Gorcunov
3a234722df test: jenkins -- Fix path for pycriu
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-02-16 10:48:15 +03:00
Andrew Vagin
5d75e1f4cf jenkins: add a script to check inherit file descriptors
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-29 14:45:13 +03:00
Pavel Emelyanov
b8d92bd4eb jenkins: Add user mode job
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Looks-good-to-me: Andrew Vagin <avagin@virtuozzo.com>
2015-12-24 14:42:41 +03:00
Pavel Emelyanov
a5c2e8cd86 jenkins: Mount binfmt misc in run_ct
The mountpoints.c test creates such mount and criu will try to
kerndat-check one, so this fs should be on "host".

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-23 17:12:53 +03:00
Andrew Vagin
c3e9140304 jenkins: build criu with debuginfo
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-23 16:34:27 +03:00
Pavel Emelyanov
505896e664 zdtm.py: Test how freeze cgroup works (v2)
V2: Fix the test/Makefile

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by:  Andrew Vagin <avagin@virtuozzo.com>
2015-12-23 15:43:37 +03:00
Pavel Emelyanov
bde6d0dbf9 jenkins: No parallelizm for group test
The head test is zdtm/lib/group, so it is impossible to run several
instances of it in parallel

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-11 17:49:55 +03:00
Pavel Emelyanov
e71d50894d jenkins: Add groups
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-11 16:51:18 +03:00
Pavel Emelyanov
3825c3e5d4 crit: Speed up jenkins test ~60 times
Running crit tool 4 times per test (decode, encode, decode --pretty
and encode back again) is way too slow. The majority of time, as
it turned out, goes on python load and arguments parsing. The en-
and de-coding works pretty fast.

So doing re-code logic in one python script for ALL images is way
way faster -- ~1 hour vs ~1 minute on my box.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-11 16:36:05 +03:00
Pavel Emelyanov
16dccd5ca2 jenkins: Fix CRIT test to skip non-criu images and provide cumulative output
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-08 18:21:47 +03:00
Pavel Emelyanov
77f9b7bfbb jenkins: Add test for crit de/encode correctness
The crit tool should decode and encode all images and after
de- and en- sequence the result should be the same as before.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Acked-by: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com>
2015-12-08 15:06:08 +03:00
Pavel Emelyanov
c1b1880b34 zdtm: Check how auto-dedup works
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-11-30 11:44:57 +03:00