CN105224459A - 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法 - Google Patents

一种linux平台下测试bmc通过oem命令读写bios配置功能的方法 Download PDF

Info

Publication number
CN105224459A
CN105224459A CN201510682790.0A CN201510682790A CN105224459A CN 105224459 A CN105224459 A CN 105224459A CN 201510682790 A CN201510682790 A CN 201510682790A CN 105224459 A CN105224459 A CN 105224459A
Authority
CN
China
Prior art keywords
test
bios
file
library
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510682790.0A
Other languages
English (en)
Other versions
CN105224459B (zh
Inventor
张贺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201510682790.0A priority Critical patent/CN105224459B/zh
Publication of CN105224459A publication Critical patent/CN105224459A/zh
Application granted granted Critical
Publication of CN105224459B publication Critical patent/CN105224459B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其实现过程为:搭建测试环境;构建测试库文件;运行测试库文件,该测试库文件包括测试进度断点文件和测试结果输出文件,然后进行测试:将测试程序加入开机启动;依次对每个测试库进行测试,完成后退出;测试完成后取消开机运行测试程序;测试结果在测试程序中显示。该一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法与现有技术相比,具有高效率、高准确性、高通用性、高可观性等优点,实用性强,易于推广。

Description

一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法
技术领域
本发明涉及计算机技术领域,具体地说是一种实用性强、LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法。
背景技术
BMC是一个安装在服务器主板上的独立的板卡,现在也有服务器主板提供对IPMI支持的。IPMI良好的自治特性便克服了以往基于操作***的管理方式所受的限制,并且芯片上除出厂已定义的寄存器地址,还提供了大量未定义功能,可由用户进行二次开发的寄存器。这些寄存器需要通过OEM命令来访问。有些客户会提出使用OEM命令通过BMC去修改BIOS设置或获取BIOS当前设置。由于某些BIOS设置选项间具有依赖关系,每项设置需要独立进行,并且需要重启节点以使其生效,人工完成对这一类型的测试是一项耗时费力的工作。
在对大量的OEM命令的测试中,通过自动化测试脚本,尽可能减少人工交互过程,来实现对产品的BMCOEM命令功能性检测目的。基于此,现提供一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法。
一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其具体实现过程为:
搭建测试环境;
构建测试库文件;
运行测试库文件,该测试库文件包括测试进度断点文件和测试结果输出文件,然后进行测试:
将测试程序加入开机启动;
依次对每个测试库进行测试,完成后退出;
测试完成后取消开机运行测试程序;
测试结果在测试程序中显示。
所述测试环境的搭建过程为:
首先准备测试环境,该测试环境包括操作***的选择、磁盘分区及软件包的选择、BIOS中设置项修改确认;
然后进行操作***的安装配置,安装完操作***后,***自带Ipmitool工具。
所述测试库文件内容通过表格表示,该表格内容包括:序号、命令功能名称、访问序列、期待值、是否测试标志,其中是否测试标识通过CHECK标记,当标记CHECK时,则忽略该测试项。
所述测试库文件存储的文件名分别为读取BIOS设置参数和写入BIOS设置参数的命令集库。
在测试库测试前,测试库文件需要进行预处理,该预处理的过程为:在excel中编辑,转换文件格式以兼容Linux,并在测试库中每行末尾处通过CHECK标志代表该测试项的使能。
所述测试库测试的具体过程为:
首先获取测试断点信息;
判断测试库是否需要进行测试、测试库中的测试项是否需要进行测试;
然后选取断点文件的某一行作为BIOS设置选项的内容的缓存行,缓存行无内容则进入BIOS设置写阶段,缓存行有内容则进入BIOS设置读阶段;
所述写阶段的具体过程为:
获取测试项名称、剩余字节的测试命令列及CHECK标志;
无CHECK标志的根据当前测试库、测试项及测试选项运行写入命令,并将选项内容写入断点文件的缓存行,并重启节点;
有CHECK标志的则直接忽略该测试项,定向必要信息入测试结果输出文件,并初始化循环进入条件变量;
所述读阶段的具体过程为:
获取测试项名称,命令列及CHECK标志;
读取缓存行内容作为期待值;
无CHECK标志时,运行相应读命令,将返回值与期待值比较,相同则测试通过,赋值结果变量为PASS,将必要信息定向入测试结果输出文件,步进测试选项进度和测试总进度;不同则测试失败,赋值结果变量为FAIL,其他操作同上;
有CHECK标志则忽略当前测试项,初始化相关变量以避免对后续测试造成影响;
步进测试总进度,循环进行测试。
本发明的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,具有以下优点:
高效率,测试过程与结果分析过程全部由脚本自动完成;高准确性,测试无人机交互过程,避免人为因素产生的失误,自动切换读BIOS配置阶段和写BIOS配置阶段,通过测试断点文件联系两个测试库保证两阶段的测试准确无误的协同进行;通用性,定义测试库规范,针对不同客户的自定义需求,只需根据规范维护表格形式测试命令集库即可,无需对脚本进行任何更改;可观性,测试结果输出文件内容简单明了,便于快速定位结果异常的测试项,实用性强,易于推广。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
IPMI是智能型平台管理接口(IntelligentPlatformManagementInterface)的缩写,是管理基于Intel结构的企业***中所使用的***设备采用的一种工业标准,该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户不仅可以利用IPMI监视服务器的物理健康特征,还可以使用raw参数直接向BMC发送16进制的命令列以访问其对应的寄存器。
Ipmitool工具是业界公认的BMC工具之一,支持对BMC的很全面的控制及设置等操作。
根国际IPMI2.0规范,据通过Ipmitool工具对BMC发送访问命令,模拟客户应用场景。运行此工具可以实现通过BMCOEM命令发送BIOS配置写命令,重启后自动重新运行脚本并进入读BIOS配置阶段,通过返回值判断设置是否生效,在测试断点文件的控制下如此循环,全面覆盖测试内容。
基于此,本发明提供一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,该方法通过预先构建测试库文件,使用自动化测试脚本访问测试库文件中的OEM命令集,通过IPMITOOL工具对BMC发送写BIOS配置命令,模拟客户实际中的应用动作,重启以生效BIOS配置后再发送读命令,通过返回值判断设置是否生效,给出测试结果,达到对BMC读写BIOS配置类OEM命令功能性进行科学有效测试的目的,其具体实现过程为:
搭建测试环境;
构建测试库文件;
运行测试库文件,该测试库文件包括测试进度断点文件和测试结果输出文件,然后进行测试:
将测试程序加入开机启动;
依次对每个测试库进行测试,完成后退出;
测试完成后取消开机运行测试程序;
测试结果在测试程序中显示。
所述测试环境的搭建过程为:
首先准备测试环境,该测试环境包括操作***的选择、磁盘分区及软件包的选择、BIOS中设置项修改确认;
然后进行操作***的安装配置,安装完操作***后,***自带Ipmitool工具。
所述测试库文件内容通过表格表示,该表格内容包括:序号、命令功能名称、访问序列、期待值、是否测试标志,其中是否测试标识通过CHECK标记,当标记CHECK时,则忽略该测试项,其中写BIOS配置测试库文件中Req3为BIOS每个设置项多选项的体现,以“/”分隔,建议在构建库文件时,将BIOS默认的设置放在最后,这样可以保证在测试结束后节点的BIOS设置保持为默认值,具体结构如下表所示。
表1写BIOS配置测试库文件标准举例
表2读BIOS配置测试库文件标准举例
所述测试库文件存储的文件名分别为读取BIOS设置参数和写入BIOS设置参数的命令集库。
在测试库测试前,测试库文件需要进行预处理,该预处理的过程为:在excel中编辑,转换文件格式以兼容Linux,并在测试库中每行末尾处通过CHECK标志代表该测试项的使能。
所述测试库测试的具体过程为:
首先获取测试断点信息;
判断测试库是否需要进行测试、测试库中的测试项是否需要进行测试;
然后选取断点文件的某一行作为BIOS设置选项的内容的缓存行,缓存行无内容则进入BIOS设置写阶段,缓存行有内容则进入BIOS设置读阶段;
所述写阶段的具体过程为:
获取测试项名称、剩余字节的测试命令列及CHECK标志;
无CHECK标志的根据当前测试库、测试项及测试选项运行写入命令,并将选项内容写入断点文件的缓存行,并重启节点;
有CHECK标志的则直接忽略该测试项,定向必要信息入测试结果输出文件,并初始化循环进入条件变量;
所述读阶段的具体过程为:
获取测试项名称,命令列及CHECK标志;
读取缓存行内容作为期待值;
无CHECK标志时,运行相应读命令,将返回值与期待值比较,相同则测试通过,赋值结果变量为PASS,将必要信息定向入测试结果输出文件,步进测试选项进度和测试总进度;不同则测试失败,赋值结果变量为FAIL,其他操作同上;
有CHECK标志则忽略当前测试项,初始化相关变量以避免对后续测试造成影响;
步进测试总进度,循环进行测试。
其中测试库测试的具体实例如下:
获取工具所在文件夹位置。
Cur_Dir=$(cd"$(dirname"$0")";pwd)。
#构建测试进度断点文件和测试结果输出文件。
if[!-e$Cur_Dir/Count.tmp];then
touch$Cur_Dir/Count.tmp
touch$Cur_Dir/OEM_Result.csv
#将脚本加入开机启动。
Reboot=`less/etc/rc.d/rc.local|grep"RUN_OEM_test.sh"|awk'$1~/^sh/{print$2}'`
if[-z$Reboot];then
echo"sh$Cur_Dir/RUN_OEM_test.sh">>/etc/rc.d/rc.local
fi
#测试断点文件第一行记录测试库编号(此处仅一个测试库)。
echo1>$Cur_Dir/Count.tmp
#第二行记录测试项编号,测试库文件第1行为表头,测试项由2开始。
echo2>>$Cur_Dir/Count.tmp
#第三行记录测试选项进度,很多BIOS设置项具有多个选项。
echo1>>$Cur_Dir/Count.tmp
#第四行记录测试总进度。
echo1>>$Cur_Dir/Count.tmp
echo"NO.,CommandName,EXPECT,RESPONSE,RESULT,check_raw">$Cur_Dir/OEM_Result.csv
fi
#依次对每个测试库进行测试(此处仅一个测试库),完成后退出。
whiletrue
do
CMD_Count=`cat$Cur_Dir/Count.tmp|awk'NR==1{print$1}'`
case$CMD_Countin
1)RW_BIOS_configuration;;
#2)*******;;
#3)*******;;
#4)*******;;
#5)*******;;
#测试完成后取消开机运行脚本。
*)sed-i'/RUN_OEM_test.sh/d'/etc/rc.d/rc.local
echoOEMCommandtestcompleted.
exit;;
esac
done
######测试函数######
functionRW_BIOS_configuration()
{
#测试库文件存储在当前目录的OEM_TestLib文件夹中,文件名为ReadBIOSconfigurationfromBMC.csv和WriteBIOSconfigurationtoBMC.csv,分别为读取BIOS设置参数和写入BIOS设置参数的命令集库。
#测试库在excel中编辑,由于windows与Linux对文件换行符的识别有差异,所以先转换文件格式以兼容Linux,测试库中每行末尾的CHECK标志代表该测试项的使能,文件格式兼容性会影响对此标志的判断。
dos2unix$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv
dos2unix$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv
#获取测试断点信息。
OFFSET_Count=`cat$Cur_Dir/Count.tmp|awk'NR==2{print$1}'`
CHOISE_Count=`cat$Cur_Dir/Count.tmp|awk'NR==3{print$1}'`
NO=`cat$Cur_Dir/Count.tmp|awk'NR==4{print$1}'`
#获取测试命令列,进入一层循环前先进行一个字节的命令列获取以判断该测试库是否需要进行测试。
NetFn=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$3}'`
while[[$NetFn!=""]]
do
#获取测试命令列,进入二层循环前先进行一个字节的命令列获取以判断该测试项是否需要进行测试。
Req3=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'|awk-F"/"'{print$'$CHOISE_Count'}'`
while[[$Req3!=""]]
do
#利用断点文件第5行作为BIOS设置选项的内容的缓存行,缓存行无内容则进入BIOS设置写阶段,缓存行有内容则进入BIOS设置读阶段。
CHOISE_CHECK=`cat$Cur_Dir/Count.tmp|awk'NR==5{print$1}'`
#写阶段
if[["$CHOISE_CHECK"==""]];then
#获取测试项名称、剩余字节的测试命令列及CHECK标志。
Command=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$2}'`
#NetFn=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$3}'`
CMD=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$4}'`
Req1=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$5}'`
Req2=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$6}'`
#Req3=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'`
CHECK=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$9}'|awk'{print$1}'`
#无CHECK标志则根据当前测试库、测试项及测试选项运行写入命令,并将选项内容写入断点文件的缓存行,并重启节点。
if["$CHECK"!="CHECK"];then
ipmitoolraw$NetFn$CMD$Req1$Req2$Req3
CHOISE_CHECK=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'|awk-F"/"'{print$'$CHOISE_Count'}'|awk-F"0x"'{print$2}'`
sed-i'5c'$CHOISE_CHECK''$Cur_Dir/Count.tmp
reboot
exit
#有CHECK标志则直接忽略该测试项,定向必要信息入测试结果输出文件,并初始化循环进入条件变量。
Else
RESULT=N/A
check_raw=""
EXPECT=""
RESPONSE=""
echo"$NO,$Command,#$EXPECT,#$RESPONSE,$RESULT,$check_raw">>$Cur_Dir/OEM_Result.csv
sed-i'4c'$[$NO+1]''$Cur_Dir/Count.tmp
Req3=""
Fi
Else
#读阶段,正常情况下,测试结果在读阶段给出。
#获取测试项名称,命令列及CHECK标志。
Command=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$2}'`
NetFn=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$3}'`
CMD=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$4}'`
Req1=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$5}'`
Req2=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$6}'`
Req3=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'`
CHECK=`cat$Cur_Dir/OEM_TestLib/Read\BIOS\configuration\from\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$9}'|awk'{print$1}'`
#读取缓存行内容作为期待值。
EXPECT=`cat$Cur_Dir/Count.tmp|awk'NR==5{print$1}'`
#初始化返回值。
RESPONSE=""
#无CHECK标志则,运行相应读命令,返回值与期待值比较,相同则测试通过,赋值结果变量为PASS,将必要信息定向入测试结果输出文件,步进测试选项进度和测试总进度;不同则测试失败,赋值结果变量为FAIL,其他操作同上。
if["$CHECK"!="CHECK"];then
RESPONSE=`ipmitoolraw$NetFn$CMD$Req1$Req2$Req3`
if[x"$RESPONSE"=x"01$EXPECT"];then
RESULT=PASS
check_raw=""
echo
$NO,$Command,#$EXPECT,#$RESPONSE,$RESULT,$check_raw">>$Cur_Dir/OEM_Result.csv
sed-i'4c'$[$NO+1]''$Cur_Dir/Count.tmp
sed-i'3c'$[$CHOISE_Count+1]''$Cur_Dir/Count.tmp
CHOISE_Count=`cat$Cur_Dir/Count.tmp|awk'NR==3{print$1}'`
Req3=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'|awk-F"/"'{print$'$CHOISE_Count'}'`
Else
RESULT=FAIL
check_raw="$NetFn$CMD$Req1$Req2$Req3"
echo"$NO,$Command,#$EXPECT,#$RESPONSE,$RESULT,$check_raw">>$Cur_Dir/OEM_Result.csv
sed-i'4c'$[$NO+1]''$Cur_Dir/Count.tmp
sed-i'3c'$[$CHOISE_Count+1]''$Cur_Dir/Count.tmp
CHOISE_Count=`cat$Cur_Dir/Count.tmp|awk'NR==3{print$1}'`
Req3=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$7}'|awk-F"/"'{print$'$CHOISE_Count'}'`
Fi
Else
#有CHECK标志则忽略当前测试项,初始化相关变量以避免对后续测试造成影响。
RESULT=N/A
check_raw=""
EXPECT=""
RESPONSE=""
echo"$NO,$Command,#$EXPECT,#$RESPONSE,$RESULT,$check_raw">>$Cur_Dir/OEM_Result.csv
#步进测试总进度,测试项进度的步进在二层循环外完成。
sed-i'4c'$[$NO+1]''$Cur_Dir/Count.tmp
#控制循环进入标志,使程序跳出二层循环。
Req3=""
fi
#初始化缓存行。
sed-i'5d'$Cur_Dir/Count.tmp
echo>>$Cur_Dir/Count.tmp
fi
done
#二层循环外,步进测试项进度、初始化测试选项进度、并重新获取测试断点及进入一层循环的标志变量。
sed-i'2c'$[$OFFSET_Count+1]''$Cur_Dir/Count.tmp
sed-i'3c1'$Cur_Dir/Count.tmp
OFFSET_Count=`cat$Cur_Dir/Count.tmp|awk'NR==2{print$1}'`
CHOISE_Count=`cat$Cur_Dir/Count.tmp|awk'NR==3{print$1}'`
NO=`cat$Cur_Dir/Count.tmp|awk'NR==4{print$1}'`
NetFn=`cat$Cur_Dir/OEM_TestLib/Write\BIOS\configuration\to\BMC.csv|awk-F,'NR=='$OFFSET_Count'{print$3}'`
Done
#一层循环外,初始化测试项进度、并步进测试库进度。
sed-i'2c2'$Cur_Dir/Count.tmp
sed-i'1c'$[$CMD_Count+1]''$Cur_Dir/Count.tmp
}
测试方法及结果说明。
赋予脚本可执行权限后,直接运行脚本即可,测试过程中***会反复重启;
当测试项期待值与返回值相同时,测试结果为PASS;
当测试项具有CHECK标志时(在测试库文件中体现),忽略当前测试项,测试结果为N/A;
当测试项期待值与返回值不同时,测试结果为FAIL,并在check_raw中将测试所使用的命令列体现出来,便于人工复检。
本发明通过自动化测试脚本,实现了在Linux平台下完成BMC通过OEM命令读写BIOS配置功能的测试。测试流程由测试断点文件控制,保证测试过程中重启仍不丢失测试进度,自动在写BIOS配置阶段和写BIOS配置阶段间切换。针对不同用户下发的OEM规范构建测试命令集库,测试过程完全由脚本程序来完成,不再需要任何人为的交互过程,即测试命令集库的构建过程成为失误发生的唯一阶段。测试命令集库为表格形式,便于维护。
综上,该测试方法具有高准确率,高效率,高通用性等特点,适用于所有服务器产品,目前已广泛运用到RACK产品的BMC测试中。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (6)

