BangleApps/tests/Layout/bin/runtest.sh

53 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Requires Linux x64 (for ./espruino)
# Also imagemagick for display
cd `dirname $0`/..
if [ "$#" -ne 1 ]; then
echo "USAGE:"
echo " bin/runtest.sh tests/testxyz.js"
exit 1
fi
# temporary test files
TESTJS=bin/tmp.js
TESTBMP=bin/tmp.bmp
# actual source files
SRCDIR=tests
SRCJS=$1
SRCBMP=$SRCDIR/`basename $SRCJS .js`.bmp
echo "TEST $SRCJS ($SRCBMP)"
run_test () {
LAYOUTFILE=$1
echo 'exports = {};' > $TESTJS
cat $LAYOUTFILE >> $TESTJS
echo ';' >> $TESTJS
echo 'Layout = exports;' >> $TESTJS
echo 'Bangle = { setUI : function(){}, appRect:{x:0,y:0,w:176,h:176,x2:175,y2:175} };BTN1=0;process.env = process.env;process.env.HWVERSION=2;' >> $TESTJS
echo 'g = Graphics.createArrayBuffer(176,176,4);' >> $TESTJS
cat $SRCJS >> $TESTJS || exit 1
echo 'layout.render()' >> $TESTJS
#echo 'layout.debug()' >> $TESTJS
echo 'require("fs").writeFileSync("'$TESTBMP'",g.asBMP())' >> $TESTJS
echo =============================================
echo TESTING $LAYOUTFILE $SRCJS
bin/espruino $TESTJS || exit 1
if ! cmp $TESTBMP $SRCBMP >/dev/null 2>&1
then
echo =============================================
echo $LAYOUTFILE
echo $TESTBMP $SRCBMP differ
echo ==============================================
convert "+append" $TESTBMP $SRCBMP testresult.bmp
display testresult.bmp
exit 1
else
echo Files are the same
exit 0
fi
}
run_test ../../modules/Layout.js
run_test ../../modules/Layout.min.js