112 lines · plain
1# patchcheck.conf2#3# This contains a test that takes two git commits and will test each4# commit between the two. The build test will look at what files the5# commit has touched, and if any of those files produce a warning, then6# the build will fail.7 8 9# PATCH_START is the commit to begin with and PATCH_END is the commit10# to end with (inclusive). This is similar to doing a git rebase -i PATCH_START~111# 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 checkout13 14PATCH_START := HEAD~315PATCH_END := HEAD16 17# Use the oldconfig if build_type wasn't defined18DEFAULTS IF NOT DEFINED BUILD_TYPE19DO_BUILD_TYPE := oldconfig20 21DEFAULTS ELSE22DO_BUILD_TYPE := ${BUILD_TYPE}23 24DEFAULTS25 26 27# Change PATCH_CHECKOUT to be the branch you want to test. The test will28# do a git checkout of this branch before starting. Obviously both29# PATCH_START and PATCH_END must be in this branch (and PATCH_START must30# be contained by PATCH_END).31 32PATCH_CHECKOUT := test/branch33 34# Usually it's a good idea to have a set config to use for testing individual35# patches.36PATCH_CONFIG := ${CONFIG_DIR}/config-patchcheck37 38# Change PATCH_TEST to run some test for each patch. Each commit that is39# tested, after it is built and installed on the test machine, this command40# will be executed. Usually what is done is to ssh to the target box and41# run some test scripts. If you just want to boot test your patches42# comment PATCH_TEST out.43PATCH_TEST := ${SSH} "/usr/local/bin/ktest-test-script"44 45DEFAULTS IF DEFINED PATCH_TEST46PATCH_TEST_TYPE := test47 48DEFAULTS ELSE49PATCH_TEST_TYPE := boot50 51# If for some reason a file has a warning that one of your patches touch52# but you do not care about it, set IGNORE_WARNINGS to that commit(s)53# (space delimited)54#IGNORE_WARNINGS = 39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544 6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce55 56# Instead of just checking for warnings to files that are changed57# it can be advantageous to check for any new warnings. If a58# header file is changed, it could cause a warning in a file not59# touched by the commit. To detect these kinds of warnings, you60# can use the WARNINGS_FILE option.61#62# If the variable CREATE_WARNINGS_FILE is set, this config will63# enable the WARNINGS_FILE during the patchcheck test. Also,64# before running the patchcheck test, it will create the65# warnings file.66#67DEFAULTS IF DEFINED CREATE_WARNINGS_FILE68WARNINGS_FILE = ${OUTPUT_DIR}/warnings_file69 70TEST_START IF DEFINED CREATE_WARNINGS_FILE71# WARNINGS_FILE is already set by the DEFAULTS above72TEST_TYPE = make_warnings_file73# Checkout the commit before the patches to test,74# and record all the warnings that exist before the patches75# to test are added76CHECKOUT = ${PATCHCHECK_START}~177# Force a full build78BUILD_NOCLEAN = 079BUILD_TYPE = ${DO_BUILD_TYPE}80 81# If you are running a multi test, and the test failed on the first82# test but on, say the 5th patch. If you want to restart on the83# fifth patch, set PATCH_START1. This will make the first test start84# from this commit instead of the PATCH_START commit.85# Note, do not change this option. Just define PATCH_START1 in the86# 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.88DEFAULTS IF NOT DEFINED PATCH_START189PATCH_START1 := ${PATCH_START}90 91TEST_START IF ${TEST} == patchcheck92TEST_TYPE = patchcheck93MIN_CONFIG = ${PATCH_CONFIG}94TEST = ${PATCH_TEST}95PATCHCHECK_TYPE = ${PATCH_TEST_TYPE}96PATCHCHECK_START = ${PATCH_START1}97PATCHCHECK_END = ${PATCH_END}98CHECKOUT = ${PATCH_CHECKOUT}99BUILD_TYPE = ${DO_BUILD_TYPE}100 101TEST_START IF ${TEST} == patchcheck && ${MULTI}102TEST_TYPE = patchcheck103MIN_CONFIG = ${PATCH_CONFIG}104TEST = ${PATCH_TEST}105PATCHCHECK_TYPE = ${PATCH_TEST_TYPE}106PATCHCHECK_START = ${PATCH_START}107PATCHCHECK_END = ${PATCH_END}108CHECKOUT = ${PATCH_CHECKOUT}109# Use multi to test different compilers?110MAKE_CMD = CC=gcc-4.5.1 make111BUILD_TYPE = ${DO_BUILD_TYPE}112