13de33a5dc
This change is a proof of concept on how to easily integrate existing tests from the tools/regression/ hierarchy into the /usr/tests/ test suite and on how to adapt them to the new layout for src. To achieve these goals, this change: - Moves tests from tools/regression/bin/<tool>/ to bin/<tool>/tests/. - Renames the previous regress.sh files to legacy_test.sh. - Adds Makefiles to build and install the tests and all their supporting data files into /usr/tests/bin/. - Plugs the legacy_test test programs into the test suite using the new TAP backend for Kyua (appearing in 0.8) so that the code of the test programs does not have to change. - Registers the new directories in the BSD.test.dist mtree file. Reviewed by: freebsd-testing Approved by: rpaulo (mentor)
78 lines
1.3 KiB
Plaintext
78 lines
1.3 KiB
Plaintext
# $FreeBSD$
|
|
|
|
failures=0
|
|
|
|
check() {
|
|
if [ $(($1)) != $2 ]; then
|
|
failures=$((failures+1))
|
|
echo "For $1, expected $2 actual $(($1))"
|
|
fi
|
|
}
|
|
|
|
# variables
|
|
unset v
|
|
check "v=2" 2
|
|
check "v" 2
|
|
check "$(($v))" 2
|
|
check "v+=1" 3
|
|
check "v" 3
|
|
|
|
# constants
|
|
check "4611686018427387904" 4611686018427387904
|
|
check "0x4000000000000000" 4611686018427387904
|
|
check "0400000000000000000000" 4611686018427387904
|
|
check "0x4Ab0000000000000" 5381801554707742720
|
|
check "010" 8
|
|
|
|
# try out all operators
|
|
v=42
|
|
check "!v" 0
|
|
check "!!v" 1
|
|
check "!0" 1
|
|
check "~0" -1
|
|
check "~(-1)" 0
|
|
check "-0" 0
|
|
check "-v" -42
|
|
check "v*v" 1764
|
|
check "v/2" 21
|
|
check "v%10" 2
|
|
check "v+v" 84
|
|
check "v-4" 38
|
|
check "v<<1" 84
|
|
check "v>>1" 21
|
|
check "v<43" 1
|
|
check "v>42" 0
|
|
check "v<=43" 1
|
|
check "v>=43" 0
|
|
check "v==41" 0
|
|
check "v!=42" 0
|
|
check "v&3" 2
|
|
check "v^3" 41
|
|
check "v|3" 43
|
|
check "v>=40&&v<=44" 1
|
|
check "v<40||v>44" 0
|
|
check "(v=42)&&(v+=1)==43" 1
|
|
check "v" 43
|
|
check "(v=42)&&(v-=1)==41" 1
|
|
check "v" 41
|
|
check "(v=42)&&(v*=2)==84" 1
|
|
check "v" 84
|
|
check "(v=42)&&(v/=10)==4" 1
|
|
check "v" 4
|
|
check "(v=42)&&(v%=10)==2" 1
|
|
check "v" 2
|
|
check "(v=42)&&(v<<=1)==84" 1
|
|
check "v" 84
|
|
check "(v=42)&&(v>>=2)==10" 1
|
|
check "v" 10
|
|
check "(v=42)&&(v&=32)==32" 1
|
|
check "v" 32
|
|
check "(v=42)&&(v^=32)==10" 1
|
|
check "v" 10
|
|
check "(v=42)&&(v|=32)==42" 1
|
|
check "v" 42
|
|
|
|
# missing: ternary
|
|
|
|
exit $((failures != 0))
|