From 05464c4f3332d6ee1c082d58b520dc71d12d47ed Mon Sep 17 00:00:00 2001
From: Simon Rose <simon.rose@ess.eu>
Date: Tue, 20 Apr 2021 14:28:06 +0200
Subject: [PATCH] Initial draft for testing

---
 .gitlab-ci.yml            | 2 +-
 configure/CONFIG          | 1 +
 configure/E3/CONFIG_TEST  | 3 +++
 configure/E3/RULES_TEST   | 8 ++++++++
 configure/RULES           | 1 +
 tests/test_iocsh/Makefile | 4 ++++
 6 files changed, 18 insertions(+), 1 deletion(-)
 create mode 100644 configure/E3/CONFIG_TEST
 create mode 100644 configure/E3/RULES_TEST
 create mode 100644 tests/test_iocsh/Makefile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8bfd42d2..e623f46e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -60,4 +60,4 @@ test require:
   before_script:
     - source $(pwd)/epics/base-*/require/*/bin/setE3Env.bash
   script:
-    - echo exit | iocsh.bash
\ No newline at end of file
+    - make test
\ No newline at end of file
diff --git a/configure/CONFIG b/configure/CONFIG
index d747a382..51829100 100644
--- a/configure/CONFIG
+++ b/configure/CONFIG
@@ -25,6 +25,7 @@ include $(TOP)/configure/E3/CONFIG_E3_PATH
 include $(TOP)/configure/E3/CONFIG_E3_MAKEFILE
 include $(TOP)/configure/E3/CONFIG_EPICS
 include $(TOP)/configure/E3/CONFIG_EXPORT
+include $(TOP)/configure/E3/CONFIG_TEST
 
 
 VARS_EXCLUDES+=EPICS_VERSION
diff --git a/configure/E3/CONFIG_TEST b/configure/E3/CONFIG_TEST
new file mode 100644
index 00000000..1a89b51e
--- /dev/null
+++ b/configure/E3/CONFIG_TEST
@@ -0,0 +1,3 @@
+TEST_DIR:=$(TOP)/tests
+
+TESTS:=$(wildcard $(TEST_DIR)/test*)
\ No newline at end of file
diff --git a/configure/E3/RULES_TEST b/configure/E3/RULES_TEST
new file mode 100644
index 00000000..eeb09307
--- /dev/null
+++ b/configure/E3/RULES_TEST
@@ -0,0 +1,8 @@
+.PHONY: test
+
+test: $(TESTS)
+
+.PHONY: $(TESTS)
+$(TESTS):
+	$(info Running test $@...)
+	${QUIET}${MAKE} -C $@ test
diff --git a/configure/RULES b/configure/RULES
index 02026e3d..49e2bba9 100644
--- a/configure/RULES
+++ b/configure/RULES
@@ -15,6 +15,7 @@ include $(TOP)/configure/E3/RULES_REQUIRE
 include $(TOP)/configure/E3/RULES_PATCH
 include $(TOP)/configure/E3/RULES_DB
 include $(TOP)/configure/E3/RULES_VARS
+include $(TOP)/configure/E3/RULES_TEST
 
 
 ifneq (,$(findstring dev,$(MAKECMDGOALS)))
diff --git a/tests/test_iocsh/Makefile b/tests/test_iocsh/Makefile
new file mode 100644
index 00000000..a8104d32
--- /dev/null
+++ b/tests/test_iocsh/Makefile
@@ -0,0 +1,4 @@
+.PHONY: test
+
+test: 
+	echo exit | iocsh.bash
\ No newline at end of file
-- 
GitLab