Long standing assembler bugs fixed, new path system. Make compatibility update.
This commit is contained in:
+34
-31
@@ -4,11 +4,10 @@
|
||||
# One test per line, fields separated by '|'. Blank lines and lines starting
|
||||
# with '#' are ignored.
|
||||
#
|
||||
# name | source | assemble-from | mode | stdin | limit
|
||||
# name | source | mode | stdin | limit
|
||||
#
|
||||
# source and assemble-from are both relative to Programs/. assemble-from exists
|
||||
# because #Include paths resolve against the current directory rather than
|
||||
# against the including file, so each program has one directory it builds in.
|
||||
# source is relative to Programs/. Everything assembles from there with
|
||||
# Libraries/ on the include path, and the binary is written into Tests/build.
|
||||
#
|
||||
# Modes:
|
||||
# run Assemble, execute, compare all output against Tests/expected/<name>.out
|
||||
@@ -23,43 +22,47 @@
|
||||
# on what a program prints.
|
||||
|
||||
# ---- Programs that halt on their own ----
|
||||
hello | hello.asm | . | run | - | -
|
||||
printHello | printHello.asm | . | run | - | -
|
||||
8bitFibonacci | Fibonacci/8bitFibonacci.asm | . | run | - | -
|
||||
16bitFibonacci | Fibonacci/16bitFibonacci.asm | . | run | - | -
|
||||
32bitFibonacci | Fibonacci/32bitFibonacci.asm | . | run | - | -
|
||||
8bitSieve | primeSieve/8bitSieve.asm | primeSieve | run | - | -
|
||||
16bitSegmentedSieve | primeSieve/16bitSegmentedSieve.asm | . | run | - | -
|
||||
mathTest | testPrograms/mathTest.asm | testPrograms | run | - | -
|
||||
printTest | testPrograms/printTest.asm | testPrograms | run | - | -
|
||||
int16print | Libraries/int16print.asm | Libraries | run | - | -
|
||||
hello | hello.asm | run | - | -
|
||||
printHello | printHello.asm | run | - | -
|
||||
8bitFibonacci | Fibonacci/8bitFibonacci.asm | run | - | -
|
||||
16bitFibonacci | Fibonacci/16bitFibonacci.asm | run | - | -
|
||||
32bitFibonacci | Fibonacci/32bitFibonacci.asm | run | - | -
|
||||
8bitSieve | primeSieve/8bitSieve.asm | run | - | -
|
||||
16bitSegmentedSieve | primeSieve/16bitSegmentedSieve.asm | run | - | -
|
||||
mathTest | testPrograms/mathTest.asm | run | - | -
|
||||
printTest | testPrograms/printTest.asm | run | - | -
|
||||
int16print | Libraries/int16print.asm | run | - | -
|
||||
|
||||
# ---- The multiple Data Pointer behaviour, which nothing else exercises ----
|
||||
dataPointerTest | testPrograms/dataPointerTest.asm | testPrograms | run | - | -
|
||||
twoPointerCopy | testPrograms/twoPointerCopy.asm | testPrograms | run | - | -
|
||||
dataPointerTest | testPrograms/dataPointerTest.asm | run | - | -
|
||||
twoPointerCopy | testPrograms/twoPointerCopy.asm | run | - | -
|
||||
pointerTableTest | testPrograms/pointerTableTest.asm | run | - | -
|
||||
staticTableTest | testPrograms/staticTableTest.asm | run | - | -
|
||||
|
||||
# ---- Programs driven by console input ----
|
||||
inputTest | inputTest.asm | . | run | inputTest.in | -
|
||||
inputTestOld | testPrograms/inputTest.asm | testPrograms | run | inputTest.in | -
|
||||
replCalculator | replCalculator.asm | . | run | replCalculator.in | -
|
||||
inputTest | inputTest.asm | run | inputTest.in | -
|
||||
inputTestOld | testPrograms/inputTest.asm | run | inputTest.in | -
|
||||
replCalculator | replCalculator.asm | run | replCalculator.in | -
|
||||
|
||||
# ---- Programs that run forever by design, bounded by a cycle count ----
|
||||
# 3,000,000 cycles is about fourteen generations of the glider, which puts
|
||||
# evolveBoard and its pointer juggling through its paces many times over.
|
||||
16x16Life | gameOfLife/16x16Life.asm | . | run | - | 3000000
|
||||
16x16Life | gameOfLife/16x16Life.asm | run | - | 3000000
|
||||
|
||||
# ---- Libraries: no entry point, so only check that they assemble ----
|
||||
lib-int8 | Libraries/int8.asm | . | assemble | - | -
|
||||
lib-int16 | Libraries/int16.asm | . | assemble | - | -
|
||||
lib-int32 | Libraries/int32.asm | . | assemble | - | -
|
||||
lib-math | Libraries/math.asm | . | assemble | - | -
|
||||
lib-int8 | Libraries/int8.asm | assemble | - | -
|
||||
lib-int16 | Libraries/int16.asm | assemble | - | -
|
||||
lib-int32 | Libraries/int32.asm | assemble | - | -
|
||||
lib-math | Libraries/math.asm | assemble | - | -
|
||||
|
||||
# ---- Known breakages, recorded rather than ignored ----
|
||||
# print.asm branches to 'start', which only the including program defines.
|
||||
lib-print | Libraries/print.asm | . | xfail | - | -
|
||||
# These three call print.asm routines but have no #Include line at all.
|
||||
printDecimalTest | testPrograms/printDecimalTest.asm | testPrograms | xfail | - | -
|
||||
printDigitTest | testPrograms/printDigitTest.asm | testPrograms | xfail | - | -
|
||||
printHexTest | testPrograms/printHexTest.asm | testPrograms | xfail | - | -
|
||||
# shiftTest includes "print.asm", which is not beside it.
|
||||
shiftTest | testPrograms/shiftTest.asm | testPrograms | xfail | - | -
|
||||
lib-print | Libraries/print.asm | xfail | - | -
|
||||
# These three call print.asm routines but have no #Include line at all. They are
|
||||
# only ever pulled in by printTest.asm, so they are not standalone programs.
|
||||
printDecimalTest | testPrograms/printDecimalTest.asm | xfail | - | -
|
||||
printDigitTest | testPrograms/printDigitTest.asm | xfail | - | -
|
||||
printHexTest | testPrograms/printHexTest.asm | xfail | - | -
|
||||
# shiftTest calls printDecimal, which print.asm does not have. It looks like the
|
||||
# routine was renamed and this caller was never updated.
|
||||
shiftTest | testPrograms/shiftTest.asm | xfail | - | -
|
||||
|
||||
Reference in New Issue
Block a user