2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-08-21 10:40:24 +00:00

Make xcattest can supprot multiple values for key words hcp and arch (#5379)

This commit is contained in:
Weihua Hu
2018-07-09 13:25:00 +08:00
committed by Bin Xu
parent 4c5a2bbd77
commit f894700087
2 changed files with 38 additions and 23 deletions

View File

@@ -173,27 +173,27 @@ check:rc==0
end
start:rpower_suspend_OpenpowerBmc
hcp:openbmc
hcp:openbmc,ipmi
label:cn_bmc_ready,hctrl_openpower_ipmi,hctrl_openbmc
cmd:rpower $$CN suspend
check:output=~Error: (\[.*?\]: )?Unsupported command: rpower suspend
check:output=~Error: (\[.*?\]: )?[Uu]nsupported command[:]* rpower suspend
check:rc==1
end
start:rpower_wake_OpenpowerBmc
hcp:openbmc
hcp:openbmc,ipmi
label:cn_bmc_ready,hctrl_openpower_ipmi,hctrl_openbmc
cmd:rpower $$CN wake
check:output=~Error: (\[.*?\]: )?Unsupported command: rpower wake
check:output=~Error: (\[.*?\]: )?[Uu]nsupported command[:]* rpower wake
check:rc==1
end
start:rpower_errorcommand_OpenpowerBmc
hcp:openbmc
hcp:openbmc,ipmi
label:cn_bmc_ready,hctrl_openpower_ipmi,hctrl_openbmc
cmd:rpower $$CN ddd
check:output=~Error: (\[.*?\]: )?Unsupported command: rpower ddd
check:output=~Error: (\[.*?\]: )?[Uu]nsupported command[:]* rpower ddd
check:rc==1
end

View File

@@ -1052,15 +1052,21 @@ sub load_case {
$case_ref->[$i]->{arch} = $1;
if ($run_case_flag) {
#To judge whether need to skip the current case
my $case_arch = $case_ref->[$i]->{arch};
if ($case_arch =~ /ppc/i && $case_arch !~ /le|el/i) {
$case_arch = "ppc";
} elsif ($case_arch =~ /ppc/i && $case_arch =~ /le|el/i) {
$case_arch = "ppc64le";
} elsif ($case_arch =~ /x86/i) {
$case_arch = "x86";
my @vaild_archs_tmp = split(",", $case_ref->[$i]->{arch});
my @vaild_archs=();
foreach my $arch (@vaild_archs_tmp){
my $tmp_str="";
if ($arch =~ /ppc/i && $arch !~ /le|el/i) {
$tmp_str = "ppc";
} elsif ($arch =~ /ppc/i && $arch =~ /le|el/i) {
$tmp_str = "ppc64le";
} elsif ($arch =~ /x86/i) {
$tmp_str = "x86";
}
push @vaild_archs, $tmp_str;
}
my $env_arch = "";
@@ -1079,10 +1085,13 @@ sub load_case {
}
my $valid = 0;
if ($case_arch eq $env_arch) {
$valid = 1;
if (grep (/$case_ref->[$i]->{name}/, @{ $invalidcases{"noruncases"} })) {
delete_item_from_array($case_ref->[$i]->{name}, $invalidcases{"noruncases"});
foreach my $arch (@vaild_archs){
if ($arch eq $env_arch) {
$valid = 1;
if (grep (/$case_ref->[$i]->{name}/, @{ $invalidcases{"noruncases"} })) {
delete_item_from_array($case_ref->[$i]->{name}, $invalidcases{"noruncases"});
}
last;
}
}
unless ($valid) {
@@ -1104,12 +1113,18 @@ sub load_case {
#To judge whether need to skip the current case
my $valid = 0;
if (exists($config{var}{HCP}) && ($case_ref->[$i]->{hcp} =~ /$config{var}{HCP}/i)) {
$valid = 1;
if (grep (/$case_ref->[$i]->{name}/, @{ $invalidcases{"noruncases"} })) {
delete_item_from_array($case_ref->[$i]->{name}, $invalidcases{"noruncases"});
my @valid_hcps = split(",", $case_ref->[$i]->{hcp});
foreach my $hcp (@valid_hcps){
$hcp =~ s/^\s+|\s+$//g;
if (exists($config{var}{HCP}) && ($hcp =~ /^$config{var}{HCP}$/i)) {
$valid = 1;
if (grep (/$case_ref->[$i]->{name}/, @{ $invalidcases{"noruncases"} })) {
delete_item_from_array($case_ref->[$i]->{name}, $invalidcases{"noruncases"});
}
last;
}
}
}
unless ($valid) {
if (exists($case_name_index_map_bak{ $case_ref->[$i]->{name} })) {
$$case_name_index_map_ref{ $case_ref->[$i]->{name} } = $case_name_index_map_bak{ $case_ref->[$i]->{name} };