1.一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,其具体实现过程为:
搭建测试环境;
构建测试库文件;
运行测试库文件,该测试库文件包括测试进度断点文件和测试结果输出文件,然后进行测试:
将测试程序加入开机启动;
依次对每个测试库进行测试,完成后退出;
测试完成后取消开机运行测试程序;
测试结果在测试程序中显示。
2.根据权利要求1所述的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,所述测试环境的搭建过程为:
首先准备测试环境,该测试环境包括操作***的选择、磁盘分区及软件包的选择、BIOS中设置项修改确认;
然后进行操作***的安装配置,安装完操作***后,***自带Ipmitool工具。
3.根据权利要求1所述的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,所述测试库文件内容通过表格表示,该表格内容包括:序号、命令功能名称、访问序列、期待值、是否测试标志,其中是否测试标识通过CHECK标记,当标记CHECK时,则忽略该测试项。
4.根据权利要求1所述的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,所述测试库文件存储的文件名分别为读取BIOS设置参数和写入BIOS设置参数的命令集库。
5.根据权利要求1所述的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,在测试库测试前,测试库文件需要进行预处理,该预处理的过程为:在excel中编辑,转换文件格式以兼容Linux,并在测试库中每行末尾处通过CHECK标志代表该测试项的使能。
6.根据权利要求1所述的一种LINUX平台下测试BMC通过OEM命令读写BIOS配置功能的方法,其特征在于,所述测试库测试的具体过程为:
首先获取测试断点信息;
判断测试库是否需要进行测试、测试库中的测试项是否需要进行测试;
然后选取断点文件的某一行作为BIOS设置选项的内容的缓存行,缓存行无内容则进入BIOS设置写阶段,缓存行有内容则进入BIOS设置读阶段;
所述写阶段的具体过程为:
获取测试项名称、剩余字节的测试命令列及CHECK标志;
无CHECK标志的根据当前测试库、测试项及测试选项运行写入命令,并将选项内容写入断点文件的缓存行,并重启节点;
有CHECK标志的则直接忽略该测试项,定向必要信息入测试结果输出文件,并初始化循环进入条件变量;
所述读阶段的具体过程为:
获取测试项名称,命令列及CHECK标志;
读取缓存行内容作为期待值;
无CHECK标志时,运行相应读命令,将返回值与期待值比较,相同则测试通过,赋值结果变量为PASS,将必要信息定向入测试结果输出文件,步进测试选项进度和测试总进度;不同则测试失败,赋值结果变量为FAIL,其他操作同上;
有CHECK标志则忽略当前测试项,初始化相关变量以避免对后续测试造成影响;
步进测试总进度,循环进行测试。
CN201510682790.0A 2015-10-21 2015-10-21 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法 Active CN105224459B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510682790.0A CN105224459B (zh) 2015-10-21 2015-10-21 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510682790.0A CN105224459B (zh) 2015-10-21 2015-10-21 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法

