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.fece...@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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to