aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2011-06-14 20:46:25 -0400
committerSteven Rostedt <rostedt@goodmis.org>2011-06-14 20:46:25 -0400
commit1990207d538885e678f374e3e79f454c2e6c7383 (patch)
tree3259b03dc8f5bbe76a13af9add91fb4a68fdfd5b /tools/testing
parente7b13441895fd0f95c34a004eed364524cca71cb (diff)
ktest: Add IGNORE_WARNINGS to ignore warnings in some patches
Doing a patchcheck test, there may be warnings that gcc produces which may be OK, and the test should not fail on that commit. By adding a IGNORE_WARNINGS option to list a space delimited SHA1s that are ignored lets the user avoid having the test fail on certain commits. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'tools/testing')
-rwxr-xr-xtools/testing/ktest/ktest.pl14
-rw-r--r--tools/testing/ktest/sample.conf8
2 files changed, 20 insertions, 2 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 5b35fa04429b..5924f14ba418 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -104,6 +104,7 @@ my $monitor_cnt = 0;
104my $sleep_time; 104my $sleep_time;
105my $bisect_sleep_time; 105my $bisect_sleep_time;
106my $patchcheck_sleep_time; 106my $patchcheck_sleep_time;
107my $ignore_warnings;
107my $store_failures; 108my $store_failures;
108my $test_name; 109my $test_name;
109my $timeout; 110my $timeout;
@@ -2074,6 +2075,13 @@ sub patchcheck {
2074 @list = reverse @list; 2075 @list = reverse @list;
2075 2076
2076 my $save_clean = $noclean; 2077 my $save_clean = $noclean;
2078 my %ignored_warnings;
2079
2080 if (defined($ignore_warnings)) {
2081 foreach my $sha1 (split /\s+/, $ignore_warnings) {
2082 $ignored_warnings{$sha1} = 1;
2083 }
2084 }
2077 2085
2078 $in_patchcheck = 1; 2086 $in_patchcheck = 1;
2079 foreach my $item (@list) { 2087 foreach my $item (@list) {
@@ -2100,7 +2108,10 @@ sub patchcheck {
2100 build "oldconfig" or return 0; 2108 build "oldconfig" or return 0;
2101 } 2109 }
2102 2110
2103 check_buildlog $sha1 or return 0; 2111
2112 if (!defined($ignored_warnings{$sha1})) {
2113 check_buildlog $sha1 or return 0;
2114 }
2104 2115
2105 next if ($type eq "build"); 2116 next if ($type eq "build");
2106 2117
@@ -2288,6 +2299,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
2288 $sleep_time = set_test_option("SLEEP_TIME", $i); 2299 $sleep_time = set_test_option("SLEEP_TIME", $i);
2289 $bisect_sleep_time = set_test_option("BISECT_SLEEP_TIME", $i); 2300 $bisect_sleep_time = set_test_option("BISECT_SLEEP_TIME", $i);
2290 $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i); 2301 $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i);
2302 $ignore_warnings = set_test_option("IGNORE_WARNINGS", $i);
2291 $bisect_manual = set_test_option("BISECT_MANUAL", $i); 2303 $bisect_manual = set_test_option("BISECT_MANUAL", $i);
2292 $bisect_skip = set_test_option("BISECT_SKIP", $i); 2304 $bisect_skip = set_test_option("BISECT_SKIP", $i);
2293 $config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i); 2305 $config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i);
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
index e2d8d8338e9a..82c966c32d61 100644
--- a/tools/testing/ktest/sample.conf
+++ b/tools/testing/ktest/sample.conf
@@ -604,7 +604,12 @@
604# build, boot, test. 604# build, boot, test.
605# 605#
606# Note, the build test will look for warnings, if a warning occurred 606# Note, the build test will look for warnings, if a warning occurred
607# in a file that a commit touches, the build will fail. 607# in a file that a commit touches, the build will fail, unless
608# IGNORE_WARNINGS is set for the given commit's sha1
609#
610# IGNORE_WARNINGS can be used to disable the failure of patchcheck
611# on a particuler commit (SHA1). You can add more than one commit
612# by adding a list of SHA1s that are space delimited.
608# 613#
609# If BUILD_NOCLEAN is set, then make mrproper will not be run on 614# If BUILD_NOCLEAN is set, then make mrproper will not be run on
610# any of the builds, just like all other TEST_TYPE tests. But 615# any of the builds, just like all other TEST_TYPE tests. But
@@ -619,6 +624,7 @@
619# PATCHCHECK_TYPE = boot 624# PATCHCHECK_TYPE = boot
620# PATCHCHECK_START = 747e94ae3d1b4c9bf5380e569f614eb9040b79e7 625# PATCHCHECK_START = 747e94ae3d1b4c9bf5380e569f614eb9040b79e7
621# PATCHCHECK_END = HEAD~2 626# PATCHCHECK_END = HEAD~2
627# IGNORE_WARNINGS = 42f9c6b69b54946ffc0515f57d01dc7f5c0e4712 0c17ca2c7187f431d8ffc79e81addc730f33d128
622# 628#
623# 629#
624# 630#