Skip to content

Commit d03a7bc

Browse files
committed
adding/updating ci files
1 parent 80fc02e commit d03a7bc

File tree

5 files changed

+139
-18
lines changed

5 files changed

+139
-18
lines changed

README

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +0,0 @@
1-
Linux kernel
2-
============
3-
4-
There are several guides for kernel developers and users. These guides can
5-
be rendered in a number of formats, like HTML and PDF. Please read
6-
Documentation/admin-guide/README.rst first.
7-
8-
In order to build the documentation, use ``make htmldocs`` or
9-
``make pdfdocs``. The formatted documentation can also be read online at:
10-
11-
https://www.kernel.org/doc/html/latest/
12-
13-
There are various text files in the Documentation/ subdirectory,
14-
several of them using the Restructured Text markup notation.
15-
16-
Please read the Documentation/process/changes.rst file, as it contains the
17-
requirements for building and running the kernel, and information about
18-
the problems which may result by upgrading your kernel.

travis-ci/vmtest/configs/DENYLIST

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# TEMPORARY
2+
btf_dump/btf_dump: syntax
3+
kprobe_multi_test/bench_attach
4+
core_reloc/enum64val
5+
core_reloc/size___diff_sz
6+
core_reloc/type_based___diff_sz
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
tc_redirect/tc_redirect_dtime # very flaky
2+
lru_bug # not yet in bpf-next denylist
3+
usdt/basic # failing verifier due to bounds check after LLVM update
4+
usdt/multispec # same as above

travis-ci/vmtest/helpers.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# $1 - start or end
2+
# $2 - fold identifier, no spaces
3+
# $3 - fold section description
4+
foldable() {
5+
local YELLOW='\033[1;33m'
6+
local NOCOLOR='\033[0m'
7+
if [ $1 = "start" ]; then
8+
line="::group::$2"
9+
if [ ! -z "${3:-}" ]; then
10+
line="$line - ${YELLOW}$3${NOCOLOR}"
11+
fi
12+
else
13+
line="::endgroup::"
14+
fi
15+
echo -e "$line"
16+
}
17+
18+
__print() {
19+
local TITLE=""
20+
if [[ -n $2 ]]; then
21+
TITLE=" title=$2"
22+
fi
23+
echo "::$1${TITLE}::$3"
24+
}
25+
26+
# $1 - title
27+
# $2 - message
28+
print_error() {
29+
__print error $1 $2
30+
}
31+
32+
# $1 - title
33+
# $2 - message
34+
print_notice() {
35+
__print notice $1 $2
36+
}

travis-ci/vmtest/run_selftests.sh

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
source $(cd $(dirname $0) && pwd)/helpers.sh
6+
7+
ARCH=$(uname -m)
8+
9+
STATUS_FILE=/exitstatus
10+
11+
read_lists() {
12+
(for path in "$@"; do
13+
if [[ -s "$path" ]]; then
14+
cat "$path"
15+
fi;
16+
done) | cut -d'#' -f1 | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' | tr -s '\n' ','
17+
}
18+
19+
TEST_PROGS_ARGS=""
20+
# Disabled due to issue
21+
# if [[ "$(nproc)" -gt 2 ]]; then
22+
# TEST_PROGS_ARGS="-j"
23+
# fi
24+
25+
test_progs() {
26+
foldable start test_progs "Testing test_progs"
27+
# "&& true" does not change the return code (it is not executed
28+
# if the Python script fails), but it prevents exiting on a
29+
# failure due to the "set -e".
30+
./test_progs ${DENYLIST:+-d"$DENYLIST"} ${ALLOWLIST:+-a"$ALLOWLIST"} ${TEST_PROGS_ARGS} && true
31+
echo "test_progs:$?" >>"${STATUS_FILE}"
32+
foldable end test_progs
33+
}
34+
35+
test_progs_no_alu32() {
36+
foldable start test_progs-no_alu32 "Testing test_progs-no_alu32"
37+
./test_progs-no_alu32 ${DENYLIST:+-d"$DENYLIST"} ${ALLOWLIST:+-a"$ALLOWLIST"} ${TEST_PROGS_ARGS} && true
38+
echo "test_progs-no_alu32:$?" >>"${STATUS_FILE}"
39+
foldable end test_progs-no_alu32
40+
}
41+
42+
test_maps() {
43+
foldable start test_maps "Testing test_maps"
44+
taskset 0xF ./test_maps && true
45+
echo "test_maps:$?" >>"${STATUS_FILE}"
46+
foldable end test_maps
47+
}
48+
49+
test_verifier() {
50+
foldable start test_verifier "Testing test_verifier"
51+
./test_verifier && true
52+
echo "test_verifier:$?" >>"${STATUS_FILE}"
53+
foldable end test_verifier
54+
}
55+
56+
foldable end vm_init
57+
58+
foldable start kernel_config "Kconfig"
59+
60+
zcat /proc/config.gz
61+
62+
foldable end kernel_config
63+
64+
configs_path=${PROJECT_NAME}/selftests/bpf
65+
local_configs_path=${PROJECT_NAME}/vmtest/configs
66+
DENYLIST=$(read_lists \
67+
"$configs_path/DENYLIST" \
68+
"$configs_path/DENYLIST.${ARCH}" \
69+
"$local_configs_path/DENYLIST" \
70+
"$local_configs_path/DENYLIST.${ARCH}" \
71+
)
72+
ALLOWLIST=$(read_lists \
73+
"$configs_path/ALLOWLIST" \
74+
"$configs_path/ALLOWLIST.${ARCH}" \
75+
"$local_configs_path/ALLOWLIST" \
76+
"$local_configs_path/ALLOWLIST.${ARCH}" \
77+
)
78+
79+
echo "DENYLIST: ${DENYLIST}"
80+
echo "ALLOWLIST: ${ALLOWLIST}"
81+
82+
cd ${PROJECT_NAME}/selftests/bpf
83+
84+
if [ $# -eq 0 ]; then
85+
test_progs
86+
test_progs_no_alu32
87+
test_maps
88+
test_verifier
89+
else
90+
for test_name in "$@"; do
91+
"${test_name}"
92+
done
93+
fi

0 commit comments

Comments
 (0)