ktest: Do not require CONSOLE for build or install bisects

If the user is doing a build or install bisect, there's no reason to
have them define CONSOLE, as the console does not need to be read. The
console only needs to be read for boot tests.

CONSOLE is not required for normal build or install tests, let's not
require it for bisect tests with BISECT_TYPE of build or install.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Steven Rostedt (Red Hat) 2013-01-30 12:25:38 -05:00 коммит произвёл Steven Rostedt
Родитель 949db153b6
Коммит 319ab14f05
1 изменённых файлов: 22 добавлений и 5 удалений

Просмотреть файл

@ -618,6 +618,18 @@ sub set_value {
if ($buildonly && $lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $prvalue ne "build") { if ($buildonly && $lvalue =~ /^TEST_TYPE(\[.*\])?$/ && $prvalue ne "build") {
# Note if a test is something other than build, then we # Note if a test is something other than build, then we
# will need other manditory options. # will need other manditory options.
if ($prvalue ne "install") {
# for bisect, we need to check BISECT_TYPE
if ($prvalue ne "bisect") {
$buildonly = 0;
}
} else {
# install still limits some manditory options.
$buildonly = 2;
}
}
if ($buildonly && $lvalue =~ /^BISECT_TYPE(\[.*\])?$/ && $prvalue ne "build") {
if ($prvalue ne "install") { if ($prvalue ne "install") {
$buildonly = 0; $buildonly = 0;
} else { } else {
@ -1279,6 +1291,7 @@ sub start_monitor {
} }
sub end_monitor { sub end_monitor {
return if (!defined $console);
if (--$monitor_cnt) { if (--$monitor_cnt) {
return; return;
} }
@ -1585,7 +1598,7 @@ sub wait_for_input
$rin = ''; $rin = '';
vec($rin, fileno($fp), 1) = 1; vec($rin, fileno($fp), 1) = 1;
$ready = select($rin, undef, undef, $time); ($ready, $time) = select($rin, undef, undef, $time);
$line = ""; $line = "";
@ -1891,15 +1904,19 @@ sub get_version {
sub start_monitor_and_boot { sub start_monitor_and_boot {
# Make sure the stable kernel has finished booting # Make sure the stable kernel has finished booting
start_monitor;
wait_for_monitor 5; # Install bisects, don't need console
end_monitor; if (defined $console) {
start_monitor;
wait_for_monitor 5;
end_monitor;
}
get_grub_index; get_grub_index;
get_version; get_version;
install; install;
start_monitor; start_monitor if (defined $console);
return monitor; return monitor;
} }