[CRIU] [RFC PATCH 00/21] zdtm: multiple tests in one process

Ivan Shapovalov intelfx at intelfx.name
Fri Feb 19 06:50:23 PST 2016


This patch series adds the "multi-test launcher" and related infrastructure
to start multiple tests in one process. There are (almost) no modifications
to the tests themselves; the ability to run tests standalone is also preserved
on binary level (except for tests which use TLS, which seem to break
when built with -pie for reasons that I do not completely understand).

This patch series is incomplete in one regard: zdtm.py test "shell" has not
been modified to generate random sets of tests and start the multi-test
launcher via its own makefile. Instead, the pre-existing "single test in
process" mode has been modified to go through the launcher, which is to
conduct some basic testing of the new mechanism.

Probably this patch series conflicts with some patches currently in-flight
on the ML, but I have rebased it against master shortly before sending
and will do it again when conflicting patches hit master.

Ivan Shapovalov (21):
  zdtm: zdtm.py: elaborate file copying logic for ns tests
  zdtm: zdtm.py: add --keep-going and --log-failures options
  zdtm: zdtm.py: remove directories before recreating them in __construct_root(); fix TOCTTOU in clean()
  zdtm: Makefile: remove lib, not lib/ (it could be a symlink pointing to host)
  compiler.h: add basic attribute cleanup machinery
  zdtm: reuse criu's compiler.h
  zdtm: make libzdtmtst a shared object
  zdtm: specify rpath relative to $ORIGIN
  zdtm: cleanup and deduplicate Makefiles
  zdtm: separate test launch and cmdline generation phases
  zdtm: file_locks00: report pass/fail in parent process
  zdtm: add some missed binaries to .gitignore
  zdtm: export some internals of libzdtmtst
  zdtm: add pr_debug() macro in line with other pr_*
  zdtm: include tid in debug messages
  zdtm: write our own assert()
  zdtm: add the multi-test launcher
  zdtm: use the multi-test launcher by default
  zdtm: Makefile: build TLS-using tests with -shared rather than -pie
  zdtm: Makefile: run tests with busy-loops using threaded launcher mode
  zdtm: Makefile.multi: add a makefile for using the multi-test launcher in multi-test mode

 criu/include/compiler.h              |  10 +
 test/Makefile                        |   4 +-
 test/zdtm.py                         | 119 ++++-
 test/zdtm/.gitignore                 |  13 +-
 test/zdtm/Makefile                   |  14 +-
 test/zdtm/Makefile.inc               |   3 +-
 test/zdtm/launcher/Makefile          |  32 ++
 test/zdtm/launcher/launcher.c        | 831 +++++++++++++++++++++++++++++++++++
 test/zdtm/lib/Makefile               |   8 +-
 test/zdtm/lib/include/compiler.h     |   1 +
 test/zdtm/lib/msg.c                  |   7 +
 test/zdtm/lib/parseargs.c            |   6 +-
 test/zdtm/lib/test.c                 |  63 ++-
 test/zdtm/lib/zdtmtst.h              |  58 ++-
 test/zdtm/lib/zdtmtst_internal.h     |  40 ++
 test/zdtm/live/Makefile.live         | 108 +++++
 test/zdtm/live/Makefile.multi        |  17 +
 test/zdtm/live/static/Makefile       | 137 +-----
 test/zdtm/live/static/file_locks00.c |  11 +-
 test/zdtm/live/static/fpu01.c        |  10 +-
 test/zdtm/live/streaming/Makefile    |  78 +---
 test/zdtm/live/transition/Makefile   |  82 +---
 22 files changed, 1332 insertions(+), 320 deletions(-)
 create mode 100644 test/zdtm/launcher/Makefile
 create mode 100644 test/zdtm/launcher/launcher.c
 create mode 120000 test/zdtm/lib/include/compiler.h
 create mode 100644 test/zdtm/lib/zdtmtst_internal.h
 create mode 100644 test/zdtm/live/Makefile.live
 create mode 100644 test/zdtm/live/Makefile.multi

-- 
2.7.1



More information about the CRIU mailing list