[Intel-gfx] [PATCH i-g-t v2] tests: Separate tests with lots of subtests

Gabriel Feceoru gabriel.feceoru at intel.com
Wed Apr 20 14:21:58 UTC 2016


Currently, when trying to run i-g-t tests with piglit, it takes up
to 20s until the first test is executed.
The main reason is that gem_concurrent_all has ~500k subtests,
overkilling piglit.

This patch separates gem_concurrent_* tests from the rest of the tests,
creating two files test-list.txt and test-list-full.txt.
The piglit can now enumerate the i-g-t tests within a decent few seconds.
The second list could be used when trying to execute specific these tests.

v2: Rebased

Signed-off-by: Gabriel Feceoru <gabriel.feceoru at intel.com>
---
 tests/Makefile.am      | 12 +++++++++---
 tests/Makefile.sources | 22 ++++++++++++++++++++--
 2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 771e9ee..0ed2a07 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -14,6 +14,12 @@ test-list.txt: Makefile.sources
 	@echo ${single_kernel_tests} ${multi_kernel_tests} >> $@
 	@echo END TESTLIST >> $@
 
+test-list-full.txt: Makefile.sources
+	@echo TESTLIST > $@
+	@echo ${single_kernel_tests} ${multi_kernel_tests} ${extra_multi_kernel_tests} >> $@
+	@echo END TESTLIST >> $@
+
+
 noinst_PROGRAMS = \
 	$(HANG) \
 	$(TESTS_testsuite) \
@@ -38,14 +44,14 @@ dist_pkgdata_DATA = \
 
 all-local: .gitignore
 .gitignore: Makefile.sources
-	@echo "$(pkglibexec_PROGRAMS) $(HANG) test-list.txt .gitignore" | sed 's/\s\+/\n/g' | sort > $@
+	@echo "$(pkglibexec_PROGRAMS) $(HANG) test-list.txt test-list-full.txt .gitignore" | sed 's/\s\+/\n/g' | sort > $@
 
-pkgdata_DATA = test-list.txt
+pkgdata_DATA = test-list.txt test-list-full.txt
 
 EXTRA_PROGRAMS = $(HANG)
 EXTRA_DIST = $(common_files)
 
-CLEANFILES = $(EXTRA_PROGRAMS) test-list.txt .gitignore
+CLEANFILES = $(EXTRA_PROGRAMS) test-list.txt test-list-full.txt .gitignore
 
 AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(DEBUG_CFLAGS)\
 	-I$(srcdir)/.. \
diff --git a/tests/Makefile.sources b/tests/Makefile.sources
index 41eca0d..abcf325 100644
--- a/tests/Makefile.sources
+++ b/tests/Makefile.sources
@@ -20,8 +20,6 @@ TESTS_progs_M = \
 	gem_busy \
 	gem_caching \
 	gem_close_race \
-	gem_concurrent_blit \
-	gem_concurrent_all \
 	gem_create \
 	gem_cs_tlb \
 	gem_ctx_bad_exec \
@@ -117,6 +115,11 @@ TESTS_progs_M = \
 	template \
 	$(NULL)
 
+TESTS_progs_XM = \
+    gem_concurrent_blit \
+    gem_concurrent_all \
+    $(NULL)
+
 TESTS_progs = \
 	core_auth \
 	core_getclient \
@@ -219,6 +222,15 @@ multi_kernel_tests = \
 	$(TESTS_scripts_M) \
 	$(NULL)
 
+
+# This target contains testcases with lots of subtests.
+# It was split from multi_kernel_tests because of the overhead of listing all
+# the subtests in piglit
+extra_multi_kernel_tests = \
+	$(TESTS_progs_XM) \
+	$(NULL)
+
+
 # This target is for simple testcase which don't expose any subtest.
 #
 # Your testcase should probably use igt_simple_main, but none of the other magic
@@ -233,6 +245,12 @@ kernel_tests = \
 	$(multi_kernel_tests) \
 	$(NULL)
 
+kernel_tests_full = \
+    $(single_kernel_tests) \
+    $(multi_kernel_tests) \
+	$(extra_multi_kernel_tests) \
+	$(NULL)
+
 # Test that exercise specific asserts in the test framework library and are
 # hence expected to fail.
 XFAIL_TESTS = \
-- 
1.9.1



More information about the Intel-gfx mailing list