mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.9 KiB
111 lines
3.9 KiB
# patchcheck.conf |
|
# |
|
# This contains a test that takes two git commits and will test each |
|
# commit between the two. The build test will look at what files the |
|
# commit has touched, and if any of those files produce a warning, then |
|
# the build will fail. |
|
|
|
|
|
# PATCH_START is the commit to begin with and PATCH_END is the commit |
|
# to end with (inclusive). This is similar to doing a git rebase -i PATCH_START~1 |
|
# and then testing each commit and doing a git rebase --continue. |
|
# You can use a SHA1, a git tag, or anything that git will accept for a checkout |
|
|
|
PATCH_START := HEAD~3 |
|
PATCH_END := HEAD |
|
|
|
# Use the oldconfig if build_type wasn't defined |
|
DEFAULTS IF NOT DEFINED BUILD_TYPE |
|
DO_BUILD_TYPE := oldconfig |
|
|
|
DEFAULTS ELSE |
|
DO_BUILD_TYPE := ${BUILD_TYPE} |
|
|
|
DEFAULTS |
|
|
|
|
|
# Change PATCH_CHECKOUT to be the branch you want to test. The test will |
|
# do a git checkout of this branch before starting. Obviously both |
|
# PATCH_START and PATCH_END must be in this branch (and PATCH_START must |
|
# be contained by PATCH_END). |
|
|
|
PATCH_CHECKOUT := test/branch |
|
|
|
# Usually it's a good idea to have a set config to use for testing individual |
|
# patches. |
|
PATCH_CONFIG := ${CONFIG_DIR}/config-patchcheck |
|
|
|
# Change PATCH_TEST to run some test for each patch. Each commit that is |
|
# tested, after it is built and installed on the test machine, this command |
|
# will be executed. Usually what is done is to ssh to the target box and |
|
# run some test scripts. If you just want to boot test your patches |
|
# comment PATCH_TEST out. |
|
PATCH_TEST := ${SSH} "/usr/local/bin/ktest-test-script" |
|
|
|
DEFAULTS IF DEFINED PATCH_TEST |
|
PATCH_TEST_TYPE := test |
|
|
|
DEFAULTS ELSE |
|
PATCH_TEST_TYPE := boot |
|
|
|
# If for some reason a file has a warning that one of your patches touch |
|
# but you do not care about it, set IGNORE_WARNINGS to that commit(s) |
|
# (space delimited) |
|
#IGNORE_WARNINGS = 39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544 6edb2a8a385f0cdef51dae37ff23e74d76d8a6ce |
|
|
|
# Instead of just checking for warnings to files that are changed |
|
# it can be advantageous to check for any new warnings. If a |
|
# header file is changed, it could cause a warning in a file not |
|
# touched by the commit. To detect these kinds of warnings, you |
|
# can use the WARNINGS_FILE option. |
|
# |
|
# If the variable CREATE_WARNINGS_FILE is set, this config will |
|
# enable the WARNINGS_FILE during the patchcheck test. Also, |
|
# before running the patchcheck test, it will create the |
|
# warnings file. |
|
# |
|
DEFAULTS IF DEFINED CREATE_WARNINGS_FILE |
|
WARNINGS_FILE = ${OUTPUT_DIR}/warnings_file |
|
|
|
TEST_START IF DEFINED CREATE_WARNINGS_FILE |
|
# WARNINGS_FILE is already set by the DEFAULTS above |
|
TEST_TYPE = make_warnings_file |
|
# Checkout the commit before the patches to test, |
|
# and record all the warnings that exist before the patches |
|
# to test are added |
|
CHECKOUT = ${PATCHCHECK_START}~1 |
|
# Force a full build |
|
BUILD_NOCLEAN = 0 |
|
BUILD_TYPE = ${DO_BUILD_TYPE} |
|
|
|
# If you are running a multi test, and the test failed on the first |
|
# test but on, say the 5th patch. If you want to restart on the |
|
# fifth patch, set PATCH_START1. This will make the first test start |
|
# from this commit instead of the PATCH_START commit. |
|
# Note, do not change this option. Just define PATCH_START1 in the |
|
# top config (the one you pass to ktest.pl), and this will use it, |
|
# otherwise it will just use PATCH_START if PATCH_START1 is not defined. |
|
DEFAULTS IF NOT DEFINED PATCH_START1 |
|
PATCH_START1 := ${PATCH_START} |
|
|
|
TEST_START IF ${TEST} == patchcheck |
|
TEST_TYPE = patchcheck |
|
MIN_CONFIG = ${PATCH_CONFIG} |
|
TEST = ${PATCH_TEST} |
|
PATCHCHECK_TYPE = ${PATCH_TEST_TYPE} |
|
PATCHCHECK_START = ${PATCH_START1} |
|
PATCHCHECK_END = ${PATCH_END} |
|
CHECKOUT = ${PATCH_CHECKOUT} |
|
BUILD_TYPE = ${DO_BUILD_TYPE} |
|
|
|
TEST_START IF ${TEST} == patchcheck && ${MULTI} |
|
TEST_TYPE = patchcheck |
|
MIN_CONFIG = ${PATCH_CONFIG} |
|
TEST = ${PATCH_TEST} |
|
PATCHCHECK_TYPE = ${PATCH_TEST_TYPE} |
|
PATCHCHECK_START = ${PATCH_START} |
|
PATCHCHECK_END = ${PATCH_END} |
|
CHECKOUT = ${PATCH_CHECKOUT} |
|
# Use multi to test different compilers? |
|
MAKE_CMD = CC=gcc-4.5.1 make |
|
BUILD_TYPE = ${DO_BUILD_TYPE}
|
|
|