1# Maintainer Patch Review Checklist 2 3Patchset should be tested locally and ideally also in maintainer's fork in 4GitHub Actions on GitHub. 5 6NOTE: Travis does only build testing, passing the CI means only that the 7 test compiles fine on variety of different distributions and 8 releases. 9 10The test should be executed at least once locally and should PASS as well. 11 12Commit messages should have 13 14* Author's `Signed-off-by` tag 15* Committer's `Reviewed-by` or `Signed-off-by` tag 16* Check also mailing lists for other reviewers / testers tags, notes and failure reports 17* `Fixes: hash` if it fixes particular LTP commit 18* `Fixes: #N` if it fixes github issue number N, so it's automatically closed 19 20After patch is accepted or rejected, set correct state and archive in 21https://patchwork.ozlabs.org/project/ltp/list/[LTP patchwork instance]. 22 23Also update `.github/workflows/wiki-mirror.yml` script which mirrors 24`doc/*.txt` to LTP wiki (git URL https://github.com/linux-test-project/ltp.wiki.git) 25if new wiki page is added. 26 27## New tests 28New test should 29 30* Have a record in runtest file 31* Test should work fine with more than one iteration 32 (e.g. run with `-i 100`) 33* Have a brief description 34* License: the default license for new tests is GPL v2 or later, use 35 GPL-2.0-or-later; the licence for test (e.g. GPL-2.0) should not change 36 unless test is completely rewritten 37* Old copyrights should be kept unless test is completely rewritten 38 39### C tests 40* Use new https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#22-writing-a-test-in-c[C API] 41* Test binaries are added into corresponding '.gitignore' files 42* Check coding style with `make check` 43 (more in https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#21-c-coding-style[C coding style]) 44* Docparse documentation 45* If a test is a regression test it should include tags 46 (more in https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#2238-test-tags[Test tags]) 47* When rewriting old tests, https://en.wikipedia.org/wiki/%CE%9CClinux[uClinux] 48 support should be removed (project has been discontinued). 49 E.g. remove `#ifdef UCLINUX`, replace `FORK_OR_VFORK()` with simple `fork()` or `SAFE_FORK()`. 50 51### Shell tests 52* Use new https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#23-writing-a-testcase-in-shell[shell API] 53* Check coding style with `make check` 54 (more in https://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#132-shell-coding-style[Shell coding style]) 55* If a test is a regression test it should include related kernel or glibc commits as a comment 56 57## LTP library 58For patchset touching library please check also 59https://github.com/linux-test-project/ltp/wiki/LTP-Library-API-Writing-Guidelines[LTP Library API Writing Guidelines]. 60