From 5a06fad31e3e66da33ea0376d47adb4598857654 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Wed, 8 Jan 2020 16:46:57 +0100 Subject: [PATCH] Separate stdout and stderr in tests POSIX leaves undefined the order of output if stderr is injected into stdout, and in practice it differs on Windows (Linux buffers both streams separately, Windows interleaves them as they arrive without buffering). This should help testing on other platforms --- test/asm/bank-noexist.err | 0 test/asm/bracketed-symbols.err | 4 ++ test/asm/bracketed-symbols.out | 4 -- test/asm/correct-line-number.err | 4 ++ test/asm/correct-line-number.out | 4 -- test/asm/divzero-instr.err | 2 + test/asm/divzero-instr.out | 2 - test/asm/divzero-section-bank.err | 4 ++ test/asm/divzero-section-bank.out | 4 -- test/asm/equ-charmap.err | 0 test/asm/equs-recursion.err | 66 +++++++++++++++++++++++ test/asm/equs-recursion.out | 66 ----------------------- test/asm/garbage_char.err | 2 + test/asm/garbage_char.out | 2 - test/asm/include-recursion.err | 2 + test/asm/include-recursion.out | 2 - test/asm/label-macro-arg.err | 5 ++ test/asm/label-macro-arg.out | 5 -- test/asm/label-outside-section.err | 3 ++ test/asm/label-outside-section.out | 3 -- test/asm/label-redefinition.err | 3 ++ test/asm/label-redefinition.out | 3 -- test/asm/line-continuation-macro.err | 0 test/asm/line-continuation-rept.err | 0 test/asm/line-continuation-whitespace.err | 3 ++ test/asm/line-continuation-whitespace.out | 3 -- test/asm/line-continuation.err | 3 ++ test/asm/line-continuation.out | 3 -- test/asm/local-ref-without-parent.err | 2 + test/asm/local-ref-without-parent.out | 2 - test/asm/local-without-parent.err | 2 + test/asm/local-without-parent.out | 2 - test/asm/local-wrong-parent.err | 3 ++ test/asm/local-wrong-parent.out | 3 -- test/asm/long-rpn-expression.err | 0 test/asm/macro-@.err | 4 ++ test/asm/macro-@.out | 4 -- test/asm/macro-recursion.err | 2 + test/asm/macro-recursion.out | 2 - test/asm/multiple-charmaps.err | 6 +++ test/asm/multiple-charmaps.out | 6 --- test/asm/narg-decreases-after-shift.err | 0 test/asm/nested-brackets.err | 2 + test/asm/nested-brackets.out | 2 - test/asm/nested-if.err | 0 test/asm/null-in-macro.err | 2 + test/asm/null-in-macro.out | 2 - test/asm/operator-precedence.err | 0 test/asm/overflow.err | 12 +++++ test/asm/overflow.out | 12 ----- test/asm/pc-bank.err | 6 +++ test/asm/pc-bank.out | 6 --- test/asm/pops-no-pushed-sections.err | 2 + test/asm/pops-no-pushed-sections.out | 2 - test/asm/pops-restore-no-section.err | 4 ++ test/asm/pops-restore-no-section.out | 4 -- test/asm/pushs-outside-section.err | 0 test/asm/reference-undefined-sym.err | 3 ++ test/asm/reference-undefined-sym.out | 3 -- test/asm/remote-local-explicit.err | 0 test/asm/remote-local-noexist.err | 2 + test/asm/remote-local-noexist.out | 2 - test/asm/remote-local.err | 0 test/asm/rept-line-no.err | 10 ++++ test/asm/rept-line-no.out | 10 ---- test/asm/strlen.err | 0 test/asm/strsub.err | 16 ++++++ test/asm/strsub.out | 16 ------ test/asm/symbol-invalid-macro-arg.err | 2 + test/asm/symbol-invalid-macro-arg.out | 2 - test/asm/symbol-override.err | 7 +++ test/asm/symbol-override.out | 7 --- test/asm/test.sh | 33 +++++++----- test/asm/undefined-dot.err | 1 + test/asm/undefined-dot.out | 1 - test/asm/utf-8.err | 0 test/asm/zero-byte-file.err | 0 77 files changed, 210 insertions(+), 201 deletions(-) create mode 100644 test/asm/bank-noexist.err create mode 100644 test/asm/bracketed-symbols.err create mode 100644 test/asm/correct-line-number.err create mode 100644 test/asm/divzero-instr.err create mode 100644 test/asm/divzero-section-bank.err create mode 100644 test/asm/equ-charmap.err create mode 100644 test/asm/equs-recursion.err create mode 100644 test/asm/garbage_char.err create mode 100644 test/asm/include-recursion.err create mode 100644 test/asm/label-macro-arg.err create mode 100644 test/asm/label-outside-section.err create mode 100644 test/asm/label-redefinition.err create mode 100644 test/asm/line-continuation-macro.err create mode 100644 test/asm/line-continuation-rept.err create mode 100644 test/asm/line-continuation-whitespace.err create mode 100644 test/asm/line-continuation.err create mode 100644 test/asm/local-ref-without-parent.err create mode 100644 test/asm/local-without-parent.err create mode 100644 test/asm/local-wrong-parent.err create mode 100644 test/asm/long-rpn-expression.err create mode 100644 test/asm/macro-@.err create mode 100644 test/asm/macro-recursion.err create mode 100644 test/asm/multiple-charmaps.err create mode 100644 test/asm/narg-decreases-after-shift.err create mode 100644 test/asm/nested-brackets.err create mode 100644 test/asm/nested-if.err create mode 100644 test/asm/null-in-macro.err create mode 100644 test/asm/operator-precedence.err create mode 100644 test/asm/overflow.err create mode 100644 test/asm/pc-bank.err create mode 100644 test/asm/pops-no-pushed-sections.err create mode 100644 test/asm/pops-restore-no-section.err create mode 100644 test/asm/pushs-outside-section.err create mode 100644 test/asm/reference-undefined-sym.err create mode 100644 test/asm/remote-local-explicit.err create mode 100644 test/asm/remote-local-noexist.err create mode 100644 test/asm/remote-local.err create mode 100644 test/asm/rept-line-no.err create mode 100644 test/asm/strlen.err create mode 100644 test/asm/strsub.err create mode 100644 test/asm/symbol-invalid-macro-arg.err create mode 100644 test/asm/symbol-override.err create mode 100644 test/asm/undefined-dot.err create mode 100644 test/asm/utf-8.err create mode 100644 test/asm/zero-byte-file.err diff --git a/test/asm/bank-noexist.err b/test/asm/bank-noexist.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/bracketed-symbols.err b/test/asm/bracketed-symbols.err new file mode 100644 index 00000000..14a9a9e6 --- /dev/null +++ b/test/asm/bracketed-symbols.err @@ -0,0 +1,4 @@ +ERROR: bracketed-symbols.asm(16): + Print types are only allowed for numbers +ERROR: bracketed-symbols.asm(20): + Expression must have a constant value diff --git a/test/asm/bracketed-symbols.out b/test/asm/bracketed-symbols.out index 5ebcd6d0..67af4944 100644 --- a/test/asm/bracketed-symbols.out +++ b/test/asm/bracketed-symbols.out @@ -1,7 +1,3 @@ -ERROR: bracketed-symbols.asm(16): - Print types are only allowed for numbers -ERROR: bracketed-symbols.asm(20): - Expression must have a constant value $2A 2a 2A diff --git a/test/asm/correct-line-number.err b/test/asm/correct-line-number.err new file mode 100644 index 00000000..02693638 --- /dev/null +++ b/test/asm/correct-line-number.err @@ -0,0 +1,4 @@ +warning: correct-line-number.asm(5): [-Wuser] + Am I geting ahead of myself? +warning: correct-line-number.asm(11): [-Wuser] + Hopefully not. diff --git a/test/asm/correct-line-number.out b/test/asm/correct-line-number.out index 02693638..e69de29b 100644 --- a/test/asm/correct-line-number.out +++ b/test/asm/correct-line-number.out @@ -1,4 +0,0 @@ -warning: correct-line-number.asm(5): [-Wuser] - Am I geting ahead of myself? -warning: correct-line-number.asm(11): [-Wuser] - Hopefully not. diff --git a/test/asm/divzero-instr.err b/test/asm/divzero-instr.err new file mode 100644 index 00000000..e1e0e3e2 --- /dev/null +++ b/test/asm/divzero-instr.err @@ -0,0 +1,2 @@ +ERROR: divzero-instr.asm(2): + Division by zero diff --git a/test/asm/divzero-instr.out b/test/asm/divzero-instr.out index e1e0e3e2..e69de29b 100644 --- a/test/asm/divzero-instr.out +++ b/test/asm/divzero-instr.out @@ -1,2 +0,0 @@ -ERROR: divzero-instr.asm(2): - Division by zero diff --git a/test/asm/divzero-section-bank.err b/test/asm/divzero-section-bank.err new file mode 100644 index 00000000..553b2800 --- /dev/null +++ b/test/asm/divzero-section-bank.err @@ -0,0 +1,4 @@ +ERROR: divzero-section-bank.asm(1): + Invalid integer constant +ERROR: divzero-section-bank.asm(1): + Division by zero diff --git a/test/asm/divzero-section-bank.out b/test/asm/divzero-section-bank.out index 553b2800..e69de29b 100644 --- a/test/asm/divzero-section-bank.out +++ b/test/asm/divzero-section-bank.out @@ -1,4 +0,0 @@ -ERROR: divzero-section-bank.asm(1): - Invalid integer constant -ERROR: divzero-section-bank.asm(1): - Division by zero diff --git a/test/asm/equ-charmap.err b/test/asm/equ-charmap.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/equs-recursion.err b/test/asm/equs-recursion.err new file mode 100644 index 00000000..c6180ed3 --- /dev/null +++ b/test/asm/equs-recursion.err @@ -0,0 +1,66 @@ +ERROR: equs-recursion.asm(2): + Recursion limit (64) exceeded +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" +while expanding symbol "recurse" diff --git a/test/asm/equs-recursion.out b/test/asm/equs-recursion.out index c6180ed3..e69de29b 100644 --- a/test/asm/equs-recursion.out +++ b/test/asm/equs-recursion.out @@ -1,66 +0,0 @@ -ERROR: equs-recursion.asm(2): - Recursion limit (64) exceeded -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" -while expanding symbol "recurse" diff --git a/test/asm/garbage_char.err b/test/asm/garbage_char.err new file mode 100644 index 00000000..b2a30cb7 --- /dev/null +++ b/test/asm/garbage_char.err @@ -0,0 +1,2 @@ +ERROR: garbage_char.asm(1): + Found garbage character: 0xFF diff --git a/test/asm/garbage_char.out b/test/asm/garbage_char.out index b2a30cb7..e69de29b 100644 --- a/test/asm/garbage_char.out +++ b/test/asm/garbage_char.out @@ -1,2 +0,0 @@ -ERROR: garbage_char.asm(1): - Found garbage character: 0xFF diff --git a/test/asm/include-recursion.err b/test/asm/include-recursion.err new file mode 100644 index 00000000..8a256e6b --- /dev/null +++ b/test/asm/include-recursion.err @@ -0,0 +1,2 @@ +ERROR: include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1): + Recursion limit (64) exceeded diff --git a/test/asm/include-recursion.out b/test/asm/include-recursion.out index 8a256e6b..e69de29b 100644 --- a/test/asm/include-recursion.out +++ b/test/asm/include-recursion.out @@ -1,2 +0,0 @@ -ERROR: include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1): - Recursion limit (64) exceeded diff --git a/test/asm/label-macro-arg.err b/test/asm/label-macro-arg.err new file mode 100644 index 00000000..c1d8ae33 --- /dev/null +++ b/test/asm/label-macro-arg.err @@ -0,0 +1,5 @@ +ERROR: label-macro-arg.asm(45) -> label-macro-arg.asm::test_char(31): + Label "sizeof_" created outside of a SECTION +while expanding symbol "VAR_DEF" +ERROR: label-macro-arg.asm(45) -> label-macro-arg.asm::test_char(31): + Macro 'something' not defined diff --git a/test/asm/label-macro-arg.out b/test/asm/label-macro-arg.out index f0e94c5d..0a5d086f 100644 --- a/test/asm/label-macro-arg.out +++ b/test/asm/label-macro-arg.out @@ -1,8 +1,3 @@ -ERROR: label-macro-arg.asm(45) -> label-macro-arg.asm::test_char(31): - Label "sizeof_" created outside of a SECTION -while expanding symbol "VAR_DEF" -ERROR: label-macro-arg.asm(45) -> label-macro-arg.asm::test_char(31): - Macro 'something' not defined $5 $6 $7 diff --git a/test/asm/label-outside-section.err b/test/asm/label-outside-section.err new file mode 100644 index 00000000..6aa561cd --- /dev/null +++ b/test/asm/label-outside-section.err @@ -0,0 +1,3 @@ +ERROR: label-outside-section.asm(1): + Label "bad" created outside of a SECTION +error: Assembly aborted (1 errors)! diff --git a/test/asm/label-outside-section.out b/test/asm/label-outside-section.out index 757b3b6d..d6406617 100644 --- a/test/asm/label-outside-section.out +++ b/test/asm/label-outside-section.out @@ -1,4 +1 @@ -ERROR: label-outside-section.asm(1): - Label "bad" created outside of a SECTION -error: Assembly aborted (1 errors)! OK! diff --git a/test/asm/label-redefinition.err b/test/asm/label-redefinition.err new file mode 100644 index 00000000..09eb79b3 --- /dev/null +++ b/test/asm/label-redefinition.err @@ -0,0 +1,3 @@ +ERROR: label-redefinition.asm(7): + 'Sym' already defined in label-redefinition.asm::m(6) +error: Assembly aborted (1 errors)! diff --git a/test/asm/label-redefinition.out b/test/asm/label-redefinition.out index 09eb79b3..e69de29b 100644 --- a/test/asm/label-redefinition.out +++ b/test/asm/label-redefinition.out @@ -1,3 +0,0 @@ -ERROR: label-redefinition.asm(7): - 'Sym' already defined in label-redefinition.asm::m(6) -error: Assembly aborted (1 errors)! diff --git a/test/asm/line-continuation-macro.err b/test/asm/line-continuation-macro.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/line-continuation-rept.err b/test/asm/line-continuation-rept.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/line-continuation-whitespace.err b/test/asm/line-continuation-whitespace.err new file mode 100644 index 00000000..83122438 --- /dev/null +++ b/test/asm/line-continuation-whitespace.err @@ -0,0 +1,3 @@ +ERROR: line-continuation-whitespace.asm(7): + Label "foo" created outside of a SECTION +error: Assembly aborted (1 errors)! diff --git a/test/asm/line-continuation-whitespace.out b/test/asm/line-continuation-whitespace.out index 83122438..e69de29b 100644 --- a/test/asm/line-continuation-whitespace.out +++ b/test/asm/line-continuation-whitespace.out @@ -1,3 +0,0 @@ -ERROR: line-continuation-whitespace.asm(7): - Label "foo" created outside of a SECTION -error: Assembly aborted (1 errors)! diff --git a/test/asm/line-continuation.err b/test/asm/line-continuation.err new file mode 100644 index 00000000..4da7e2c1 --- /dev/null +++ b/test/asm/line-continuation.err @@ -0,0 +1,3 @@ +ERROR: line-continuation.asm(7): + Label "foo" created outside of a SECTION +error: Assembly aborted (1 errors)! diff --git a/test/asm/line-continuation.out b/test/asm/line-continuation.out index 4da7e2c1..e69de29b 100644 --- a/test/asm/line-continuation.out +++ b/test/asm/line-continuation.out @@ -1,3 +0,0 @@ -ERROR: line-continuation.asm(7): - Label "foo" created outside of a SECTION -error: Assembly aborted (1 errors)! diff --git a/test/asm/local-ref-without-parent.err b/test/asm/local-ref-without-parent.err new file mode 100644 index 00000000..fd784ef3 --- /dev/null +++ b/test/asm/local-ref-without-parent.err @@ -0,0 +1,2 @@ +ERROR: local-ref-without-parent.asm(3): + Local label reference '.test' in main scope diff --git a/test/asm/local-ref-without-parent.out b/test/asm/local-ref-without-parent.out index fd784ef3..e69de29b 100644 --- a/test/asm/local-ref-without-parent.out +++ b/test/asm/local-ref-without-parent.out @@ -1,2 +0,0 @@ -ERROR: local-ref-without-parent.asm(3): - Local label reference '.test' in main scope diff --git a/test/asm/local-without-parent.err b/test/asm/local-without-parent.err new file mode 100644 index 00000000..574d2972 --- /dev/null +++ b/test/asm/local-without-parent.err @@ -0,0 +1,2 @@ +ERROR: local-without-parent.asm(2): + Local label in main scope diff --git a/test/asm/local-without-parent.out b/test/asm/local-without-parent.out index 574d2972..e69de29b 100644 --- a/test/asm/local-without-parent.out +++ b/test/asm/local-without-parent.out @@ -1,2 +0,0 @@ -ERROR: local-without-parent.asm(2): - Local label in main scope diff --git a/test/asm/local-wrong-parent.err b/test/asm/local-wrong-parent.err new file mode 100644 index 00000000..5eb4776f --- /dev/null +++ b/test/asm/local-wrong-parent.err @@ -0,0 +1,3 @@ +ERROR: local-wrong-parent.asm(5): + Not currently in the scope of 'WrongParent' +error: Assembly aborted (1 errors)! diff --git a/test/asm/local-wrong-parent.out b/test/asm/local-wrong-parent.out index 5eb4776f..e69de29b 100644 --- a/test/asm/local-wrong-parent.out +++ b/test/asm/local-wrong-parent.out @@ -1,3 +0,0 @@ -ERROR: local-wrong-parent.asm(5): - Not currently in the scope of 'WrongParent' -error: Assembly aborted (1 errors)! diff --git a/test/asm/long-rpn-expression.err b/test/asm/long-rpn-expression.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/macro-@.err b/test/asm/macro-@.err new file mode 100644 index 00000000..1284eecb --- /dev/null +++ b/test/asm/macro-@.err @@ -0,0 +1,4 @@ +ERROR: macro-@.asm(1): + Label "foo" created outside of a SECTION +ERROR: macro-@.asm(1): + Macro '@' not defined diff --git a/test/asm/macro-@.out b/test/asm/macro-@.out index 1284eecb..e69de29b 100644 --- a/test/asm/macro-@.out +++ b/test/asm/macro-@.out @@ -1,4 +0,0 @@ -ERROR: macro-@.asm(1): - Label "foo" created outside of a SECTION -ERROR: macro-@.asm(1): - Macro '@' not defined diff --git a/test/asm/macro-recursion.err b/test/asm/macro-recursion.err new file mode 100644 index 00000000..e69c4c5f --- /dev/null +++ b/test/asm/macro-recursion.err @@ -0,0 +1,2 @@ +ERROR: macro-recursion.asm(4) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2): + Recursion limit (64) exceeded diff --git a/test/asm/macro-recursion.out b/test/asm/macro-recursion.out index e69c4c5f..e69de29b 100644 --- a/test/asm/macro-recursion.out +++ b/test/asm/macro-recursion.out @@ -1,2 +0,0 @@ -ERROR: macro-recursion.asm(4) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2): - Recursion limit (64) exceeded diff --git a/test/asm/multiple-charmaps.err b/test/asm/multiple-charmaps.err new file mode 100644 index 00000000..9649ac4e --- /dev/null +++ b/test/asm/multiple-charmaps.err @@ -0,0 +1,6 @@ +ERROR: multiple-charmaps.asm(100) -> multiple-charmaps.asm::new_(7): + Charmap 'map1' already exists +ERROR: multiple-charmaps.asm(102) -> multiple-charmaps.asm::set_(13): + Charmap 'map5' doesn't exist +ERROR: multiple-charmaps.asm(104) -> multiple-charmaps.asm::pop_(23): + No entries in the charmap stack diff --git a/test/asm/multiple-charmaps.out b/test/asm/multiple-charmaps.out index b1fc6857..810afdc5 100644 --- a/test/asm/multiple-charmaps.out +++ b/test/asm/multiple-charmaps.out @@ -1,9 +1,3 @@ -ERROR: multiple-charmaps.asm(100) -> multiple-charmaps.asm::new_(7): - Charmap 'map1' already exists -ERROR: multiple-charmaps.asm(102) -> multiple-charmaps.asm::set_(13): - Charmap 'map5' doesn't exist -ERROR: multiple-charmaps.asm(104) -> multiple-charmaps.asm::pop_(23): - No entries in the charmap stack main charmap $0 newcharmap map1 diff --git a/test/asm/narg-decreases-after-shift.err b/test/asm/narg-decreases-after-shift.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/nested-brackets.err b/test/asm/nested-brackets.err new file mode 100644 index 00000000..b3e00643 --- /dev/null +++ b/test/asm/nested-brackets.err @@ -0,0 +1,2 @@ +ERROR: nested-brackets.asm(5): + Missing } diff --git a/test/asm/nested-brackets.out b/test/asm/nested-brackets.out index feea079a..d86bac9d 100644 --- a/test/asm/nested-brackets.out +++ b/test/asm/nested-brackets.out @@ -1,3 +1 @@ -ERROR: nested-brackets.asm(5): - Missing } OK diff --git a/test/asm/nested-if.err b/test/asm/nested-if.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/null-in-macro.err b/test/asm/null-in-macro.err new file mode 100644 index 00000000..90943ee0 --- /dev/null +++ b/test/asm/null-in-macro.err @@ -0,0 +1,2 @@ +ERROR: null-in-macro.asm(2): + Found null character diff --git a/test/asm/null-in-macro.out b/test/asm/null-in-macro.out index 90943ee0..e69de29b 100644 --- a/test/asm/null-in-macro.out +++ b/test/asm/null-in-macro.out @@ -1,2 +0,0 @@ -ERROR: null-in-macro.asm(2): - Found null character diff --git a/test/asm/operator-precedence.err b/test/asm/operator-precedence.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/overflow.err b/test/asm/overflow.err new file mode 100644 index 00000000..4e8b8b29 --- /dev/null +++ b/test/asm/overflow.err @@ -0,0 +1,12 @@ +warning: overflow.asm(24): [-Wdiv] + Division of min value by -1 +warning: overflow.asm(25): [-Wdiv] + Division of min value by -1 +warning: overflow.asm(34): [-Wshift] + Left shift of negative value: -1 +warning: overflow.asm(35): [-Wshift] + Left shift of negative value: -1 +warning: overflow.asm(39): [-Wlarge-constant] + Integer constant '4294967296' is too large +warning: overflow.asm(42): [-Wlarge-constant] + Graphics constant '`333333333' is too long diff --git a/test/asm/overflow.out b/test/asm/overflow.out index ecb432c3..96f0efa3 100644 --- a/test/asm/overflow.out +++ b/test/asm/overflow.out @@ -1,15 +1,3 @@ -warning: overflow.asm(24): [-Wdiv] - Division of min value by -1 -warning: overflow.asm(25): [-Wdiv] - Division of min value by -1 -warning: overflow.asm(34): [-Wshift] - Left shift of negative value: -1 -warning: overflow.asm(35): [-Wshift] - Left shift of negative value: -1 -warning: overflow.asm(39): [-Wlarge-constant] - Integer constant '4294967296' is too large -warning: overflow.asm(42): [-Wlarge-constant] - Graphics constant '`333333333' is too long $80000000 $7FFFFFFF $80000000 diff --git a/test/asm/pc-bank.err b/test/asm/pc-bank.err new file mode 100644 index 00000000..b165f4ec --- /dev/null +++ b/test/asm/pc-bank.err @@ -0,0 +1,6 @@ +ERROR: pc-bank.asm(2): + Source address $2a00 not in $FF00 to $FFFF +ERROR: pc-bank.asm(11): + @'s bank is not known yet +ERROR: pc-bank.asm(11): + Non-constant expression diff --git a/test/asm/pc-bank.out b/test/asm/pc-bank.out index de66200b..140df672 100644 --- a/test/asm/pc-bank.out +++ b/test/asm/pc-bank.out @@ -1,8 +1,2 @@ -ERROR: pc-bank.asm(2): - Source address $2a00 not in $FF00 to $FFFF -ERROR: pc-bank.asm(11): - @'s bank is not known yet -ERROR: pc-bank.asm(11): - Non-constant expression @: $2A Str: $2A diff --git a/test/asm/pops-no-pushed-sections.err b/test/asm/pops-no-pushed-sections.err new file mode 100644 index 00000000..4f8c06c1 --- /dev/null +++ b/test/asm/pops-no-pushed-sections.err @@ -0,0 +1,2 @@ +ERROR: pops-no-pushed-sections.asm(1): + No entries in the section stack diff --git a/test/asm/pops-no-pushed-sections.out b/test/asm/pops-no-pushed-sections.out index 4f8c06c1..e69de29b 100644 --- a/test/asm/pops-no-pushed-sections.out +++ b/test/asm/pops-no-pushed-sections.out @@ -1,2 +0,0 @@ -ERROR: pops-no-pushed-sections.asm(1): - No entries in the section stack diff --git a/test/asm/pops-restore-no-section.err b/test/asm/pops-restore-no-section.err new file mode 100644 index 00000000..4eac4442 --- /dev/null +++ b/test/asm/pops-restore-no-section.err @@ -0,0 +1,4 @@ +ERROR: pops-restore-no-section.asm(9): + Label "DisallowedContent" created outside of a SECTION +ERROR: pops-restore-no-section.asm(10): + Code generation before SECTION directive diff --git a/test/asm/pops-restore-no-section.out b/test/asm/pops-restore-no-section.out index 4eac4442..e69de29b 100644 --- a/test/asm/pops-restore-no-section.out +++ b/test/asm/pops-restore-no-section.out @@ -1,4 +0,0 @@ -ERROR: pops-restore-no-section.asm(9): - Label "DisallowedContent" created outside of a SECTION -ERROR: pops-restore-no-section.asm(10): - Code generation before SECTION directive diff --git a/test/asm/pushs-outside-section.err b/test/asm/pushs-outside-section.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/reference-undefined-sym.err b/test/asm/reference-undefined-sym.err new file mode 100644 index 00000000..e55ee236 --- /dev/null +++ b/test/asm/reference-undefined-sym.err @@ -0,0 +1,3 @@ +ERROR: reference-undefined-sym.asm(4): + 'X' already referenced at reference-undefined-sym.asm(2) +error: Assembly aborted (1 errors)! diff --git a/test/asm/reference-undefined-sym.out b/test/asm/reference-undefined-sym.out index e55ee236..e69de29b 100644 --- a/test/asm/reference-undefined-sym.out +++ b/test/asm/reference-undefined-sym.out @@ -1,3 +0,0 @@ -ERROR: reference-undefined-sym.asm(4): - 'X' already referenced at reference-undefined-sym.asm(2) -error: Assembly aborted (1 errors)! diff --git a/test/asm/remote-local-explicit.err b/test/asm/remote-local-explicit.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/remote-local-noexist.err b/test/asm/remote-local-noexist.err new file mode 100644 index 00000000..f1fbac28 --- /dev/null +++ b/test/asm/remote-local-noexist.err @@ -0,0 +1,2 @@ +ERROR: remote-local-noexist.asm(7): + 'Parent.child.fail' is a nonsensical reference to a nested local symbol diff --git a/test/asm/remote-local-noexist.out b/test/asm/remote-local-noexist.out index f1fbac28..e69de29b 100644 --- a/test/asm/remote-local-noexist.out +++ b/test/asm/remote-local-noexist.out @@ -1,2 +0,0 @@ -ERROR: remote-local-noexist.asm(7): - 'Parent.child.fail' is a nonsensical reference to a nested local symbol diff --git a/test/asm/remote-local.err b/test/asm/remote-local.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/rept-line-no.err b/test/asm/rept-line-no.err new file mode 100644 index 00000000..8c259aef --- /dev/null +++ b/test/asm/rept-line-no.err @@ -0,0 +1,10 @@ +warning: rept-line-no.asm(2): [-Wuser] + Line 2 +warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~1(5): [-Wuser] + Line 5 +warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~2(5): [-Wuser] + Line 5 +warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~3(5): [-Wuser] + Line 5 +warning: rept-line-no.asm(8): [-Wuser] + Line 8 diff --git a/test/asm/rept-line-no.out b/test/asm/rept-line-no.out index 8c259aef..e69de29b 100644 --- a/test/asm/rept-line-no.out +++ b/test/asm/rept-line-no.out @@ -1,10 +0,0 @@ -warning: rept-line-no.asm(2): [-Wuser] - Line 2 -warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~1(5): [-Wuser] - Line 5 -warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~2(5): [-Wuser] - Line 5 -warning: rept-line-no.asm(3) -> rept-line-no.asm::REPT~3(5): [-Wuser] - Line 5 -warning: rept-line-no.asm(8): [-Wuser] - Line 8 diff --git a/test/asm/strlen.err b/test/asm/strlen.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/strsub.err b/test/asm/strsub.err new file mode 100644 index 00000000..c00a7b9a --- /dev/null +++ b/test/asm/strsub.err @@ -0,0 +1,16 @@ +warning: strsub.asm(13) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Length too big: 32 +warning: strsub.asm(14) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Length too big: 300 +warning: strsub.asm(15) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Position starts at 1 +warning: strsub.asm(15) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Length too big: 300 +warning: strsub.asm(16) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Position 4 is past the end of the string +warning: strsub.asm(17) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Position 4 is past the end of the string +warning: strsub.asm(17) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Length too big: 1 +warning: strsub.asm(20) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] + STRSUB: Length too big: 10 diff --git a/test/asm/strsub.out b/test/asm/strsub.out index 75a60663..aecbf596 100644 --- a/test/asm/strsub.out +++ b/test/asm/strsub.out @@ -1,19 +1,3 @@ -warning: strsub.asm(13) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Length too big: 32 -warning: strsub.asm(14) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Length too big: 300 -warning: strsub.asm(15) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Position starts at 1 -warning: strsub.asm(15) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Length too big: 300 -warning: strsub.asm(16) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Position 4 is past the end of the string -warning: strsub.asm(17) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Position 4 is past the end of the string -warning: strsub.asm(17) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Length too big: 1 -warning: strsub.asm(20) -> strsub.asm::xstrsub(4): [-Wbuiltin-args] - STRSUB: Length too big: 10 A B C diff --git a/test/asm/symbol-invalid-macro-arg.err b/test/asm/symbol-invalid-macro-arg.err new file mode 100644 index 00000000..ff94c3c2 --- /dev/null +++ b/test/asm/symbol-invalid-macro-arg.err @@ -0,0 +1,2 @@ +ERROR: symbol-invalid-macro-arg.asm(1): + Invalid macro argument '\0' in symbol diff --git a/test/asm/symbol-invalid-macro-arg.out b/test/asm/symbol-invalid-macro-arg.out index ff94c3c2..e69de29b 100644 --- a/test/asm/symbol-invalid-macro-arg.out +++ b/test/asm/symbol-invalid-macro-arg.out @@ -1,2 +0,0 @@ -ERROR: symbol-invalid-macro-arg.asm(1): - Invalid macro argument '\0' in symbol diff --git a/test/asm/symbol-override.err b/test/asm/symbol-override.err new file mode 100644 index 00000000..352ec342 --- /dev/null +++ b/test/asm/symbol-override.err @@ -0,0 +1,7 @@ +ERROR: symbol-override.asm(6): + 'W' already defined as constant at symbol-override.asm(5) +ERROR: symbol-override.asm(10): + 'X' already defined as constant at symbol-override.asm(9) +ERROR: symbol-override.asm(14): + 'Y' already defined as non-constant at symbol-override.asm(13) +error: Assembly aborted (3 errors)! diff --git a/test/asm/symbol-override.out b/test/asm/symbol-override.out index 551d2819..f9221eb5 100644 --- a/test/asm/symbol-override.out +++ b/test/asm/symbol-override.out @@ -1,8 +1 @@ -ERROR: symbol-override.asm(6): - 'W' already defined as constant at symbol-override.asm(5) -ERROR: symbol-override.asm(10): - 'X' already defined as constant at symbol-override.asm(9) -ERROR: symbol-override.asm(14): - 'Y' already defined as non-constant at symbol-override.asm(13) -error: Assembly aborted (3 errors)! V=$1 diff --git a/test/asm/test.sh b/test/asm/test.sh index 1f736f3e..e22bc1b1 100755 --- a/test/asm/test.sh +++ b/test/asm/test.sh @@ -3,15 +3,17 @@ export LC_ALL=C o=$(mktemp) gb=$(mktemp) -before=$(mktemp) -after=$(mktemp) +input=$(mktemp) +output=$(mktemp) +errput=$(mktemp) rc=0 for i in *.asm; do for variant in '' '.pipe'; do if [ -z "$variant" ]; then - ../../rgbasm -Weverything -o $o $i > $after 2>&1 + ../../rgbasm -Weverything -o $o $i > $output 2> $errput desired_output=${i%.asm}.out + desired_errput=${i%.asm}.err else # `include-recursion.asm` refers to its own name inside the test code. # Skip testing with stdin input for that file. @@ -23,27 +25,34 @@ for i in *.asm; do # stdin redirection makes the input an unseekable pipe - a scenario # that's harder to deal with and was broken when the feature was # first implemented. - cat $i | ../../rgbasm -Weverything -o $o - > $after 2>&1 + cat $i | ../../rgbasm -Weverything -o $o - > $output 2> $errput + # Use two otherwise unused files for temp storage + desired_output=$input + desired_errput=$gb # Escape regex metacharacters - desired_output=$before subst="$(printf '%s\n' "$i" | sed 's:[][\/.^$*]:\\&:g')" + # Replace the file name with a dash to match changed output sed "s/$subst/-/g" ${i%.asm}.out > $desired_output + sed "s/$subst/-/g" ${i%.asm}.err > $desired_errput fi - diff -u $desired_output $after + diff -u $desired_output $output rc=$(($? || $rc)) + diff -u $desired_errput $errput + rc=$(($? || $rc)) + bin=${i%.asm}.out.bin if [ -f $bin ]; then - ../../rgblink -o $gb $o > $after 2>&1 - dd if=$gb count=1 bs=$(printf %s $(wc -c < $bin)) > $after 2>/dev/null - hexdump -C $after > $before && mv $before $after - hexdump -C $bin > $before - diff -u $before $after + ../../rgblink -o $gb $o > $output 2>&1 + dd if=$gb count=1 bs=$(printf %s $(wc -c < $bin)) > $output 2>/dev/null + hexdump -C $output > $input && mv $input $output + hexdump -C $bin > $input + diff -u $input $output rc=$(($? || $rc)) fi done done -rm -f $o $gb $before $after +rm -f $o $gb $input $output exit $rc diff --git a/test/asm/undefined-dot.err b/test/asm/undefined-dot.err new file mode 100644 index 00000000..511659b7 --- /dev/null +++ b/test/asm/undefined-dot.err @@ -0,0 +1 @@ +error: undefined-dot.asm(3) : '.' not defined diff --git a/test/asm/undefined-dot.out b/test/asm/undefined-dot.out index 511659b7..e69de29b 100644 --- a/test/asm/undefined-dot.out +++ b/test/asm/undefined-dot.out @@ -1 +0,0 @@ -error: undefined-dot.asm(3) : '.' not defined diff --git a/test/asm/utf-8.err b/test/asm/utf-8.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/zero-byte-file.err b/test/asm/zero-byte-file.err new file mode 100644 index 00000000..e69de29b