Linux-libre 5.3.12-gnu
[librecmc/linux-libre.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 # Load a program with BPF-to-BPF calls
37 libbpf_open_file test_l4lb_noinline.o
38
39 # Load a program compiled without the "-target bpf" flag
40 libbpf_open_file test_xdp.o
41
42 # Success
43 exit 0