1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3
4export TESTNAME=test_libbpf
5
6# Determine selftest success via shell exit code
7exit_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
17libbpf_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.
29set -e
30
31# (Use 'trap -l' to list meaning of numbers)
32trap exit_handler 0 2 3 6 9
33
34libbpf_open_file test_l4lb.o
35
36# Load a program with BPF-to-BPF calls
37libbpf_open_file test_l4lb_noinline.o
38
39# Load a program compiled without the "-target bpf" flag
40libbpf_open_file test_xdp.o
41
42# Success
43exit 0
44