Publications (2)

Publication Number Publication Date
CN105224459A true CN105224459A (zh) 2016-01-06
CN105224459B CN105224459B (zh) 2018-04-13

Family

ID=54993444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510682790.0A Active CN105224459B (zh) 2015-10-21 2015-10-21 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法

Country Status (1)

Country Link
CN (1) CN105224459B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912488A (zh) * 2016-05-20 2016-08-31 英业达科技有限公司 计算机装置及其控制方法
CN106649005A (zh) * 2016-09-30 2017-05-10 郑州云海信息技术有限公司 基于shell的内存ras特性自动化压力测试方法
CN107220150A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种基于Linux***通过IPMI工具修改BIOS选项的测试方法及***
CN108199923A (zh) * 2018-01-23 2018-06-22 平安普惠企业管理有限公司 服务器测试方法、装置、计算机设备及可读存储介质
CN108768759A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种基于ipmi协议的黑盒测试方法及其终端测试平台
CN108920198A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种bios中更改***能效模式的方法、***及服务器
CN110018847A (zh) * 2018-01-10 2019-07-16 北京思朗科技有限责任公司 可配置寄存器及基于可配置寄存器的数据存取方法
CN111309586A (zh) * 2018-12-12 2020-06-19 迈普通信技术股份有限公司 一种命令测试方法、装置及其存储介质
CN113076140A (zh) * 2021-03-26 2021-07-06 山东英信计算机技术有限公司 一种gpio配置检测方法、装置及服务器
CN113157594A (zh) * 2021-05-24 2021-07-23 宁畅信息产业(北京)有限公司 一种用户权限测试方法、装置、电子设备及存储介质
CN113776782A (zh) * 2021-08-12 2021-12-10 惠州Tcl云创科技有限公司 一种mtf测试方法、测试设备及计算机可读存储介质
CN117472785A (zh) * 2023-12-25 2024-01-30 银河麒麟软件(长沙)有限公司 Linux***下的Openstack测试方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369802A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 记录并自动恢复流程状态的方法
US20130013905A1 (en) * 2011-07-07 2013-01-10 Held James P Bios flash attack protection and notification
CN104954504A (zh) * 2015-05-05 2015-09-30 浪潮电子信息产业股份有限公司 一种自动化进行bmc管理ip配置的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369802A (zh) * 2001-02-14 2002-09-18 英业达股份有限公司 记录并自动恢复流程状态的方法
US20130013905A1 (en) * 2011-07-07 2013-01-10 Held James P Bios flash attack protection and notification
CN104954504A (zh) * 2015-05-05 2015-09-30 浪潮电子信息产业股份有限公司 一种自动化进行bmc管理ip配置的方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105912488B (zh) * 2016-05-20 2019-02-05 英业达科技有限公司 计算机装置及其控制方法
CN105912488A (zh) * 2016-05-20 2016-08-31 英业达科技有限公司 计算机装置及其控制方法
CN106649005A (zh) * 2016-09-30 2017-05-10 郑州云海信息技术有限公司 基于shell的内存ras特性自动化压力测试方法
CN107220150A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种基于Linux***通过IPMI工具修改BIOS选项的测试方法及***
CN110018847B (zh) * 2018-01-10 2021-01-12 北京思朗科技有限责任公司 可配置寄存器及基于可配置寄存器的数据存取方法
CN110018847A (zh) * 2018-01-10 2019-07-16 北京思朗科技有限责任公司 可配置寄存器及基于可配置寄存器的数据存取方法
CN108199923A (zh) * 2018-01-23 2018-06-22 平安普惠企业管理有限公司 服务器测试方法、装置、计算机设备及可读存储介质
CN108768759A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种基于ipmi协议的黑盒测试方法及其终端测试平台
CN108920198A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 一种bios中更改***能效模式的方法、***及服务器
CN111309586A (zh) * 2018-12-12 2020-06-19 迈普通信技术股份有限公司 一种命令测试方法、装置及其存储介质
CN113076140A (zh) * 2021-03-26 2021-07-06 山东英信计算机技术有限公司 一种gpio配置检测方法、装置及服务器
CN113076140B (zh) * 2021-03-26 2023-02-28 山东英信计算机技术有限公司 一种gpio配置检测方法、装置及服务器
CN113157594A (zh) * 2021-05-24 2021-07-23 宁畅信息产业(北京)有限公司 一种用户权限测试方法、装置、电子设备及存储介质
CN113157594B (zh) * 2021-05-24 2024-05-24 宁畅信息产业(北京)有限公司 一种用户权限测试方法、装置、电子设备及存储介质
CN113776782A (zh) * 2021-08-12 2021-12-10 惠州Tcl云创科技有限公司 一种mtf测试方法、测试设备及计算机可读存储介质
CN117472785A (zh) * 2023-12-25 2024-01-30 银河麒麟软件(长沙)有限公司 Linux***下的Openstack测试方法及***
CN117472785B (zh) * 2023-12-25 2024-04-16 银河麒麟软件(长沙)有限公司 Linux***下的Openstack测试方法及***

