#!/bin/sh -eu KERNEL_RELEASE="$1" mkdir "$AUTOPKGTEST_TMP"/foo cat >"$AUTOPKGTEST_TMP"/foo/foo.c < #include static int __init foo_init(void) { pr_info("foo initialised\n"); return 0; } module_init(foo_init); static void __exit foo_exit(void) { } module_exit(foo_exit); MODULE_LICENSE("GPL"); EOF cat >"$AUTOPKGTEST_TMP"/foo/Kbuild <&1 # Next, run the build with stdout sent to the original stdout and # stderr sent through tee to both the original stdout and a file make -C /lib/modules/"$KERNEL_RELEASE"/build M="$AUTOPKGTEST_TMP"/foo V=1 \ 2>&1 1>&3 | tee "$AUTOPKGTEST_TMP"/foo/make.stderr # Close fd 3 exec 3>&- # Check for any stderr output that doesn't match the suppressions if grep -q -v -E 'Skipping BTF generation .* due to unavailability of vmlinux' "$AUTOPKGTEST_TMP"/foo/make.stderr; then echo >&2 "E: Unexpected warning/error messages" fi echo "I: Clean" make -C /lib/modules/"$KERNEL_RELEASE"/build M="$AUTOPKGTEST_TMP"/foo V=1 clean