On 18/03/22 00.27, Muhammad Usama Anjum wrote:
Add the following new guidelines:
- Add instruction to use lib.mk
- Add instruction about how to use headers from kernel source
- Add instruction to add .gitignore file
- Add instruction about how to add new test in selftests/Makefile
- Add instruction about different build commands to test
Too verbose, because people can figure out what were added in the diff without explicitly mention them.
- Use lib.mk instead of writing Makefile from sratch. 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
I think what you mean is "In your Makefile, use facilities from lib.mk by including it instead of reinventing the wheel.", right?
- Add new test name in TARGETS in selftests/Makefile::
- TARGETS += android
- All of the following build commands should be successful
- Same directory build of kselftests::
make kselftest-all
make kselftest-install
make kselftest-clean
make kselftest-gen_tar
- Build with absolute output directory path::
make kselftest-all O=/abs_build_path
make kselftest-install O=/abs_build_path
make kselftest-clean O=/abs_build_path
make kselftest-gen_tar O=/abs_build_path
- Build with relative output directory path::
make kselftest-all O=relative_path
make kselftest-install O=relative_path
make kselftest-clean O=relative_path
make kselftest-gen_tar O=relative_path
- Build from Makefile of selftests directly::
make -C tools/testing/selftests
make -C tools/testing/selftests O=/abs_build_path
make -C tools/testing/selftests O=relative_path
For simplicity, we can say "All changes should pass kselftest-{all,install,clean,gen_tar} builds."
You don't need to spell out full command-line in the guideline unless absolutely necessary, in general.