diff options
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/testing/ktest/ktest.pl | 43 |
1 files changed, 31 insertions, 12 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl index f50b44fa8a03..7159e10ab8a4 100755 --- a/tools/testing/ktest/ktest.pl +++ b/tools/testing/ktest/ktest.pl | |||
| @@ -22,7 +22,7 @@ my %default; | |||
| 22 | 22 | ||
| 23 | #default opts | 23 | #default opts |
| 24 | $default{"NUM_TESTS"} = 1; | 24 | $default{"NUM_TESTS"} = 1; |
| 25 | $default{"TEST_TYPE"} = "test"; | 25 | $default{"TEST_TYPE"} = "build"; |
| 26 | $default{"BUILD_TYPE"} = "randconfig"; | 26 | $default{"BUILD_TYPE"} = "randconfig"; |
| 27 | $default{"MAKE_CMD"} = "make"; | 27 | $default{"MAKE_CMD"} = "make"; |
| 28 | $default{"TIMEOUT"} = 120; | 28 | $default{"TIMEOUT"} = 120; |
| @@ -136,6 +136,10 @@ my $localversion; | |||
| 136 | my $iteration = 0; | 136 | my $iteration = 0; |
| 137 | my $successes = 0; | 137 | my $successes = 0; |
| 138 | 138 | ||
| 139 | # set when a test is something other that just building | ||
| 140 | # which would require more options. | ||
| 141 | my $buildonly = 1; | ||
| 142 | |||
| 139 | my %entered_configs; | 143 | my %entered_configs; |
| 140 | my %config_help; | 144 | my %config_help; |
| 141 | my %variable; | 145 | my %variable; |
| @@ -149,6 +153,7 @@ chomp ($variable{"PWD"} = `pwd`); | |||
| 149 | 153 | ||
| 150 | $config_help{"MACHINE"} = << "EOF" | 154 | $config_help{"MACHINE"} = << "EOF" |
| 151 | The machine hostname that you will test. | 155 | The machine hostname that you will test. |
| 156 | For build only tests, it is still needed to differentiate log files. | ||
| 152 | EOF | 157 | EOF |
| 153 | ; | 158 | ; |
| 154 | $config_help{"SSH_USER"} = << "EOF" | 159 | $config_help{"SSH_USER"} = << "EOF" |
| @@ -321,15 +326,22 @@ sub get_ktest_config { | |||
| 321 | 326 | ||
| 322 | sub get_ktest_configs { | 327 | sub get_ktest_configs { |
| 323 | get_ktest_config("MACHINE"); | 328 | get_ktest_config("MACHINE"); |
| 324 | get_ktest_config("SSH_USER"); | ||
| 325 | get_ktest_config("BUILD_DIR"); | 329 | get_ktest_config("BUILD_DIR"); |
| 326 | get_ktest_config("OUTPUT_DIR"); | 330 | get_ktest_config("OUTPUT_DIR"); |
| 327 | get_ktest_config("BUILD_TARGET"); | 331 | |
| 328 | get_ktest_config("TARGET_IMAGE"); | 332 | # options required for other than just building a kernel |
| 329 | get_ktest_config("POWER_CYCLE"); | 333 | if (!$buildonly) { |
| 330 | get_ktest_config("CONSOLE"); | 334 | get_ktest_config("SSH_USER"); |
| 335 | get_ktest_config("BUILD_TARGET"); | ||
| 336 | get_ktest_config("TARGET_IMAGE"); | ||
| 337 | get_ktest_config("POWER_CYCLE"); | ||
| 338 | get_ktest_config("CONSOLE"); | ||
| 339 | } | ||
| 340 | |||
| 331 | get_ktest_config("LOCALVERSION"); | 341 | get_ktest_config("LOCALVERSION"); |
| 332 | 342 | ||
| 343 | return if ($buildonly); | ||
| 344 | |||
| 333 | my $rtype = $opt{"REBOOT_TYPE"}; | 345 | my $rtype = $opt{"REBOOT_TYPE"}; |
| 334 | 346 | ||
| 335 | if (!defined($rtype)) { | 347 | if (!defined($rtype)) { |
| @@ -388,6 +400,12 @@ sub process_variables { | |||
| 388 | sub set_value { | 400 | sub set_value { |
| 389 | my ($lvalue, $rvalue, $override, $overrides, $name) = @_; | 401 | my ($lvalue, $rvalue, $override, $overrides, $name) = @_; |
| 390 | 402 | ||
| 403 | if ($lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $rvalue ne "build") { | ||
| 404 | # Note if a test is something other than build, then we | ||
| 405 | # will need other manditory options. | ||
| 406 | $buildonly = 0; | ||
| 407 | } | ||
| 408 | |||
| 391 | if (defined($opt{$lvalue})) { | 409 | if (defined($opt{$lvalue})) { |
| 392 | if (!$override || defined(${$overrides}{$lvalue})) { | 410 | if (!$override || defined(${$overrides}{$lvalue})) { |
| 393 | my $extra = ""; | 411 | my $extra = ""; |
| @@ -3271,18 +3289,19 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) { | |||
| 3271 | $ENV{"SSH_USER"} = $ssh_user; | 3289 | $ENV{"SSH_USER"} = $ssh_user; |
| 3272 | $ENV{"MACHINE"} = $machine; | 3290 | $ENV{"MACHINE"} = $machine; |
| 3273 | 3291 | ||
| 3274 | $target = "$ssh_user\@$machine"; | ||
| 3275 | |||
| 3276 | $buildlog = "$tmpdir/buildlog-$machine"; | 3292 | $buildlog = "$tmpdir/buildlog-$machine"; |
| 3277 | $testlog = "$tmpdir/testlog-$machine"; | 3293 | $testlog = "$tmpdir/testlog-$machine"; |
| 3278 | $dmesg = "$tmpdir/dmesg-$machine"; | 3294 | $dmesg = "$tmpdir/dmesg-$machine"; |
| 3279 | $make = "$makecmd O=$outputdir"; | 3295 | $make = "$makecmd O=$outputdir"; |
| 3280 | $output_config = "$outputdir/.config"; | 3296 | $output_config = "$outputdir/.config"; |
| 3281 | 3297 | ||
| 3282 | if ($reboot_type eq "grub") { | 3298 | if (!$buildonly) { |
| 3283 | dodie "GRUB_MENU not defined" if (!defined($grub_menu)); | 3299 | $target = "$ssh_user\@$machine"; |
| 3284 | } elsif (!defined($reboot_script)) { | 3300 | if ($reboot_type eq "grub") { |
| 3285 | dodie "REBOOT_SCRIPT not defined" | 3301 | dodie "GRUB_MENU not defined" if (!defined($grub_menu)); |
| 3302 | } elsif (!defined($reboot_script)) { | ||
| 3303 | dodie "REBOOT_SCRIPT not defined" | ||
| 3304 | } | ||
| 3286 | } | 3305 | } |
| 3287 | 3306 | ||
| 3288 | my $run_type = $build_type; | 3307 | my $run_type = $build_type; |