Also Published As

Publication number Publication date
CN105224459B (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN105224459A (zh) 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法
US9720704B2 (en) Data driven hardware chips initialization via hardware procedure framework
CN112580295B (zh) 多核SoC芯片的自动化验证方法、***及装置
US8549522B1 (en) Automated testing environment framework for testing data storage systems
US7610483B2 (en) System and method to accelerate identification of hardware platform classes
US20080140335A1 (en) Systems and Methods for a Distributed Execution Environment with Per-Command Environment Management
US20220292248A1 (en) Method, system and verifying platform for system on chip verification
US20080320071A1 (en) Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
JPH0588859A (ja) 両立性検査方法、システムコンポーネント及びコンピユータシステム
CN105074671A (zh) 用于在内核模块和设备驱动程序中检测并发编程错误的方法和***
CN103810074A (zh) 一种片上***芯片及相应的监控方法
CN105389255A (zh) 一种bmc oem命令返回值与固定信息比对的自动化测试方法
US20060136794A1 (en) Computer peripheral connecting interface system configuration debugging method and system
US9645911B2 (en) System and method for debugging firmware/software by generating trace data
US20160098310A1 (en) Device driver error isolation on devices wired via fsi chained interface
US8370618B1 (en) Multiple platform support in computer system firmware
US20050114836A1 (en) Block box testing in multi-tier application environments
Engblom et al. Full-system simulation from embedded to high-performance systems
CN111176663B (zh) 应用程序的数据处理方法、装置、设备及存储介质
CN109582347B (zh) 一种获取前端代码的方法及装置
TW202411872A (zh) 驗證系統、驗證方法、電子設備以及儲存媒體
Engblom et al. Testing Embedded Software using Simulated Hardware
CN113779918A (zh) SoC仿真方法、装置、计算设备和计算机存储介质
CN108334313A (zh) 用于大型soc研发的持续集成方法、装置及代码管理***
WO2012104991A1 (ja) プログラムテスト方法、プログラムテストシステム及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant