一种具备防呆功能的服务器UIDLED灯功能测试方法与流程

文档序号:11250758阅读:1451来源:国知局

本发明涉及服务器测试领域,具体地说是一种具备防呆功能的服务器uidled灯功能测试方法。



背景技术:

在当前计算机服务器整机系统生产中,大都要进行fct功能测试。在当前计算机uidled工厂大规模fct功能测试中,uidled由检测操作人员手工判定其功能的完整性。需要由操作人员按uidled按钮,点亮uidled,肉眼观察led是否被点亮,确认测试结果,操作人员的动手速度直接影响测试所需时间。在以上测试过程中,对操作人员的动作准确性依赖程度高,若操作人员不按uidled按钮,不去观察led灯是否被点亮,直接确认灯已被点亮,就可能导致假测,影响对产品质量的管控。故如何能够解决当前计算机服务器uidled大规模fct功能测试时与操作员交互过多,过重依赖操作员的动作准确程度,测试时间长、准确率低、缺少防呆手段以及容易产生假测的问题。



技术实现要素:

本发明的技术任务是提供一种具备防呆功能的服务器uidled灯功能测试方法,来解决当前计算机服务器uidled大规模fct功能测试时与操作员交互过多,过重依赖操作员的动作准确程度,测试时间长、准确率低、缺少防呆手段以及容易产生假测的问题。

本发明的技术任务是按以下方式实现的,一种具备防呆功能的服务器uidled灯功能测试方法,该方法包括如下步骤:

(1)、将uidled测试程序镜像放在服务器上,服务器上电开机启动,引导进入测试程序;

(2)、测试程序开始自动执行,随机自动点亮或关闭uidled,测试程序直接读取uidled硬件状态信息;

(3)、操作人员根据实际观测值输入测试结果;

(4)、将操作人输入的测试结果与通过测试程序直接读取uidled硬件状态信息结果进行对比是否相同:

①、若相同,则uidled测试通过;

②、若不相同,则uidled测试不良。

作为优选,所述步骤(1)中的服务器采用pxe启动服务器。

作为优选,所述步骤(2)中测试程序使用ipmi协议自动点亮或关闭uidled。

作为优选,所述步骤(2)中测试程序使用ipmi协议读取uidled当前状态信息。

本发明的具备防呆功能的服务器uidled灯功能测试方法具有以下优点:

1、本发明实现了uidled自动点亮,无需操作人员手动点亮,降低了操作人员的劳动强度,自动化程度高,减少了测试时间,提高了测试效率;当大规模测试产品时,可极大减少测试时间,降低测试成本,提高测试精准度;

2、本发明随机点亮或关闭uidled,测试过程中所需输入不固定,操作人员不能靠猜测输入规律的假测,有效避免了假测,增加了防呆机制;

3、本发明通过测试城区读取uidled硬件状态信息和操作人员实际观测的输入结果的双重检验机制,增加了测试准确性;

4、本发明涉及计算机uidled工厂大规模测试领域,利用bmc控制uidled灯开关和查询状态,实现计算机uidled大规模生产测试时操作简单、速度快、节省测试时间以及测试准确,使uidled测试流程简单化快捷化。

故本发明具有设计合理、结构简单、使用方便、一物多用等特点,因而,具有很好的推广使用价值。

附图说明

下面结合附图对本发明进一步说明。

附图1为具备防呆功能的服务器uidled灯功能测试方法的流程框图。

具体实施方式

参照说明书附图和具体实施例对本发明的具备防呆功能的服务器uidled灯功能测试方法作以下详细地说明。

实施例:

如附图1所示,本发明的具备防呆功能的服务器uidled灯功能测试方法,该方法包括如下步骤:

(1)、将uidled测试程序镜像放在pxe启动服务器上,服务器上电开机启动,引导进入测试程序;

(2)、测试程序开始自动执行,随机自动点亮或关闭uidled,测试程序直接读取uidled硬件状态信息;其中,测试程序使用ipmi协议自动点亮或关闭uidled,部分代码示例如下:

ipmicomm*opipmi=ipmicomm::getinstance();

if(null==opipmi)

{

cerr<<”cannotgettheobjectofipmicommandclass”<<endl;

return1;

}

ret=opipmi->initkcs(0x20);

if(0!=ret)

{

cerr<<“initializebmcerror,ret:”<<ret<<endl;

returnret;

}

szcmd[0]=0x00;

szcmd[1]=0x04;

szcmd[2]=0x00;

szcmd[3]=operate;

ret=opipmi->operatecmd(szcmd,4,szrecv,sizeof(szrecv),&recvcount);

returnret;

(3)、操作人员根据实际观测值输入测试结果;代码示例如下:

srand(time(null));

unsignedintopt=rand()/2;

updateprogress(0);

nerr=uidoperate(opt);

result=promptmessage(“led-uid”,“istheuidledon”,prompt-yesno);

actled=checkuidstatus();

测试程序使用ipmi协议读取uidled当前状态信息,部分代码示例如下:

szcmd[0]=0x00;

szcmd[1]=0x01;

ret=opipmi->operatecmd(szcmd,2,szrecv,sizeof(szrecv),&recvcount);

if(0!=ret)

{

//snprintf(szerrcode,codesize-1,“psuinf0/02d”,errcode-psu-initbmc);

cerr<<“operatecmderror,ret:”<<ret<<endl;

return2;

}

if(szrecv[5]==0x40)

{

return0;

}

if(szrecv[5]==0x60

{

return1

};

(4)、将操作人输入的测试结果与通过测试程序直接读取uidled硬件状态信息结果进行对比是否相同:

①、若相同,则uidled测试通过;

②、若不相同,则uidled测试不良。

部分代码示例如下:

result=promptmessage(“led-uid”,“istheuidledoff”,prompt-yesno);

switch(result)

{

casediag-yes:

expled=1;

break;

casediag-no:

expled=0;

break;

default:

expled=2;

break;

}

if(actlced!=expled)

{

reporterror(nerr,-t(“leduid01”),-t(“uidledoutofwork”));

return;

}

if(result!=diag-yes)

{

reporterror(nerr,-t(“leduid01”),-t(“uidledoutofwork”));

return;

}

updateprogress(100)。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的一种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1