提交 1990207d 编写于 作者: S Steven Rostedt 提交者: Steven Rostedt

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: NSteven Rostedt <rostedt@goodmis.org>
上级 e7b13441
...@@ -104,6 +104,7 @@ my $monitor_cnt = 0; ...@@ -104,6 +104,7 @@ my $monitor_cnt = 0;
my $sleep_time; my $sleep_time;
my $bisect_sleep_time; my $bisect_sleep_time;
my $patchcheck_sleep_time; my $patchcheck_sleep_time;
my $ignore_warnings;
my $store_failures; my $store_failures;
my $test_name; my $test_name;
my $timeout; my $timeout;
...@@ -2074,6 +2075,13 @@ sub patchcheck { ...@@ -2074,6 +2075,13 @@ sub patchcheck {
@list = reverse @list; @list = reverse @list;
my $save_clean = $noclean; my $save_clean = $noclean;
my %ignored_warnings;
if (defined($ignore_warnings)) {
foreach my $sha1 (split /\s+/, $ignore_warnings) {
$ignored_warnings{$sha1} = 1;
}
}
$in_patchcheck = 1; $in_patchcheck = 1;
foreach my $item (@list) { foreach my $item (@list) {
...@@ -2100,7 +2108,10 @@ sub patchcheck { ...@@ -2100,7 +2108,10 @@ sub patchcheck {
build "oldconfig" or return 0; build "oldconfig" or return 0;
} }
check_buildlog $sha1 or return 0;
if (!defined($ignored_warnings{$sha1})) {
check_buildlog $sha1 or return 0;
}
next if ($type eq "build"); next if ($type eq "build");
...@@ -2288,6 +2299,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) { ...@@ -2288,6 +2299,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
$sleep_time = set_test_option("SLEEP_TIME", $i); $sleep_time = set_test_option("SLEEP_TIME", $i);
$bisect_sleep_time = set_test_option("BISECT_SLEEP_TIME", $i); $bisect_sleep_time = set_test_option("BISECT_SLEEP_TIME", $i);
$patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i); $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i);
$ignore_warnings = set_test_option("IGNORE_WARNINGS", $i);
$bisect_manual = set_test_option("BISECT_MANUAL", $i); $bisect_manual = set_test_option("BISECT_MANUAL", $i);
$bisect_skip = set_test_option("BISECT_SKIP", $i); $bisect_skip = set_test_option("BISECT_SKIP", $i);
$config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i); $config_bisect_good = set_test_option("CONFIG_BISECT_GOOD", $i);
......
...@@ -604,7 +604,12 @@ ...@@ -604,7 +604,12 @@
# build, boot, test. # build, boot, test.
# #
# Note, the build test will look for warnings, if a warning occurred # Note, the build test will look for warnings, if a warning occurred
# in a file that a commit touches, the build will fail. # in a file that a commit touches, the build will fail, unless
# IGNORE_WARNINGS is set for the given commit's sha1
#
# IGNORE_WARNINGS can be used to disable the failure of patchcheck
# on a particuler commit (SHA1). You can add more than one commit
# by adding a list of SHA1s that are space delimited.
# #
# If BUILD_NOCLEAN is set, then make mrproper will not be run on # If BUILD_NOCLEAN is set, then make mrproper will not be run on
# any of the builds, just like all other TEST_TYPE tests. But # any of the builds, just like all other TEST_TYPE tests. But
...@@ -619,6 +624,7 @@ ...@@ -619,6 +624,7 @@
# PATCHCHECK_TYPE = boot # PATCHCHECK_TYPE = boot
# PATCHCHECK_START = 747e94ae3d1b4c9bf5380e569f614eb9040b79e7 # PATCHCHECK_START = 747e94ae3d1b4c9bf5380e569f614eb9040b79e7
# PATCHCHECK_END = HEAD~2 # PATCHCHECK_END = HEAD~2
# IGNORE_WARNINGS = 42f9c6b69b54946ffc0515f57d01dc7f5c0e4712 0c17ca2c7187f431d8ffc79e81addc730f33d128
# #
# #
# #
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册