Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# $FreeBSD$

failures=0

check() {
	testcase=$1
	expect=$2
	eval "set -- $testcase"
	actual="$*"
	if [ "$actual" != "$expect" ]; then
		failures=$((failures+1))
		printf '%s\n' "For $testcase, expected $expect actual $actual"
	fi
}

set -e
T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX)
trap 'rm -rf $T' 0
cd -P $T

mkdir !!a
touch !!a/fff

chmod u-r .
check '!!a/ff*' '!!a/fff'
chmod u+r .

exit $((failures != 0))