Merge tag 'stackleak-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / tools / testing / selftests / bpf / test_libbpf.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3
4 export TESTNAME=test_libbpf
5
6 # Determine selftest success via shell exit code
7 exit_handler()
8 {
9         if [ $? -eq 0 ]; then
10                 echo "selftests: $TESTNAME [PASS]";
11         else
12                 echo "$TESTNAME: failed at file $LAST_LOADED" 1>&2
13                 echo "selftests: $TESTNAME [FAILED]";
14         fi
15 }
16
17 libbpf_open_file()
18 {
19         LAST_LOADED=$1
20         if [ -n "$VERBOSE" ]; then
21             ./test_libbpf_open $1
22         else
23             ./test_libbpf_open --quiet $1
24         fi
25 }
26
27 # Exit script immediately (well catched by trap handler) if any
28 # program/thing exits with a non-zero status.
29 set -e
30
31 # (Use 'trap -l' to list meaning of numbers)
32 trap exit_handler 0 2 3 6 9
33
34 libbpf_open_file test_l4lb.o
35
36 # TODO: fix libbpf to load noinline functions
37 # [warning] libbpf: incorrect bpf_call opcode
38 #libbpf_open_file test_l4lb_noinline.o
39
40 # TODO: fix test_xdp_meta.c to load with libbpf
41 # [warning] libbpf: test_xdp_meta.o doesn't provide kernel version
42 #libbpf_open_file test_xdp_meta.o
43
44 # TODO: fix libbpf to handle .eh_frame
45 # [warning] libbpf: relocation failed: no section(10)
46 #libbpf_open_file ../../../../samples/bpf/tracex3_kern.o
47
48 # Success
49 exit 0