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

Daniel Vetter daniel at ffwll.ch
Wed Apr 20 13:04:37 UTC 2016


On Mon, Apr 18, 2016 at 12:52:44PM +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.
> 
> Signed-off-by: Gabriel Feceoru <gabriel.feceoru at intel.com>

Imo just shuffle gem_concurrent_all into the EXTRA binaries target. With
500k tests it's way past the "just a few regression tests" phase fully
into "full blown stress test suite that takes centuries to run".

With that change: Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>

So feel free to ask Marius to push right away.
-Daniel

> ---
>  tests/Makefile.am      |  6 ++++++
>  tests/Makefile.sources | 22 ++++++++++++++++++++--
>  2 files changed, 26 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 771e9ee..185962b 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) \
> diff --git a/tests/Makefile.sources b/tests/Makefile.sources
> index c52be2c..ca72243 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_param_basic \
> @@ -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
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list