Loading tools/testing/ktest/ktest.pl +29 −6 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -320,6 +321,7 @@ my %option_map = ( "PATCHCHECK_TYPE" => \$patchcheck_type, "PATCHCHECK_START" => \$patchcheck_start, "PATCHCHECK_CHERRY" => \$patchcheck_cherry, "PATCHCHECK_END" => \$patchcheck_end, ); Loading Loading @@ -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 Loading @@ -3197,24 +3206,38 @@ sub patchcheck { $type = "boot"; } 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 (!$cherry) { if ($list[$#list] !~ /^$start/) { fail "SHA1 $start not found"; } # 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; Loading tools/testing/ktest/sample.conf +10 −0 Original line number Diff line number Diff line Loading @@ -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. # Loading Loading
tools/testing/ktest/ktest.pl +29 −6 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -320,6 +321,7 @@ my %option_map = ( "PATCHCHECK_TYPE" => \$patchcheck_type, "PATCHCHECK_START" => \$patchcheck_start, "PATCHCHECK_CHERRY" => \$patchcheck_cherry, "PATCHCHECK_END" => \$patchcheck_end, ); Loading Loading @@ -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 Loading @@ -3197,24 +3206,38 @@ sub patchcheck { $type = "boot"; } 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 (!$cherry) { if ($list[$#list] !~ /^$start/) { fail "SHA1 $start not found"; } # 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; Loading
tools/testing/ktest/sample.conf +10 −0 Original line number Diff line number Diff line Loading @@ -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. # Loading