ktest: Set buildonly=1 for CONFIG_BISECT_TYPE=build
authorScott Wood <swood@redhat.com>
Mon, 17 Jul 2017 00:16:24 +0000 (19:16 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 21 Mar 2018 16:18:18 +0000 (12:18 -0400)
Rather than adding a third copy of the same logic, rework it to cover
all three buildonly cases at once.

In the future, please consider using the same variable to perform the
same function regardless of context...

Link: http://lkml.kernel.org/r/20170717001630.10518-2-swood@redhat.com
Signed-off-by: Scott Wood <swood@redhat.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index c85a9f9..80091df 100755 (executable)
@@ -721,21 +721,13 @@ sub set_value {
 
     my $prvalue = process_variables($rvalue);
 
-    if ($buildonly && $lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $prvalue ne "build") {
+    if ($lvalue =~ /^(TEST|BISECT|CONFIG_BISECT)_TYPE(\[.*\])?$/ &&
+       $prvalue !~ /^(config_|)bisect$/ &&
+       $prvalue !~ /^build$/ &&
+       $buildonly) {
+
        # Note if a test is something other than build, then we
        # will need other mandatory options.
-       if ($prvalue ne "install") {
-           # for bisect, we need to check BISECT_TYPE
-           if ($prvalue ne "bisect") {
-               $buildonly = 0;
-           }
-       } else {
-           # install still limits some mandatory options.
-           $buildonly = 2;
-       }
-    }
-
-    if ($buildonly && $lvalue =~ /^BISECT_TYPE(\[.*\])?$/ && $prvalue ne "build") {
        if ($prvalue ne "install") {
            $buildonly = 0;
        } else {