mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-11-23 06:32:02 +00:00
49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
tests="tests/* dg/*"
|
|
test -n "$1" && tests="$@"
|
|
export OPT816_QUIET=1
|
|
for i in $tests
|
|
do
|
|
echo -n "$i: "
|
|
if ! ../816-tcc -I../include -DSTACK_SIZE=0x2000 -o ./suite.asm -c $i ; then
|
|
echo NOCOMPILE
|
|
continue
|
|
fi
|
|
if test "$OPTIMIZE" = "1" ; then
|
|
mv suite.asm suite.asm.pre
|
|
if ! python ../816-opt.py suite.asm.pre >suite.asm ; then
|
|
echo NOOPT
|
|
continue
|
|
fi
|
|
#if ! ./optimore-816r2/optimore-816 suite.asm suite2.asm >/dev/null ; then
|
|
# echo NOOPT2
|
|
# continue
|
|
#else
|
|
# mv suite2.asm suite.asm
|
|
#fi
|
|
fi
|
|
if ! ../../wla_dx/wla-65816 -io ./suite.asm ./suite.obj ; then
|
|
echo NOASM
|
|
mkdir -p failtraces
|
|
mv suite.asm failtraces/${i#*/}.asm
|
|
continue
|
|
fi
|
|
if ! ../../wla_dx/wlalink/wlalink -Sno ../../libs/crt0_snes.obj ../../libs/libm.obj ../../libs/libtcc.obj ../../libs/libc.obj suite.obj ./test.smc ; then
|
|
echo NOLINK
|
|
mkdir -p failtraces
|
|
mv suite.asm failtraces/${i#*/}.asm
|
|
continue
|
|
fi
|
|
if ../../bsnes/bsnes ./test.smc 2>/dev/null >/dev/null ; then
|
|
echo PASS
|
|
rm -f failtraces/${i#*/}.{asm,trace}
|
|
else
|
|
echo "FAIL (exit code $?)"
|
|
mkdir -p failtraces
|
|
mv suite.asm failtraces/${i#*/}.asm
|
|
mv suite.asm.pre failtraces/${i#*/}.asm.pre
|
|
fi
|
|
xset r on
|
|
done
|
|
test -z "$NOCLEAN" && rm -f suite.asm .sym suite.obj test.smc
|