Re: [PATCH v2] docs/kselftest: add more guidelines for adding new tests
From: Muhammad Usama Anjum
Date: Tue Jun 07 2022 - 08:59:45 EST
Reminder!
On 5/21/22 12:36 PM, Muhammad Usama Anjum wrote:
> Improve and add instructions to add new tests. Add build commands to
> test before sending the new test patch.
>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
> ---
> Changes in v2:
> - Updated commit message
> - Removed dependence of this patch from other patch
> - Updated instructions
> ---
> Documentation/dev-tools/kselftest.rst | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst
> index a833ecf12fbc1..ee6467ca8293f 100644
> --- a/Documentation/dev-tools/kselftest.rst
> +++ b/Documentation/dev-tools/kselftest.rst
> @@ -208,6 +208,14 @@ In general, the rules for selftests are
> Contributing new tests (details)
> ================================
>
> + * In your Makefile, use facilities from lib.mk by including it instead of
> + reinventing the wheel. Specify flags and binaries generation flags on
> + need basis before including lib.mk. ::
> +
> + CFLAGS = $(KHDR_INCLUDES)
> + TEST_GEN_PROGS := close_range_test
> + include ../lib.mk
> +
> * Use TEST_GEN_XXX if such binaries or files are generated during
> compiling.
>
> @@ -230,13 +238,30 @@ Contributing new tests (details)
> * First use the headers inside the kernel source and/or git repo, and then the
> system headers. Headers for the kernel release as opposed to headers
> installed by the distro on the system should be the primary focus to be able
> - to find regressions.
> + to find regressions. Use KHDR_INCLUDES in Makefile to include headers from
> + the kernel source.
>
> * If a test needs specific kernel config options enabled, add a config file in
> the test directory to enable them.
>
> e.g: tools/testing/selftests/android/config
>
> + * Create a .gitignore file inside test directory and add all generated objects
> + in it.
> +
> + * Add new test name in TARGETS in selftests/Makefile::
> +
> + TARGETS += android
> +
> + * All changes should pass::
> +
> + kselftest-{all,install,clean,gen_tar}
> + kselftest-{all,install,clean,gen_tar} O=abo_path
> + kselftest-{all,install,clean,gen_tar} O=rel_path
> + make -C tools/testing/selftests {all,install,clean,gen_tar}
> + make -C tools/testing/selftests {all,install,clean,gen_tar} O=abs_path
> + make -C tools/testing/selftests {all,install,clean,gen_tar} O=rel_path
> +
> Test Module
> ===========
>
--
Muhammad Usama Anjum