selftests/bpf: Convert test_cgroup_attach to prog_tests
authorAndrey Ignatov <rdna@fb.com>
Thu, 19 Dec 2019 07:44:37 +0000 (23:44 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 20 Dec 2019 05:22:26 +0000 (21:22 -0800)
commit257c88559f360ef40d251942f1f9f0c55f5f91ca
tree624427c1bb767f92dad9b7fc4166cc7d99a5c732
parentcdbee3839cd91a4577425c43cf064b9523926159
selftests/bpf: Convert test_cgroup_attach to prog_tests

Convert test_cgroup_attach to prog_tests.

This change does a lot of things but in many cases it's pretty expensive
to separate them, so they go in one commit. Nevertheless the logic is
ketp as is and changes made are just moving things around, simplifying
them (w/o changing the meaning of the tests) and making prog_tests
compatible:

* split the 3 tests in the file into 3 separate files in prog_tests/;

* rename the test functions to test_<file_base_name>;

* remove unused includes, constants, variables and functions from every
  test;

* replace `if`-s with or `if (CHECK())` where additional context should
  be logged and with `if (CHECK_FAIL())` where line number is enough;

* switch from `log_err()` to logging via `CHECK()`;

* replace `assert`-s with `CHECK_FAIL()` to avoid crashing the whole
  test_progs if one assertion fails;

* replace cgroup_helpers with test__join_cgroup() in
  cgroup_attach_override only, other tests need more fine-grained
  control for cgroup creation/deletion so cgroup_helpers are still used
  there;

* simplify cgroup_attach_autodetach by switching to easiest possible
  program since this test doesn't really need such a complicated program
  as cgroup_attach_multi does;

* remove test_cgroup_attach.c itself.

Signed-off-by: Andrey Ignatov <rdna@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/0ff19cc64d2dc5cf404349f07131119480e10e32.1576741281.git.rdna@fb.com
tools/testing/selftests/bpf/.gitignore
tools/testing/selftests/bpf/Makefile
tools/testing/selftests/bpf/prog_tests/cgroup_attach_autodetach.c [new file with mode: 0644]
tools/testing/selftests/bpf/prog_tests/cgroup_attach_multi.c [new file with mode: 0644]
tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c [new file with mode: 0644]
tools/testing/selftests/bpf/test_cgroup_attach.c [deleted file]