ktest changes for 6.2
- Fix minconfig test to unset the config and not relying on olddefconfig to do it, as some configs are set to default y - Fix reading grub2 menus for handling submenus - Add new ${shell <cmd>} to execute shell commands that will be useful for setting variables like: HOSTNAME := ${shell hostname} -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCY5erBBQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6qqeoAQDzt97bAEfWfPGoKBWjtVs/TVIrpyVt WGbrRwJzdgIrigD/SUBHq4irLD85UpGSG3EiHZRcyJxn8Wuv7npNgtpexQA= =oPSv -----END PGP SIGNATURE----- Merge tag 'ktest-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest Pull ktest updates from Steven Rostedt: - Fix minconfig test to unset the config and not relying on olddefconfig to do it, as some configs are set to default y - Fix reading grub2 menus for handling submenus - Add new ${shell <cmd>} to execute shell commands that will be useful for setting variables like: HOSTNAME := ${shell hostname} * tag 'ktest-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest: ktest.pl: Add shell commands to variables kest.pl: Fix grub2 menu handling for rebooting ktest.pl minconfig: Unset configs instead of just removing them
This commit is contained in:
Коммит
535ea85de3
|
@ -802,7 +802,14 @@ sub process_variables {
|
|||
my $end = $3;
|
||||
# append beginning of value to retval
|
||||
$retval = "$retval$begin";
|
||||
if (defined($variable{$var})) {
|
||||
if ($var =~ s/^shell\s+//) {
|
||||
$retval = `$var`;
|
||||
if ($?) {
|
||||
doprint "WARNING: $var returned an error\n";
|
||||
} else {
|
||||
chomp $retval;
|
||||
}
|
||||
} elsif (defined($variable{$var})) {
|
||||
$retval = "$retval$variable{$var}";
|
||||
} elsif (defined($remove_undef) && $remove_undef) {
|
||||
# for if statements, any variable that is not defined,
|
||||
|
@ -1963,7 +1970,7 @@ sub run_scp_mod {
|
|||
|
||||
sub _get_grub_index {
|
||||
|
||||
my ($command, $target, $skip) = @_;
|
||||
my ($command, $target, $skip, $submenu) = @_;
|
||||
|
||||
return if (defined($grub_number) && defined($last_grub_menu) &&
|
||||
$last_grub_menu eq $grub_menu && defined($last_machine) &&
|
||||
|
@ -1980,11 +1987,16 @@ sub _get_grub_index {
|
|||
|
||||
my $found = 0;
|
||||
|
||||
my $submenu_number = 0;
|
||||
|
||||
while (<IN>) {
|
||||
if (/$target/) {
|
||||
$grub_number++;
|
||||
$found = 1;
|
||||
last;
|
||||
} elsif (defined($submenu) && /$submenu/) {
|
||||
$submenu_number++;
|
||||
$grub_number = -1;
|
||||
} elsif (/$skip/) {
|
||||
$grub_number++;
|
||||
}
|
||||
|
@ -1993,6 +2005,9 @@ sub _get_grub_index {
|
|||
|
||||
dodie "Could not find '$grub_menu' through $command on $machine"
|
||||
if (!$found);
|
||||
if ($submenu_number > 0) {
|
||||
$grub_number = "$submenu_number>$grub_number";
|
||||
}
|
||||
doprint "$grub_number\n";
|
||||
$last_grub_menu = $grub_menu;
|
||||
$last_machine = $machine;
|
||||
|
@ -2003,6 +2018,7 @@ sub get_grub_index {
|
|||
my $command;
|
||||
my $target;
|
||||
my $skip;
|
||||
my $submenu;
|
||||
my $grub_menu_qt;
|
||||
|
||||
if ($reboot_type !~ /^grub/) {
|
||||
|
@ -2017,8 +2033,9 @@ sub get_grub_index {
|
|||
$skip = '^\s*title\s';
|
||||
} elsif ($reboot_type eq "grub2") {
|
||||
$command = "cat $grub_file";
|
||||
$target = '^menuentry.*' . $grub_menu_qt;
|
||||
$skip = '^menuentry\s|^submenu\s';
|
||||
$target = '^\s*menuentry.*' . $grub_menu_qt;
|
||||
$skip = '^\s*menuentry';
|
||||
$submenu = '^\s*submenu\s';
|
||||
} elsif ($reboot_type eq "grub2bls") {
|
||||
$command = $grub_bls_get;
|
||||
$target = '^title=.*' . $grub_menu_qt;
|
||||
|
@ -2027,7 +2044,7 @@ sub get_grub_index {
|
|||
return;
|
||||
}
|
||||
|
||||
_get_grub_index($command, $target, $skip);
|
||||
_get_grub_index($command, $target, $skip, $submenu);
|
||||
}
|
||||
|
||||
sub wait_for_input {
|
||||
|
@ -2090,7 +2107,7 @@ sub reboot_to {
|
|||
if ($reboot_type eq "grub") {
|
||||
run_ssh "'(echo \"savedefault --default=$grub_number --once\" | grub --batch)'";
|
||||
} elsif (($reboot_type eq "grub2") or ($reboot_type eq "grub2bls")) {
|
||||
run_ssh "$grub_reboot $grub_number";
|
||||
run_ssh "$grub_reboot \"'$grub_number'\"";
|
||||
} elsif ($reboot_type eq "syslinux") {
|
||||
run_ssh "$syslinux --once \\\"$syslinux_label\\\" $syslinux_path";
|
||||
} elsif (defined $reboot_script) {
|
||||
|
@ -3768,9 +3785,10 @@ sub test_this_config {
|
|||
# .config to make sure it is missing the config that
|
||||
# we had before
|
||||
my %configs = %min_configs;
|
||||
delete $configs{$config};
|
||||
$configs{$config} = "# $config is not set";
|
||||
make_new_config ((values %configs), (values %keep_configs));
|
||||
make_oldconfig;
|
||||
delete $configs{$config};
|
||||
undef %configs;
|
||||
assign_configs \%configs, $output_config;
|
||||
|
||||
|
|
|
@ -259,6 +259,14 @@
|
|||
# If PATH is not a config variable, then the ${PATH} in
|
||||
# the MAKE_CMD option will be evaluated by the shell when
|
||||
# the MAKE_CMD option is passed into shell processing.
|
||||
#
|
||||
# Shell commands can also be inserted with the ${shell <command>}
|
||||
# expression. Note, this is case sensitive, thus ${SHELL <command>}
|
||||
# will not work.
|
||||
#
|
||||
# HOSTNAME := ${shell hostname}
|
||||
# DEFAULTS IF "${HOSTNAME}" == "frodo"
|
||||
#
|
||||
|
||||
#### Using options in other options ####
|
||||
#
|
||||
|
|
Загрузка…
Ссылка в новой задаче