Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/ktest/examples/include/patchcheck.conf
26299 views
1
# patchcheck.conf
2
#
3
# This contains a test that takes two git commits and will test each
4
# commit between the two. The build test will look at what files the
5
# commit has touched, and if any of those files produce a warning, then
6
# the build will fail.
7
8
9
# PATCH_START is the commit to begin with and PATCH_END is the commit
10
# to end with (inclusive). This is similar to doing a git rebase -i PATCH_START~1
11
# and then testing each commit and doing a git rebase --continue.
12
# You can use a SHA1, a git tag, or anything that git will accept for a checkout
13
14
PATCH_START := HEAD~3
15
PATCH_END := HEAD
16
17
# Use the oldconfig if build_type wasn't defined
18
DEFAULTS IF NOT DEFINED BUILD_TYPE
19
DO_BUILD_TYPE := oldconfig
20
21
DEFAULTS ELSE
22
DO_BUILD_TYPE := ${BUILD_TYPE}
23
24
DEFAULTS
25
26
27
# Change PATCH_CHECKOUT to be the branch you want to test. The test will
28
# do a git checkout of this branch before starting. Obviously both
29
# PATCH_START and PATCH_END must be in this branch (and PATCH_START must
30
# be contained by PATCH_END).
31
32
PATCH_CHECKOUT := test/branch
33
34
# Usually it's a good idea to have a set config to use for testing individual
35
# patches.
36
PATCH_CONFIG := ${CONFIG_DIR}/config-patchcheck
37
38
# Change PATCH_TEST to run some test for each patch. Each commit that is
39
# tested, after it is built and installed on the test machine, this command
40
# will be executed. Usually what is done is to ssh to the target box and
41
# run some test scripts. If you just want to boot test your patches
42
# comment PATCH_TEST out.
43
PATCH_TEST := ${SSH} "/usr/local/bin/ktest-test-script"
44
45
DEFAULTS IF DEFINED PATCH_TEST
46
PATCH_TEST_TYPE := test
47
48
DEFAULTS ELSE
49
PATCH_TEST_TYPE := boot
50
51
# If for some reason a file has a warning that one of your patches touch
52
# but you do not care about it, set IGNORE_WARNINGS to that commit(s)
53
# (space delimited)
54
#IGNORE_WARNINGS = 39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544 6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce
55
56
# Instead of just checking for warnings to files that are changed
57
# it can be advantageous to check for any new warnings. If a
58
# header file is changed, it could cause a warning in a file not
59
# touched by the commit. To detect these kinds of warnings, you
60
# can use the WARNINGS_FILE option.
61
#
62
# If the variable CREATE_WARNINGS_FILE is set, this config will
63
# enable the WARNINGS_FILE during the patchcheck test. Also,
64
# before running the patchcheck test, it will create the
65
# warnings file.
66
#
67
DEFAULTS IF DEFINED CREATE_WARNINGS_FILE
68
WARNINGS_FILE = ${OUTPUT_DIR}/warnings_file
69
70
TEST_START IF DEFINED CREATE_WARNINGS_FILE
71
# WARNINGS_FILE is already set by the DEFAULTS above
72
TEST_TYPE = make_warnings_file
73
# Checkout the commit before the patches to test,
74
# and record all the warnings that exist before the patches
75
# to test are added
76
CHECKOUT = ${PATCHCHECK_START}~1
77
# Force a full build
78
BUILD_NOCLEAN = 0
79
BUILD_TYPE = ${DO_BUILD_TYPE}
80
81
# If you are running a multi test, and the test failed on the first
82
# test but on, say the 5th patch. If you want to restart on the
83
# fifth patch, set PATCH_START1. This will make the first test start
84
# from this commit instead of the PATCH_START commit.
85
# Note, do not change this option. Just define PATCH_START1 in the
86
# top config (the one you pass to ktest.pl), and this will use it,
87
# otherwise it will just use PATCH_START if PATCH_START1 is not defined.
88
DEFAULTS IF NOT DEFINED PATCH_START1
89
PATCH_START1 := ${PATCH_START}
90
91
TEST_START IF ${TEST} == patchcheck
92
TEST_TYPE = patchcheck
93
MIN_CONFIG = ${PATCH_CONFIG}
94
TEST = ${PATCH_TEST}
95
PATCHCHECK_TYPE = ${PATCH_TEST_TYPE}
96
PATCHCHECK_START = ${PATCH_START1}
97
PATCHCHECK_END = ${PATCH_END}
98
CHECKOUT = ${PATCH_CHECKOUT}
99
BUILD_TYPE = ${DO_BUILD_TYPE}
100
101
TEST_START IF ${TEST} == patchcheck && ${MULTI}
102
TEST_TYPE = patchcheck
103
MIN_CONFIG = ${PATCH_CONFIG}
104
TEST = ${PATCH_TEST}
105
PATCHCHECK_TYPE = ${PATCH_TEST_TYPE}
106
PATCHCHECK_START = ${PATCH_START}
107
PATCHCHECK_END = ${PATCH_END}
108
CHECKOUT = ${PATCH_CHECKOUT}
109
# Use multi to test different compilers?
110
MAKE_CMD = CC=gcc-4.5.1 make
111
BUILD_TYPE = ${DO_BUILD_TYPE}
112
113