criu/test/others/libcriu
Radostin Stoyanov b7b5052e87 test: Cover compressed page restore paths
Existing memory tests do not deliberately produce every compression
storage form or cross compression-specific batch and transport
boundaries. Regressions in zero, LZ4, raw, and mixed handling could
therefore go unnoticed.

Add neutral pages_content workloads and use them through symlinked
per-page and region-compressed variants. The same contents now run
uncompressed in ordinary sweeps, while NO_LZ4 builds skip only the
compressed variants.

Exercise compressible, incompressible, zero, mixed, file-backed, COW,
and exceptional mappings. Keep a large private zero range over nonzero
file contents so automatic restore exercises parallel zero filling when
the host has at least two available CPUs, and cannot pass by leaving an
untouched zero mapping. Size the compressible mapping at 33 MiB so
restore handles one full 32 MiB batch followed by 1 MiB of useful work.
This crosses the batch boundary with enough work to exercise read/decode
overlap. Cover pre-dump, deduplication, lazy pages, stream, direct I/O,
page server, RPC, region boundaries, incremental parent chains, and
repeated batches beyond 32 MiB. Verify restored contents in every case.

Pass both syntaxes for restore-only decompression options through the
ZDTM RPC runner. Exercise automatic concurrency in per-page and region
variants; the remaining variants retain the serial default.

Suggested-by: Andrei Vagin <avagin@google.com>
Assisted-by: Codex:GPT-5
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2026-07-14 10:17:01 +01:00
..
.gitignore test/libcriu: check setting of RPC config file 2025-11-05 15:41:34 -08:00
lib.c test: fix compilation with clang 2026-06-11 08:51:47 +01:00
lib.h test: fix compilation with clang 2026-06-11 08:51:47 +01:00
Makefile test/libcriu: use CC variable instead of hardcoded gcc 2026-06-11 08:51:47 +01:00
run.sh crtools/rpc/libcriu: Expose page compression 2026-07-14 10:17:01 +01:00
test_check.c test/others: add test for check() with libcriu 2025-11-05 15:41:35 -08:00
test_errno.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
test_feature_check.c crtools/rpc/libcriu: Expose page compression 2026-07-14 10:17:01 +01:00
test_iters.c test: another clang compilation error fix 2026-06-11 10:03:11 +01:00
test_join_ns.c test/libcriu: add test case for join-ns 2021-10-12 12:58:43 -07:00
test_notify.c tests: added test for single pre-dump support 2022-04-28 17:53:52 -07:00
test_pre_dump.c tests: added test for single pre-dump support 2022-04-28 17:53:52 -07:00
test_rpc_config.c crtools/rpc/libcriu: Expose page compression 2026-07-14 10:17:01 +01:00
test_self.c libcriu: define log level constants 2021-10-12 12:58:43 -07:00
test_sub.c test: Cover compressed page restore paths 2026-07-14 10:17:01 +01:00