Skip to content

Commit

Permalink
selftests/bpf: Add parallelism to test_progs
Browse files Browse the repository at this point in the history
This patch adds "-j" mode to test_progs, executing tests in multiple
process.  "-j" mode is optional, and works with all existing test
selection mechanism, as well as "-v", "-l" etc.

In "-j" mode, main process use UDS/SEQPACKET to communicate to each forked
worker, commanding it to run tests and collect logs. After all tests are
finished, a summary is printed. main process use multiple competing
threads to dispatch work to worker, trying to keep them all busy.

The test status will be printed as soon as it is finished, if there are
error logs, it will be printed after the final summary line.

By specifying "--debug", additional debug information on server/worker
communication will be printed.

Example output:
  > ./test_progs -n 15-20 -j
  [   12.801730] bpf_testmod: loading out-of-tree module taints kernel.
  Launching 8 workers.
  grate-driver#20 btf_split:OK
  grate-driver#16 btf_endian:OK
  grate-driver#18 btf_module:OK
  grate-driver#17 btf_map_in_map:OK
  grate-driver#19 btf_skc_cls_ingress:OK
  grate-driver#15 btf_dump:OK
  Summary: 6/20 PASSED, 0 SKIPPED, 0 FAILED

Signed-off-by: Yucong Sun <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
  • Loading branch information
thefallentree authored and anakryiko committed Oct 8, 2021
1 parent a1852ce commit 91b2c0a
Show file tree
Hide file tree
Showing 2 changed files with 610 additions and 37 deletions.
Loading

0 comments on commit 91b2c0a

Please sign in to comment.