96 lines
3.0 KiB
Bash
Executable File
96 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
FLGS=( -O2 -Wall -Wextra -Werror -I"${HEADERS}" -DULAPI -L"${LIBDIR}" )
|
|
gcc "${FLGS[@]}" -o initest initest.c -llinuxcncini || { echo "Failed compile"; exit 1; }
|
|
|
|
[ -x ./initest ] || { echo "initest program not present or executable"; exit 1; }
|
|
|
|
r() { echo "$@" >> result; }
|
|
f() { echo "***" "$@" "failed" >> result; }
|
|
t() { echo "***" "$@" "did not fail" >> result; }
|
|
tst() { ./initest "$@" xtest.ini >> result 2>&1; }
|
|
|
|
true > result
|
|
r "+++ Running test program for 'initest' +++"
|
|
|
|
( echo "[SECTION]"
|
|
echo "VAR=value to check the rest is missing"
|
|
echo "VARdp=42"
|
|
echo "VARxp=0x2a"
|
|
echo "VARop=0o52"
|
|
echo "VARbp=0b101010"
|
|
echo "VARdm=-42"
|
|
echo "VARxm=-0x2a"
|
|
echo "VARom=-0o52"
|
|
echo "VARbm=-0b101010"
|
|
echo "VARrp=+4.2e1"
|
|
echo "VARrm=-4.2e1"
|
|
echo "VARBadBool=BadBool"
|
|
echo "VARBadNum=BadInt42"
|
|
echo "VARWarnNum=42Warn"
|
|
echo "VARBt1=TRUE"
|
|
echo "VARBt2=true"
|
|
echo "VARBt3=True"
|
|
echo "VARBt4=yes"
|
|
echo "VARBt5=YeS"
|
|
echo "VARBt6=1"
|
|
echo "VARBt7=oN"
|
|
echo "VARBf1=FALSE"
|
|
echo "VARBf2=false"
|
|
echo "VARBf3=FalSe"
|
|
echo "VARBf4=no"
|
|
echo "VARBf5=nO"
|
|
echo "VARBf6=0"
|
|
echo "VARBf7=oFf" ) > xtest.ini
|
|
r "--- test integer/unsigned value"
|
|
for i in d x o b; do
|
|
tst -v"VAR${i}p" -ti || f "Integer VAR${i}p variable"
|
|
tst -v"VAR${i}m" -ti || f "Integer VAR${i}m variable"
|
|
tst -v"VAR${i}p" -tu || f "Unsigned VAR${i}p variable"
|
|
tst -v"VAR${i}m" -tu || f "Unsigned VAR${i}m variable"
|
|
tst -v"VAR${i}p" -tn || f "Integer VAR${i}p variable"
|
|
tst -v"VAR${i}m" -tn || f "Integer VAR${i}m variable"
|
|
done
|
|
r "--- test real value"
|
|
tst -vVARrp -tr || f "Real variable"
|
|
tst -vVARrm -tr || f "Real variable"
|
|
r "--- test boolean value"
|
|
for i in 1 2 3 4 5 6 7; do
|
|
tst -v"VARBt${i}" -tb || f "Boolean variable VARBt${i}"
|
|
tst -v"VARBf${i}" -tb || f "Boolean variable VARBf${i}"
|
|
done
|
|
|
|
r "--- test bad integer/unsigned value"
|
|
tst -v"VARBadNum" -ti && t "Bad integer VARBadNum"
|
|
tst -v"VARBadNum" -tu && t "Bad unsigned VARBadNum"
|
|
tst -v"VARBadNum" -tr && t "Bad real VARBadNum"
|
|
r "--- test warn integer/unsigned trailing context"
|
|
tst -v"VARWarnNum" -ti || f "Bad integer VARWarnNum"
|
|
tst -v"VARWarnNum" -tu || f "Bad unsigned VARWarnNum"
|
|
tst -v"VARWarnNum" -tr || f "Bad real VARWarnNum"
|
|
r "--- test bad boolean value"
|
|
tst -v"VARBadBool" -tb && t "Bad boolean VARBadBool"
|
|
|
|
r "--- test string value"
|
|
tst -v"VARBadNum" -ts || f "String VARBadNum"
|
|
tst -v"VARWarnNum" -ts || f "String VARWarnNum"
|
|
|
|
r "--- test missing value"
|
|
tst -v"MissingVAR" -ts && t "MissingVAR string"
|
|
tst -v"MissingVAR" -ti && t "MissingVAR sint"
|
|
tst -v"MissingVAR" -tu && t "MissingVAR uint"
|
|
tst -v"MissingVAR" -tb && t "MissingVAR bool"
|
|
tst -v"MissingVAR" -tn && t "MissingVAR int"
|
|
|
|
r "--- test missing section"
|
|
tst -v"VAR" -s"SECTION" -ts || f "Section string"
|
|
tst -v"VAR" -s"MISSING" -ts && t "Missing section string"
|
|
tst -v"VAR" -s"MISSING" -ti && t "Missing section sint"
|
|
tst -v"VAR" -s"MISSING" -tu && t "Missing section uint"
|
|
tst -v"VAR" -s"MISSING" -tb && t "Missing section bool"
|
|
tst -v"VAR" -s"MISSING" -tn && t "Missing section int"
|
|
|
|
r "+++ all done +++"
|
|
|
|
rm -f initest xtest.ini
|
|
exit 0
|