diff --git a/test/asm/test.sh b/test/asm/test.sh index 5d85142f..0cbc38ea 100755 --- a/test/asm/test.sh +++ b/test/asm/test.sh @@ -1,11 +1,23 @@ #!/bin/sh -fname=$(mktemp) +o=$(mktemp) +gb=$(mktemp) +before=$(mktemp) +after=$(mktemp) rc=0 for i in *.asm; do - ../../rgbasm $i >$fname 2>&1 - diff -u $fname ${i%.asm}.out + ../../rgbasm -o $o $i > $after 2>&1 + diff -u ${i%.asm}.out $after rc=$(($? || $rc)) + bin=${i%.asm}.out.bin + if [ -f $bin ]; then + ../../rgblink -o $gb $o > $after 2>&1 + head -c $(wc -c < $bin) $gb > $after 2>&1 + hexdump -C $after > $before && mv $before $after + hexdump -C $bin > $before + diff -u $before $after + rc=$(($? || $rc)) + fi done exit $rc diff --git a/test/asm/utf-8.out.bin b/test/asm/utf-8.out.bin new file mode 100644 index 00000000..4b04fff5 --- /dev/null +++ b/test/asm/utf-8.out.bin @@ -0,0 +1 @@ +é \ No newline at end of file