|
@@ -0,0 +1,49 @@
|
|
|
+#!/bin/sh
|
|
|
+# SPDX-License-Identifier: GPL-2.0
|
|
|
+
|
|
|
+export TESTNAME=test_libbpf
|
|
|
+
|
|
|
+# Determine selftest success via shell exit code
|
|
|
+exit_handler()
|
|
|
+{
|
|
|
+ if (( $? == 0 )); then
|
|
|
+ echo "selftests: $TESTNAME [PASS]";
|
|
|
+ else
|
|
|
+ echo "$TESTNAME: failed at file $LAST_LOADED" 1>&2
|
|
|
+ echo "selftests: $TESTNAME [FAILED]";
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+libbpf_open_file()
|
|
|
+{
|
|
|
+ LAST_LOADED=$1
|
|
|
+ if [ -n "$VERBOSE" ]; then
|
|
|
+ ./test_libbpf_open $1
|
|
|
+ else
|
|
|
+ ./test_libbpf_open --quiet $1
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# Exit script immediately (well catched by trap handler) if any
|
|
|
+# program/thing exits with a non-zero status.
|
|
|
+set -e
|
|
|
+
|
|
|
+# (Use 'trap -l' to list meaning of numbers)
|
|
|
+trap exit_handler 0 2 3 6 9
|
|
|
+
|
|
|
+libbpf_open_file test_l4lb.o
|
|
|
+
|
|
|
+# TODO: fix libbpf to load noinline functions
|
|
|
+# [warning] libbpf: incorrect bpf_call opcode
|
|
|
+#libbpf_open_file test_l4lb_noinline.o
|
|
|
+
|
|
|
+# TODO: fix test_xdp_meta.c to load with libbpf
|
|
|
+# [warning] libbpf: test_xdp_meta.o doesn't provide kernel version
|
|
|
+#libbpf_open_file test_xdp_meta.o
|
|
|
+
|
|
|
+# TODO: fix libbpf to handle .eh_frame
|
|
|
+# [warning] libbpf: relocation failed: no section(10)
|
|
|
+#libbpf_open_file ../../../../samples/bpf/tracex3_kern.o
|
|
|
+
|
|
|
+# Success
|
|
|
+exit 0
|