From 0f8b587bc2586209e875d2b988b5aa379f7fc8e8 Mon Sep 17 00:00:00 2001
From: Oliver Schmidt
Date: Wed, 1 Jul 2020 00:13:55 +0200
Subject: [PATCH] Added directory for currently failing regression tests.
---
test/readme.txt | 6 +++++
test/todo/Makefile | 63 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 69 insertions(+)
create mode 100644 test/todo/Makefile
diff --git a/test/readme.txt b/test/readme.txt
index cd3b7501a..2d4413f45 100644
--- a/test/readme.txt
+++ b/test/readme.txt
@@ -9,6 +9,12 @@ compiler.
/err - contains tests that MUST NOT compile
+/todo - these tests fail due to open compiler issues
+
+/asm - contains the assembler regression tests
+
+/dasm - contains the disassembler regression tests
+
/misc - a few tests that need special care of some sort
diff --git a/test/todo/Makefile b/test/todo/Makefile
new file mode 100644
index 000000000..ab5eb598c
--- /dev/null
+++ b/test/todo/Makefile
@@ -0,0 +1,63 @@
+# Makefile for the currently failing regression tests that return an error code on failure
+
+ifneq ($(shell echo),)
+ CMD_EXE = 1
+endif
+
+ifdef CMD_EXE
+ S = $(subst /,\,/)
+ NOT = - # Hack
+ NULLDEV = nul:
+ MKDIR = mkdir $(subst /,\,$1)
+ RMDIR = -rmdir /s /q $(subst /,\,$1)
+ DEL = del /f $(subst /,\,$1)
+else
+ S = /
+ NOT = !
+ NULLDEV = /dev/null
+ MKDIR = mkdir -p $1
+ RMDIR = $(RM) -r $1
+ DEL = $(RM) $1
+endif
+
+ifdef QUIET
+ .SILENT:
+ NULLOUT = >$(NULLDEV)
+ NULLERR = 2>$(NULLDEV)
+endif
+
+SIM65FLAGS = -x 200000000
+
+CL65 := $(if $(wildcard ../../bin/cl65*),..$S..$Sbin$Scl65,cl65)
+SIM65 := $(if $(wildcard ../../bin/sim65*),..$S..$Sbin$Ssim65,sim65)
+
+WORKDIR = ../../testwrk/val
+
+OPTIONS = g O Os Osi Osir Osr Oi Oir Or
+
+.PHONY: all clean
+
+SOURCES := $(wildcard *.c)
+TESTS = $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).6502.prg))
+TESTS += $(foreach option,$(OPTIONS),$(SOURCES:%.c=$(WORKDIR)/%.$(option).65c02.prg))
+
+all: $(TESTS)
+
+$(WORKDIR):
+ $(call MKDIR,$(WORKDIR))
+
+define PRG_template
+
+$(WORKDIR)/%.$1.$2.prg: %.c | $(WORKDIR)
+ $(if $(QUIET),echo val/$$*.$1.$2.prg)
+ $(CL65) -t sim$2 $$(CC65FLAGS) -$1 -o $$@ $$< $(NULLERR)
+ $(NOT) $(SIM65) $(SIM65FLAGS) $$@ $(NULLOUT)
+
+endef # PRG_template
+
+$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),6502)))
+$(foreach option,$(OPTIONS),$(eval $(call PRG_template,$(option),65c02)))
+
+clean:
+ @$(call RMDIR,$(WORKDIR))
+ @$(call DEL,$(SOURCES:.c=.o))