tests: Separate tests with lots of subtests

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@intel.com>
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
This commit is contained in:
Feceoru, Gabriel 2016-04-20 17:21:58 +03:00 committed by Marius Vlad
parent 3450cba30e
commit a633ad03c6
2 changed files with 29 additions and 5 deletions

View File

@ -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)/.. \

View File

@ -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 = \