* [for-next][PATCH 0/2] ktest: Updates for 3.18
@ 2014-09-20 0:15 Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 1/2] ktest: Add PATCHCHECK_CHERRY Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 2/2] ktest: add ability to skip during BISECT_MANUAL Steven Rostedt
0 siblings, 2 replies; 3+ messages in thread
From: Steven Rostedt @ 2014-09-20 0:15 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest.git
for-next
Head SHA1: fee9d3e61d04422628a3d22ed5eb8370dcef259b
Chris J Arges (1):
ktest: add ability to skip during BISECT_MANUAL
Steven Rostedt (Red Hat) (1):
ktest: Add PATCHCHECK_CHERRY
----
tools/testing/ktest/ktest.pl | 41 +++++++++++++++++++++++++++++++++--------
tools/testing/ktest/sample.conf | 10 ++++++++++
2 files changed, 43 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [for-next][PATCH 1/2] ktest: Add PATCHCHECK_CHERRY
2014-09-20 0:15 [for-next][PATCH 0/2] ktest: Updates for 3.18 Steven Rostedt
@ 2014-09-20 0:15 ` Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 2/2] ktest: add ability to skip during BISECT_MANUAL Steven Rostedt
1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2014-09-20 0:15 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton
[-- Attachment #1: 0001-ktest-Add-PATCHCHECK_CHERRY.patch --]
[-- Type: text/plain, Size: 3234 bytes --]
From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
Add a way to run a patchcheck test on the commits that are in one branch
but not in another. This uses git cherry to find a list of commits to
test each one with.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
tools/testing/ktest/ktest.pl | 35 +++++++++++++++++++++++++++++------
tools/testing/ktest/sample.conf | 10 ++++++++++
2 files changed, 39 insertions(+), 6 deletions(-)
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 55ab700f6ba5..3b7a180d9c0d 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -194,6 +194,7 @@ my $config_bisect_check;
my $patchcheck_type;
my $patchcheck_start;
+my $patchcheck_cherry;
my $patchcheck_end;
# set when a test is something other that just building or install
@@ -320,6 +321,7 @@ my %option_map = (
"PATCHCHECK_TYPE" => \$patchcheck_type,
"PATCHCHECK_START" => \$patchcheck_start,
+ "PATCHCHECK_CHERRY" => \$patchcheck_cherry,
"PATCHCHECK_END" => \$patchcheck_end,
);
@@ -3181,9 +3183,16 @@ sub patchcheck {
my $start = $patchcheck_start;
+ my $cherry = $patchcheck_cherry;
+ if (!defined($cherry)) {
+ $cherry = 0;
+ }
+
my $end = "HEAD";
if (defined($patchcheck_end)) {
$end = $patchcheck_end;
+ } elsif ($cherry) {
+ die "PATCHCHECK_END must be defined with PATCHCHECK_CHERRY\n";
}
# Get the true sha1's since we can use things like HEAD~3
@@ -3197,24 +3206,38 @@ sub patchcheck {
$type = "boot";
}
- open (IN, "git log --pretty=oneline $end|") or
- dodie "could not get git list";
+ if ($cherry) {
+ open (IN, "git cherry -v $start $end|") or
+ dodie "could not get git list";
+ } else {
+ open (IN, "git log --pretty=oneline $end|") or
+ dodie "could not get git list";
+ }
my @list;
while (<IN>) {
chomp;
+ # git cherry adds a '+' we want to remove
+ s/^\+ //;
$list[$#list+1] = $_;
last if (/^$start/);
}
close(IN);
- if ($list[$#list] !~ /^$start/) {
- fail "SHA1 $start not found";
+ if (!$cherry) {
+ if ($list[$#list] !~ /^$start/) {
+ fail "SHA1 $start not found";
+ }
+
+ # go backwards in the list
+ @list = reverse @list;
}
- # go backwards in the list
- @list = reverse @list;
+ doprint("Going to test the following commits:\n");
+ foreach my $l (@list) {
+ doprint "$l\n";
+ }
my $save_clean = $noclean;
my %ignored_warnings;
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
index 911e45ad657a..6c58cd8bbbae 100644
--- a/tools/testing/ktest/sample.conf
+++ b/tools/testing/ktest/sample.conf
@@ -906,6 +906,16 @@
#
# PATCHCHECK_END is the last patch to check (default HEAD)
#
+# PATCHCHECK_CHERRY if set to non zero, then git cherry will be
+# performed against PATCHCHECK_START and PATCHCHECK_END. That is
+#
+# git cherry ${PATCHCHECK_START} ${PATCHCHECK_END}
+#
+# Then the changes found will be tested.
+#
+# Note, PATCHCHECK_CHERRY requires PATCHCHECK_END to be defined.
+# (default 0)
+#
# PATCHCHECK_TYPE is required and is the type of test to run:
# build, boot, test.
#
--
2.0.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [for-next][PATCH 2/2] ktest: add ability to skip during BISECT_MANUAL
2014-09-20 0:15 [for-next][PATCH 0/2] ktest: Updates for 3.18 Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 1/2] ktest: Add PATCHCHECK_CHERRY Steven Rostedt
@ 2014-09-20 0:15 ` Steven Rostedt
1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2014-09-20 0:15 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Satoru Takeuchi, Chris J Arges
[-- Attachment #1: 0002-ktest-add-ability-to-skip-during-BISECT_MANUAL.patch --]
[-- Type: text/plain, Size: 1221 bytes --]
From: Chris J Arges <chris.j.arges@canonical.com>
When doing a manual bisect, a build can fail or a test can be inconclusive.
In these cases it would be helpful to be able to skip the test entirely.
Link: http://lkml.kernel.org/r/1409164021-2136-1-git-send-email-chris.j.arges@canonical.com
Reviewed-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
tools/testing/ktest/ktest.pl | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 3b7a180d9c0d..085452fa045b 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -2338,15 +2338,17 @@ sub success {
sub answer_bisect {
for (;;) {
- doprint "Pass or fail? [p/f]";
+ doprint "Pass, fail, or skip? [p/f/s]";
my $ans = <STDIN>;
chomp $ans;
if ($ans eq "p" || $ans eq "P") {
return 1;
} elsif ($ans eq "f" || $ans eq "F") {
return 0;
+ } elsif ($ans eq "s" || $ans eq "S") {
+ return -1;
} else {
- print "Please answer 'P' or 'F'\n";
+ print "Please answer 'p', 'f', or 's'\n";
}
}
}
--
2.0.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-09-20 0:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-20 0:15 [for-next][PATCH 0/2] ktest: Updates for 3.18 Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 1/2] ktest: Add PATCHCHECK_CHERRY Steven Rostedt
2014-09-20 0:15 ` [for-next][PATCH 2/2] ktest: add ability to skip during BISECT_MANUAL Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).