diff options
author | Stanislav Fomichev <sdf@google.com> | 2019-03-01 19:42:18 -0800 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-03-02 11:10:40 -0800 |
commit | 271a6337cbaedfa9b93006326d0ecc28fd3dc71c (patch) | |
tree | 46e8d3a8ad185ee7c03fd6a8ef2d7eff0336445d /tools/testing/selftests/bpf/prog_tests/spinlock.c | |
parent | 20cb14ff9c49fcb189daf82246fb6fcd3923542c (diff) | |
download | linux-271a6337cbaedfa9b93006326d0ecc28fd3dc71c.tar.gz linux-271a6337cbaedfa9b93006326d0ecc28fd3dc71c.tar.bz2 linux-271a6337cbaedfa9b93006326d0ecc28fd3dc71c.zip |
selftests: bpf: break up test_progs - spinlock
Move spinlock prog tests into separate files.
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/spinlock.c')
-rw-r--r-- | tools/testing/selftests/bpf/prog_tests/spinlock.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/spinlock.c b/tools/testing/selftests/bpf/prog_tests/spinlock.c new file mode 100644 index 000000000000..9a573a9675d7 --- /dev/null +++ b/tools/testing/selftests/bpf/prog_tests/spinlock.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <test_progs.h> + +void test_spinlock(void) +{ + const char *file = "./test_spin_lock.o"; + pthread_t thread_id[4]; + struct bpf_object *obj; + int prog_fd; + int err = 0, i; + void *ret; + + err = bpf_prog_load(file, BPF_PROG_TYPE_CGROUP_SKB, &obj, &prog_fd); + if (err) { + printf("test_spin_lock:bpf_prog_load errno %d\n", errno); + goto close_prog; + } + for (i = 0; i < 4; i++) + assert(pthread_create(&thread_id[i], NULL, + &spin_lock_thread, &prog_fd) == 0); + for (i = 0; i < 4; i++) + assert(pthread_join(thread_id[i], &ret) == 0 && + ret == (void *)&prog_fd); + goto close_prog_noerr; +close_prog: + error_cnt++; +close_prog_noerr: + bpf_object__close(obj); +} |