diff --git a/configure/E3/CONFIG_TEST b/configure/E3/CONFIG_TEST
index 1a89b51eb5998218b4045c72feaab2ca94f222ff..4b27c89ce95016ffa5bc114f390b55f8ebaf68db 100644
--- a/configure/E3/CONFIG_TEST
+++ b/configure/E3/CONFIG_TEST
@@ -1,3 +1 @@
 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
index 11216464451a6713c38178a0199b96d7f3df3ed5..5a6e2b8473f663b14bfa544ef6867e3f46f1b39e 100644
--- a/configure/E3/RULES_TEST
+++ b/configure/E3/RULES_TEST
@@ -1,15 +1,4 @@
 .PHONY: test
 
-test: collect_tests $(TESTS)
-
-.PHONY: collect_tests
-collect_tests:
-	@echo "Collecting tests:"
-	@for test in $(TESTS); do \
-	  printf "  %s\n" "$$test"; \
-	done;
-
-.PHONY: $(TESTS)
-$(TESTS):
-	$(info Running test $@...)
-	${QUIET}${MAKE} -C $@ test
+test:
+	pytest $(TEST_DIR) -v
diff --git a/tests/test_build/data/Makefile b/tests/data/Makefile
similarity index 100%
rename from tests/test_build/data/Makefile
rename to tests/data/Makefile
diff --git a/tests/test_build/data/build/database.db b/tests/data/build/database.db
similarity index 100%
rename from tests/test_build/data/build/database.db
rename to tests/data/build/database.db
diff --git a/tests/test_build/data/patch/Site/0.0.0+0/apply.p0.patch b/tests/data/patch/Site/0.0.0+0/apply.p0.patch
similarity index 100%
rename from tests/test_build/data/patch/Site/0.0.0+0/apply.p0.patch
rename to tests/data/patch/Site/0.0.0+0/apply.p0.patch
diff --git a/tests/test_build/data/patch/Site/0.0.0-dont-apply.p0.patch b/tests/data/patch/Site/0.0.0-dont-apply.p0.patch
similarity index 100%
rename from tests/test_build/data/patch/Site/0.0.0-dont-apply.p0.patch
rename to tests/data/patch/Site/0.0.0-dont-apply.p0.patch
diff --git a/tests/test_build/data/patch/Site/0.0.0/dont-apply.p0.patch b/tests/data/patch/Site/0.0.0/dont-apply.p0.patch
similarity index 100%
rename from tests/test_build/data/patch/Site/0.0.0/dont-apply.p0.patch
rename to tests/data/patch/Site/0.0.0/dont-apply.p0.patch
diff --git a/tests/test_build/test_build.py b/tests/test_build.py
similarity index 100%
rename from tests/test_build/test_build.py
rename to tests/test_build.py
diff --git a/tests/test_build/Makefile b/tests/test_build/Makefile
deleted file mode 100644
index da755d0897fdffbb010524802d6170e658041ae7..0000000000000000000000000000000000000000
--- a/tests/test_build/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-
-.PHONY: default
-default: test
-
-.PHONY: test
-test: check_env 
-	@pytest . -v
-
-.PHONY: check_env
-check_env: guard-EPICS_BASE guard-E3_REQUIRE_VERSION
-	@#$(or $(wildcard ${EPICS_BASE}/require/${E3_REQUIRE_VERSION}/bin/setE3Env.bash), $(error setE3Env.bash not found. Please check your version of base and require.))
-
-guard-%:
-	@#$(or ${$*}, $(error $* is not set))
-
diff --git a/tests/test_iocsh/Makefile b/tests/test_iocsh/Makefile
deleted file mode 100644
index a8104d32fd294fdf8b67242e1617c582541ce857..0000000000000000000000000000000000000000
--- a/tests/test_iocsh/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-.PHONY: test
-
-test: 
-	echo exit | iocsh.bash
\ No newline at end of file
diff --git a/tests/test_versions/test_versions.py b/tests/test_versions.py
similarity index 100%
rename from tests/test_versions/test_versions.py
rename to tests/test_versions.py
diff --git a/tests/test_versions/Makefile b/tests/test_versions/Makefile
deleted file mode 100644
index da755d0897fdffbb010524802d6170e658041ae7..0000000000000000000000000000000000000000
--- a/tests/test_versions/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-
-.PHONY: default
-default: test
-
-.PHONY: test
-test: check_env 
-	@pytest . -v
-
-.PHONY: check_env
-check_env: guard-EPICS_BASE guard-E3_REQUIRE_VERSION
-	@#$(or $(wildcard ${EPICS_BASE}/require/${E3_REQUIRE_VERSION}/bin/setE3Env.bash), $(error setE3Env.bash not found. Please check your version of base and require.))
-
-guard-%:
-	@#$(or ${$*}, $(error $* is not set))
-