ktest: Fix ktest confusion with CONFIG_MODULES_USE_ELF_RELA
authorSteven Rostedt <srostedt@redhat.com>
Fri, 26 Oct 2012 04:10:32 +0000 (00:10 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 26 Oct 2012 04:10:32 +0000 (00:10 -0400)
In order to decide if ktest should bother installing modules on the
target box, it checks if the config file has CONFIG_MODULES=y. But it
also checks if the '=y' part exists. It only will install modules if the
config exists and is set with '=y'. But as the regex that was used
tests:

  /^CONFIG_MODULES(=y)?/

this will also match:

  CONFIG_MODULES_USE_ELF_RELA

as the '=y' part was optional and it did not test the rest of the line.
When this happens, ktest will stop checking the rest of the configs but
it will also think that no modules are needed to be installed. What it
should do is only jump out of the loop if it actually found a
CONFIG_MODULES that is set to true.

Otherwise, ktest wont install the necessary modules needed for proper
booting of the test target.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
tools/testing/ktest/ktest.pl

index b51d787176d323bb3a2d6f0016b2d2cf4db16d3d..c7ba7614061b22f04d78b5d60e3669dd8767fbed 100755 (executable)
@@ -1740,8 +1740,10 @@ sub install {
     open(IN, "$output_config") or dodie("Can't read config file");
     while (<IN>) {
        if (/CONFIG_MODULES(=y)?/) {
-           $install_mods = 1 if (defined($1));
-           last;
+           if (defined($1)) {
+               $install_mods = 1;
+               last;
+           }
        }
     }
     close(IN);