Automatic tests for input from stdin

This commit is contained in:
Jakub Kądziołka
2019-06-05 20:48:27 +02:00
parent 8d5a53f529
commit f7bc61e874
19 changed files with 75 additions and 11 deletions

View File

View File

@@ -0,0 +1,2 @@
ERROR: -(2):
Division by zero

View File

@@ -0,0 +1,4 @@
ERROR: -(1):
Invalid integer constant
ERROR: -(1):
Division by zero

View File

View File

@@ -0,0 +1,3 @@
ERROR: -(7):
'Sym' already defined in m(6)
error: Assembly aborted (1 errors)!

View File

@@ -0,0 +1,2 @@
ERROR: -(2) -> @(-1):
Macro '@' not defined

View File

@@ -0,0 +1,3 @@
ERROR: -(5):
Not currently in the scope of 'WrongParent'
error: Assembly aborted (1 errors)!

View File

@@ -0,0 +1,2 @@
ERROR: -(1) -> @(-1):
Macro '@' not defined

View File

@@ -0,0 +1,2 @@
ERROR: -(1):
Unterminated MACRO definition.

View File

@@ -0,0 +1,3 @@
ERROR: -(4):
'X' already referenced at -(2)
error: Assembly aborted (1 errors)!

View File

View File

@@ -0,0 +1,2 @@
ERROR: -(7):
'Parent.child.fail' is a nonsensical reference to a nested local symbol

View File

2
test/asm/strlen.out.pipe Normal file
View File

@@ -0,0 +1,2 @@
$3
$4

31
test/asm/strsub.out.pipe Normal file
View File

@@ -0,0 +1,31 @@
warning: -(13) -> xstrsub(1):
STRSUB: Length too big: 32
warning: -(14) -> xstrsub(1):
STRSUB: Length too big: 300
warning: -(15) -> xstrsub(1):
STRSUB: Position starts at 1
warning: -(15) -> xstrsub(1):
STRSUB: Length too big: 300
warning: -(16) -> xstrsub(1):
STRSUB: Position 4 is past the end of the string
warning: -(17) -> xstrsub(1):
STRSUB: Position 4 is past the end of the string
warning: -(17) -> xstrsub(1):
STRSUB: Length too big: 1
warning: -(20) -> xstrsub(1):
STRSUB: Length too big: 10
A
B
C
AB
BC
BC
BC
ABC
カタ
カナ
カナ
g

View File

@@ -6,18 +6,25 @@ after=$(mktemp)
rc=0
for i in *.asm; do
../../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
for variant in '' '.pipe'; do
if [ -z "$variant" ]; then
../../rgbasm -o $o $i > $after 2>&1
else
cat $i | ../../rgbasm -o $o - > $after 2>&1
fi
diff -u ${i%.asm}.out$variant $after
rc=$(($? || $rc))
fi
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
done
rm -f $o $gb $before $after

View File

@@ -0,0 +1 @@
error: -(3) : '.' not defined

0
test/asm/utf-8.out.pipe Normal file
View File