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

Gabriel Feceoru
2016-05-17T11:31:09Z

On 17.05.2016 12:59, Daniel Vetter wrote:
> On Wed, Apr 20, 2016 at 05:21:58PM +0300, Gabriel Feceoru wrote:
>> 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>
>
> You didn't take my review into account but still just pushed this patch.
> Please fix up.

My apologies, I didn't ignore it but didn't read it carefully.

Regards,
Gabriel

>
> Also I think we should keep gem_concurrent_blit in the normal set of
> testcases.
> -Daniel
>
>> ---
>> 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