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

Daniel Vetter
2016-05-17T09:59:36Z

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.

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

--
Daniel Vetter
Software Engineer, Intel Corporation