CN103970658B - Pmon与内核版本兼容性测试的方法和装置 - Google Patents
Pmon与内核版本兼容性测试的方法和装置 Download PDFInfo
- Publication number
- CN103970658B CN103970658B CN201410205634.0A CN201410205634A CN103970658B CN 103970658 B CN103970658 B CN 103970658B CN 201410205634 A CN201410205634 A CN 201410205634A CN 103970658 B CN103970658 B CN 103970658B
- Authority
- CN
- China
- Prior art keywords
- test
- file
- instruction
- kernel
- version
- 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.)
- Active
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种PMON与内核版本兼容性测试的方法和装置,涉及计算机技术领域,解决了现有技术中手动测试PMON与内核版本兼容性效率低下的技术问题,该方法包括:测试机获取用于测试自身的所述PMON与所述内核版本兼容性的测试指令集;所述测试机根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;所述测试机输出所述测试成功的内核版本。本发明提供的方法,实现了测试过程中无人职守、操作简单、记录详尽的功能,提高了工作效率,实用性强。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种PMON与内核版本兼容性测试的方法和装置。
背景技术
目前,一些使用精简指令集的处理器架构的板卡在开发过程中,如无内部互锁流水级的微处理器(Microprocessorwithoutinterlockedpipedstagesarchitecture,以下简称MIPS)的板卡在开发过程中,需要移植Linux操作系统内核进行软件开发。在开发过程中,厂家会针对不同板卡系列定期对外发布对应的操作系统内核,PMON作为板卡基本的输入输出系统(BasicInputOutputSystem,以下简称BIOS),根据生产和科研需要,也在不断地改进和优化。为保证计算机具有可扩充性且方便组装,同一系列板卡的PMON需要与其不同时期的操作系统内核版本兼容,因此,每一版本的PMON都需要与一个或多个操作系统内核版本进行兼容性测试。由于PMON版本更新速度较快,其与内核的兼容性测试需要大量的测试工作。
现有技术中,测试PMON与内核版本兼容性只能靠手动操作进行测试测试效率低下,并且测试结果记录不系统,整体试验效果差。
发明内容
本发明提供一种PMON与内核版本兼容性测试的方法和装置,用以解决现有技术中手动测试PMON与内核版本兼容性效率低下的技术问题。
第一方面,本发明实施例提供一种PMON与内核版本兼容性测试的方法,包括:
测试机获取用于测试自身的所述PMON与所述内核版本兼容性的测试指令集;
所述测试机根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;
所述测试机输出所述测试成功的内核版本。
结合第一方面,在第一方面的第一种可能的实施方式中,所述测试机根据所述测试指令集,对所述PMON与操作系统内核版本兼容性进行测试,获得测试成功的内核版本,包括:
所述测试机执行所述测试指令集中的第一指令,获取第一测试结果;其中,所述第一指令用于指示所述测试机检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;
所述测试机根据所述第一测试结果判断是否执行所述测试指令集中的第二指令,并在执行所述第二指令后,获得第二测试结果;其中,所述第二指令用于指示所述测试机检测预设的第二文件夹中所记录的测试次数是否等于所述第一文件夹中的内核版本的数目;
所述测试机根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果;其中,所述第三指令用于指示所述测试机检测所述第二文件夹中所记录的所述测试次数是否为0;
所述测试机根据所述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示所述测试机更新启动菜单中的待启动内核,所述第五指令用于指示所述测试机将当前测试成功的内核版本保存至第三文件夹,并更新所述启动菜单中的待启动内核;
所述测试机执行第六指令;其中,所述第六指令用于指示所述测试机将所述第二文件夹中所记录的所述测试次数加1后进行重启,并返回执行所述第一指令,直至所述第二文件夹中的所述测试次数等于所述第一文件夹中的内核版本数目为止;
所述测试机获取所述第三文件夹中的内核版本。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述测试机根据所述第一测试结果判断是否执行第二指令,并在执行第二指令后,获得第二测试结果,具体包括:
若所述第一测试结果为0,则所述测试机结束测试;
若所述第一测试结果不为0,则所述测试机执行所述第二指令,获得所述第二测试结果。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述测试机根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果,具体包括:
若所述第二测试结果为所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目,则所述测试机不执行所述第三指令,并将测试成功的内核版本保存至所述第三文件夹后输出,所述测试机测试结束;
若所述第二测试结果为所述第二文件夹中所记录的测试次数不等于所述第一文件夹中的内核版本数目,则执行所述第三指令,获取第三测试结果。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述第一文件夹中的所述内核版本以一维数组array的形式存储;则所述测试机根据所述第三测试结果判断执行第四指令或者第五指令,具体包括:
若所述第三测试结果为所述第二文件夹中所记录的所述测试次数为0,则所述测试机更新所述启动菜单中的待启动内核的版本为array[0],所述array[0]表示所述第一文件夹中的第一个内核版本;
若所述第三测试结果为所述第二文件夹中所记录的测试次数为m,所述m为大于0且小于所述第一文件夹中的内核版本的数目的整数;则所述测试机将当前测试成功的内核版本array[m-1]保存至第三文件夹,并更新所述启动菜单中的待启动内核的版本为array[m];其中,所述array[m-1]表示所述第一文件夹中第m个内核版本,所述array[m]表示所述第一文件夹中第m+1个内核版本。
结合第一方面的第一种可能的实施方式至第一方面的第四种可能的实施方式中的任一项,在第一方面的第五种可能的实施方式中,所述测试机执行第六指令,包括:
所述测试机将所述第二文件夹中所记录的测试次数加1;
所述测试机根据所述启动菜单中的所述待启动内核进行重启;
所述测试机返回执行所述第一指令,直至所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目为止。
第二方面,本发明提供一种PMON与内核版本兼容性测试的装置,包括:
获取模块,用于获取测试所述PMON与所述内核版本兼容性的测试指令集;
测试模块,用于根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;
输出模块,用于输出所述测试成功的内核版本。
结合第二方面,在第二方面的第一种可能的实施方式中,所述测试模块,包括:
第一测试单元,用于执行所述测试指令集中的第一指令,获取第一测试结果;其中,所述第一指令用于指示所述第一测试单元检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;
第二测试单元,用于根据所述第一测试结果判断是否执行所述测试指令集中的第二指令,并在执行所述第二指令后,获得第二测试结果;其中,所述第二指令用于指示所述第二测试单元检测预设的第二文件夹中所记录的测试次数是否等于所述第一文件夹中的内核版本的数目;
第三测试单元,用于根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果;其中,所述第三指令用于指示所述第三测试单元检测所述第二文件夹中所记录的所述测试次数是否为0;
第四测试单元,用于根据所述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示所述第四测试单元更新启动菜单中的待启动内核,所述第五指令用于指示所述第四测试单元将当前测试成功的内核版本保存至第三文件夹,并更新所述启动菜单中的待启动内核;
第五测试单元,用于执行第六指令;其中,所述第六指令用于指示所述第五测试单元将所述第二文件夹中所记录的所述测试次数加1后进行重启,并返回执行所述第一指令,直至所述第二文件夹中的所述测试次数等于所述第一文件夹中的内核版本数目为止;
获取单元,用于获取所述第三文件夹中的内核版本。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述第二测试单元,具体用于若所述第一测试结果为0,则指示测试结束;若所述第一测试结果不为0,则执行所述第二指令,获得所述第二测试结果。
结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述第三测试单元,具体用于若所述第二测试结果为所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目,则所述第三测试单元不执行所述第三指令,并将测试成功的内核版本保存至所述第三文件夹后输出,并指示测试结束;
若所述第二测试结果为所述第二文件夹中所记录的测试次数不等于所述第一文件夹中的内核版本数目,则执行所述第三指令,获取第三测试结果。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述第一文件夹中的所述内核版本以一维数组array的形式存储;所述第四测试单元,具体用于若所述第三测试结果为所述第二文件夹中所记录的所述测试次数为0,则更新所述启动菜单中的待启动内核的版本为array[0],所述array[0]表示所述第一文件夹中的第一个内核版本;若所述第三测试结果为所述第二文件夹中所记录的测试次数为m,所述m为大于0且小于所述第一文件夹中的内核版本的数目的整数;则将当前测试成功的内核版本array[m-1]保存至第三文件夹,并更新所述启动菜单中的待启动内核的版本为array[m];其中,所述array[m-1]表示所述第一文件夹中第m个内核版本,所述array[m]表示所述第一文件夹中第m+1个内核版本。
结合第二方面的第一种可能的实施方式至第二方面的第四种可能的实施方式中的任一项,在第二方面的第五种可能的实施方式中,所述第五测试单元,具体包括:
递增子单元,用于将所述第二文件夹中所记录的测试次数加1;
重启子单元,用于根据所述启动菜单中的所述待启动内核进行重启;
返回子单元,用于指示所述第一测试单元执行所述第一指令,直至所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目为止。
本发明实施例提供的PMON与内核版本兼容性测试的方法和装置,通过测试机获取用于测试PMON与内核版本兼容性的测试指令集;并根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,从而获得测试成功的内核版本,实现了测试过程中无人职守、操作简单、记录详尽的功能,提高了工作效率,实用性强。
附图说明
图1为本发明提供的PMON与内核版本兼容性测试的方法实施例一的流程示意图;
图2为本发明提供的PMON与内核版本兼容性测试的方法实施例二的流程示意图;
图3为本发明提供的PMON与内核版本兼容性测试的方法实施例三的流程示意图;
图4为本发明提供的PMON与内核版本兼容性测试的装置实施例一的结构示意图;
图5为本发明提供的PMON与内核版本兼容性测试的装置实施例二的结构示意图。
具体实施方式
图1为本发明提供的基于PROM的MIPS微处理器调试监视器(PROM-basedDebugMonitorforMIPSMicroprocessors,以下简称PMON)与内核版本兼容性测试的方法实施例一的流程示意图,这里的PROM为可编程只读存储器(Programmableread-onlymemory,以下简称PROM);该方法的执行主体可以为基于Linux操作系统的测试机。为了能够更好的说明技术方案,这里以具有4G内存的板卡的测试机为例,于常温下进行测试。如图1所示,该方法包括:
S101:测试机获取用于测试自身的PMON与内核版本兼容性的测试指令集。
具体的,测试机上电,烧写PMON程序,例如可以是:gzrom20130515.bin。烧写完成后,重启测试机,并以root身份登录到图形系统界面,测试机获取用于测试自身的所述PMON与所述内核版本兼容性的测试指令集。可选的,可以是将测试指令集复制到测试机的任意一个目录下,该测试指令集可以是脚本的格式存储在测试机其他的文件夹中。这里的一个PMON需要与至少一个版本的内核进行兼容性测试,即待测的内核版本可以为一个,也可以为多个。
S102:测试机根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本。
具体的,测试机执行上述测试指令集中所包括的若干条指令,对PMON与内核版本的兼容性进行测试,并获得与PMON兼容的内核版本。需要说明的是,当上述S101中烧写PMON后加载内核的过程被集成在了该测试指令集中。因此,在执行该测试指令集时,内核已经被加载完成,而无需手动的加载内核,提高了测试效率。
S103:测试机输出所述测试成功的内核版本。
具体的,测试机将上述测试结果输出,本发明实施例对测试结果的形式并不做限制,只要使得开发者能够准确获知哪些版本的内核与PMON兼容即可。
本发明实施例提供的PMON与内核版本兼容性测试的方法,通过测试机获取用于测试PMON与内核版本兼容性的测试指令集;并根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,从而获得测试成功的内核版本,实现了测试过程中无人职守、操作简单、记录详尽的功能,提高了工作效率,实用性强。
图2为本发明提供的PMON与内核版本兼容性测试的方法实施例二的流程示意图。本实施例涉及的方法是测试机执行测试指令集获取与PMON兼容的内核版本的具体过程。该方法包括:
S201:测试机执行上述测试指令集中的第一指令,获取第一测试结果;其中,该第一指令用于指示测试机检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0。
具体的,开发人员会预先在测试机中建立一个第一文件夹,将待测的至少一个内核版本存放在该第一文件夹中,并设置一个全局变量(kernel-path)为待测内核版本的文件路径,使其永久生效。也就是说,测试机在执行测试指令集时可以通过该全局变量获知待测的内核版本存放的位置,以进行相应的内核加载和通过相应的内核重启测试机等操作。开发人员将测试机设置为自启动模式。
测试机执行第一指令,该第一指令用于指示测试机检测上述全局变量所指示的第一文件夹中的内核版本的数目是否为0,获得第一测试结果。
S202:测试机根据上述第一测试结果判断是否执行测试指令集中的第二指令,并在执行第二指令后,获得第二测试结果;其中,该第二指令用于指示测试机检测预设的第二文件夹中所记录的测试次数是否等于第一文件夹中的内核版本的数目。
具体的,若上述第一测试结果为0,则表明第一文件夹中的待测的内核版本数目为0,则测试机结束测试。若上述第一测试结果不为0,即第一文件夹中的待测的内核版本数目不为0,则测试机获取第一文件夹中的待测内核版本的总数,假设为N,将内核版本的名称存入一维数组(array),该数组长度为N;并且测试机检测预设的第二文件夹中所记录的测试次数(num)是否等于第一文件夹中的内核版本的数目(N),并获得第二测试结果。
S203:测试机根据上述第二测试结果判断是否执行第三指令,并在执行第三指令后,获得第三测试结果;其中,该第三指令用于指示测试机检测所述第二文件夹中所记录的测试次数是否为0。
具体的,当上述第二测试结果为第二文件夹中所记录的测试次数(num)等于所述第一文件夹中的内核版本数目(N),表示当前已经进行了N次PMON与内核版本兼容性的测试,即第一文件夹中的待测内核版本已经全部测试完毕,则所述测试机不执行第三指令,而是记录测试次数、测试时间,以及将已经测试成功的内核版本保存至第三文件夹后,将测试成功的内核版本进行输出,并结束测试。这里需要说明的是,第三文件夹也是开发人员预设的存放已经测试成功的内核版本的文件夹,其可以在任意的目录下,只需要在测试指令集中设置好该第三文件夹的路径即可。
当上述第二测试结果为第二文件夹中所记录的测试次数(num)不等于第一文件夹中的内核版本数目(N),则测试机执行第三指令,即测试机进一步检测第二文件夹中所记录的测试次数是否为0,获得第三测试结果。
S204:测试机根据上述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示测试机更新启动菜单中的待启动内核,所述第五指令用于指示测试机将当前测试成功的内核版本保存至第三文件夹,并更新启动菜单中的待启动内核。
S205:测试机执行第六指令;其中,该第六指令用于指示测试机将所述第二文件夹中所记录的测试次数加1后进行重启,并返回执行第一指令,直至所述第二文件夹中的测试次数等于第一文件夹中的内核版本数目为止。
具体的,若上述第三测试结果为第二文件夹中所记录的测试次数为0,则表示第一文件夹中的待测内核版本均没有被测试,则测试机执行第四指令,即测试机将启动菜单中的待启动内核的版本更新为array[0],该array[0]表示第一文件夹中的第一个内核版本。这里的启动菜单主要用于重启测试机时选择启动所需要的内核版本,即测试机在重启时需要选择以哪一个版本的内核(即待启动内核)进行启动。若能重新启动,则说明该待启动内核和PMON兼容;若不能重启,则说明该待启动内核和PMON不兼容。这个判断的过程也是在测试机执行测试指令集的过程中完成,并不需要人工判断。
当测试机执行完第四指令,并将待启动内核更新为array[0]后,执行第六指令,即测试机将num加1,此时的num=1,之后测试机根据上述启动菜单中的待启动内核array[0]进行重启,即测试机选择以第一文件夹中的第一个内核版本进行重启(重启后的启动菜单中的待启动内核依然为array[0]);然后测试机返回执行第一指令,重新进行相应的操作,直至第二文件夹中所记录的测试次数(num)等于所述第一文件夹中的内核版本数目(N)为止。
若上述第三测试结果为第二文件夹中所记录的测试次数为m,其中,m为大于0且小于所述第一文件夹中的内核版本的数目的整数,表示第一文件夹中的内核版本中的一部分(m个)已经进行了兼容性测试,还有N-m个内核版本没有进行测试。
假设接续上述例子中的num=1继续进行说明,即测试机检测到第二文件夹中的测试次数为1,也就是说这里的m=1,则测试机执行第五指令,即测试机将上述启动菜单中的保存的待启动内核由原来的array[0]更新为array[m],即更新为array[1],并将上述测试成功的array[m-1](即array[0])保存至第三文件夹中。需要说明的是,array[m-1]表示第一文件夹中第m个内核版本,array[m]表示第一文件夹中第m+1个内核版本。
当测试机执行完第五指令,并将待启动内核更新为array[1]后,执行第六指令,即测试机将num加1,此时的num=2,即m=2;之后测试机根据上述启动菜单中的待启动内核array[1]进行重启,即测试机选择以第一文件夹中的第二个内核版本进行重启(重启后的启动菜单中的待启动内核此时为array[1]);然后测试机返回执行第一指令,重新进行相应的操作,直至第二文件夹中所记录的测试次数(num)等于所述第一文件夹中的内核版本数目(N)为止。
S206:测试机获取上述第三文件夹中的内核版本。
需要说明的是,该第三文件夹中保存的均是测试成功的内核版本,若第三文件夹所记载的数据中缺少某个内核版本成功启动的记录,则表明PMON与该版本内核不兼容。
另外,上述测试过程中,测试指令集具有记忆功能,即使服务器遇到意外断电、死机,重新启动后,仍可继续之前的程序执行,不会造成数据丢失。
可选的,为了能够使本方案更加清晰,图3示出了测试机执行测试指令集的另一辅助流程图,由于和图2执行过程相同,因此这里只列出每一步骤。图3所示的流程图具体包括如下步骤:
S301:测试机检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;若是,执行S302,若否,执行S303。
S302:测试机结束测试。流程结束。
S303:测试机获取第一文件夹中的内核版本的数目N,并将内核版本的名称存入一维数组。
S304:测试机检测预设的第二文件夹中所记录的测试次数是否等于第一文件夹中的内核版本的数目;若是,则执行S305;若否,则执行S306。
可选的,第二文件间中的测试次数用num表示,第一文件中的内核版本的数目用N表示。
S305:测试机记录测试次数、测试时间,并将当前测试成功的内核版本保存至第三文件夹中并输出。测试机结束测试。
S306:测试机检测第二文件夹中所记录的测试次数是否为0;若是,则执行S307;若否,则执行S308。
S307:测试机更新启动菜单中的待启动内核为array[0]。执行S309。
S308:测试机记录测试次数、测试时间,并将array[num-1]存放的内核版本存储至第三文件夹中,并将启动菜单的待启动内核由原来的为array[num-1]更新为array[num]。执行S309。
S309:测试机将第二文件夹中的测试次数加1,并记录在第二文件夹中。
S310:测试机根据启动菜单中的待启动内核进行重启,返回执行S301,直至第二文件夹中所记录的测试次数等于所述第一文件夹中的内核版本数目为止。
本发明实施例提供的PMON与内核版本兼容性测试的方法,通过测试机获取用于测试PMON与内核版本兼容性的测试指令集;并根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,从而获得测试成功的内核版本,实现了测试过程中无人职守,操作简单、记录详尽的功能,提高了工作效率,实用性强;并且,第三文件夹中记录的数据详尽,可通过数据掌握测试机的具体情况,适用性强。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明提供的PMON与内核版本兼容性测试的装置实施例一的结构示意图,该装置可以为上述实施例中的测试机,也可以集成在测试机中。如图4所示,该装置包括:获取模块10、测试模块11和输出模块12。其中,获取模块10,用于获取测试所述PMON与所述内核版本兼容性的测试指令集;测试模块11,用于根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;输出模块12,用于输出所述测试成功的内核版本。
本发明实施例提供的PMON与内核版本兼容性测试的装置可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图5为本发明提供的PMON与内核版本兼容性测试的装置实施例二的结构示意图。在上述图4所示实施例的基础上,进一步地,上述测试模块11,具体包括:第一测试单元111、第二测试单元112、第三测试单元113、第四测试单元114、第五测试单元115和获取单元116。其中,第一测试单元111,用于执行所述测试指令集中的第一指令,获取第一测试结果;其中,所述第一指令用于指示所述第一测试单元检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;第二测试单元112,用于根据所述第一测试结果判断是否执行所述测试指令集中的第二指令,并在执行所述第二指令后,获得第二测试结果;其中,所述第二指令用于指示所述第二测试单元检测预设的第二文件夹中所记录的测试次数是否等于所述第一文件夹中的内核版本的数目;第三测试单元113,用于根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果;其中,所述第三指令用于指示所述第三测试单元检测所述第二文件夹中所记录的所述测试次数是否为0;第四测试单元114,用于根据所述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示所述第四测试单元更新启动菜单中的待启动内核,所述第五指令用于指示所述第四测试单元将当前测试成功的内核版本保存至第三文件夹,并更新所述启动菜单中的待启动内核;第五测试单元115,用于执行第六指令;其中,所述第六指令用于指示所述第五测试单元将所述第二文件夹中所记录的所述测试次数加1后进行重启,并返回执行所述第一指令,直至所述第二文件夹中的所述测试次数等于所述第一文件夹中的内核版本数目为止;获取单元116,用于获取所述第三文件夹中的内核版本。
本发明实施例提供的PMON与内核版本兼容性测试的装置可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,上述第二测试单元112,具体用于若所述第一测试结果为0,则指示测试结束;若所述第一测试结果不为0,则执行所述第二指令,获得所述第二测试结果。
进一步地,上述第三测试单元113,具体用于若所述第二测试结果为所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目,则所述第三测试单元不执行所述第三指令,并将测试成功的内核版本保存至所述第三文件夹后输出,并指示测试结束;若所述第二测试结果为所述第二文件夹中所记录的测试次数不等于所述第一文件夹中的内核版本数目,则执行所述第三指令,获取第三测试结果。
进一步地,所述第一文件夹中的所述内核版本以一维数组array的形式存储;上述第四测试单元114,具体用于若所述第三测试结果为所述第二文件夹中所记录的所述测试次数为0,则更新所述启动菜单中的待启动内核的版本为array[0],所述array[0]表示所述第一文件夹中的第一个内核版本;若所述第三测试结果为所述第二文件夹中所记录的测试次数为m,所述m为大于0且小于所述第一文件夹中的内核版本的数目的整数;则将当前测试成功的内核版本array[m-1]保存至第三文件夹,并更新所述启动菜单中的待启动内核的版本为array[m];其中,所述array[m-1]表示所述第一文件夹中第m个内核版本,所述array[m]表示所述第一文件夹中第m+1个内核版本。
进一步地,上述所述第五测试单元115,具体包括:递增子单元1151,用于将所述第二文件夹中所记录的测试次数加1;重启子单元1152,用于根据所述启动菜单中的所述待启动内核进行重启;返回子单元1153,用于指示所述第一测试单元执行所述第一指令,直至所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目为止。
本发明实施例提供的PMON与内核版本兼容性测试的装置可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种基于可编程只读存储器的无内部互锁流水级的微处理器调试监视器PMON与内核版本兼容性测试的方法,其特征在于,包括:
测试机获取用于测试自身的所述PMON与所述内核版本兼容性的测试指令集;
所述测试机根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;
所述测试机输出所述测试成功的内核版本。
2.根据权利要求1所述的方法,其特征在于,所述测试机根据所述测试指令集,对所述PMON与操作系统内核版本兼容性进行测试,获得测试成功的内核版本,包括:
所述测试机执行所述测试指令集中的第一指令,获取第一测试结果;其中,所述第一指令用于指示所述测试机检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;
所述测试机根据所述第一测试结果判断是否执行所述测试指令集中的第二指令,并在执行所述第二指令后,获得第二测试结果;其中,所述第二指令用于指示所述测试机检测预设的第二文件夹中所记录的测试次数是否等于所述第一文件夹中的内核版本的数目;
所述测试机根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果;其中,所述第三指令用于指示所述测试机检测所述第二文件夹中所记录的所述测试次数是否为0;
所述测试机根据所述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示所述测试机更新启动菜单中的待启动内核,所述第五指令用于指示所述测试机将当前测试成功的内核版本保存至第三文件夹,并更新所述启动菜单中的待启动内核;
所述测试机执行第六指令;其中,所述第六指令用于指示所述测试机将所述第二文件夹中所记录的所述测试次数加1后进行重启,并返回执行所述第一指令,直至所述第二文件夹中的所述测试次数等于所述第一文件夹中的内核版本数目为止;
所述测试机获取所述第三文件夹中的内核版本。
3.根据权利要求2所述的方法,其特征在于,所述测试机根据所述第一测试结果判断是否执行第二指令,并在执行第二指令后,获得第二测试结果,具体包括:
若所述第一测试结果为0,则所述测试机结束测试;
若所述第一测试结果不为0,则所述测试机执行所述第二指令,获得所述第二测试结果。
4.根据权利3所述的方法,其特征在于,所述测试机根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果,具体包括:
若所述第二测试结果为所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目,则所述测试机不执行所述第三指令,并将测试成功的内核版本保存至所述第三文件夹后输出,所述测试机测试结束;
若所述第二测试结果为所述第二文件夹中所记录的测试次数不等于所述第一文件夹中的内核版本数目,则执行所述第三指令,获取第三测试结果。
5.根据权利要求4所述的方法,其特征在于,所述第一文件夹中的所述内核版本以一维数组array的形式存储;则所述测试机根据所述第三测试结果判断执行第四指令或者第五指令,具体包括:
若所述第三测试结果为所述第二文件夹中所记录的所述测试次数为0,则所述测试机更新所述启动菜单中的待启动内核的版本为array[0],所述array[0]表示所述第一文件夹中的第一个内核版本;
若所述第三测试结果为所述第二文件夹中所记录的测试次数为m,所述m为大于0且小于所述第一文件夹中的内核版本的数目的整数;则所述测试机将当前测试成功的内核版本array[m-1]保存至第三文件夹,并更新所述启动菜单中的待启动内核的版本为array[m];其中,所述array[m-1]表示所述第一文件夹中第m个内核版本,所述array[m]表示所述第一文件夹中第m+1个内核版本。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述测试机执行第六指令,包括:
所述测试机将所述第二文件夹中所记录的测试次数加1;
所述测试机根据所述启动菜单中的所述待启动内核进行重启;
所述测试机返回执行所述第一指令,直至所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目为止。
7.一种基于可编程只读存储器的无内部互锁流水级的微处理器调试监视器PMON与内核版本兼容性测试的装置,其特征在于,包括:
获取模块,用于获取测试所述PMON与所述内核版本兼容性的测试指令集;
测试模块,用于根据所述测试指令集,对所述PMON与所述内核版本兼容性进行测试,获得测试成功的内核版本;所述测试成功的内核版本为与所述PMON兼容的内核版本;
输出模块,用于输出所述测试成功的内核版本。
8.根据权利要求7所述的装置,其特征在于,所述测试模块,包括:
第一测试单元,用于执行所述测试指令集中的第一指令,获取第一测试结果;其中,所述第一指令用于指示所述第一测试单元检测预设的全局变量所指示的第一文件夹中的内核版本的数目是否为0;
第二测试单元,用于根据所述第一测试结果判断是否执行所述测试指令集中的第二指令,并在执行所述第二指令后,获得第二测试结果;其中,所述第二指令用于指示所述第二测试单元检测预设的第二文件夹中所记录的测试次数是否等于所述第一文件夹中的内核版本的数目;
第三测试单元,用于根据所述第二测试结果判断是否执行第三指令,并在执行所述第三指令后,获得第三测试结果;其中,所述第三指令用于指示所述第三测试单元检测所述第二文件夹中所记录的所述测试次数是否为0;
第四测试单元,用于根据所述第三测试结果判断执行第四指令或者第五指令;其中,所述第四指令用于指示所述第四测试单元更新启动菜单中的待启动内核,所述第五指令用于指示所述第四测试单元将当前测试成功的内核版本保存至第三文件夹,并更新所述启动菜单中的待启动内核;
第五测试单元,用于执行第六指令;其中,所述第六指令用于指示所述第五测试单元将所述第二文件夹中所记录的所述测试次数加1后进行重启,并返回执行所述第一指令,直至所述第二文件夹中的所述测试次数等于所述第一文件夹中的内核版本数目为止;
获取单元,用于获取所述第三文件夹中的内核版本。
9.根据权利要求8所述的装置,其特征在于,所述第二测试单元,具体用于若所述第一测试结果为0,则指示测试结束;若所述第一测试结果不为0,则执行所述第二指令,获得所述第二测试结果。
10.根据权利要求9所述的装置,其特征在于,所述第三测试单元,具体用于若所述第二测试结果为所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目,则所述第三测试单元不执行所述第三指令,并将测试成功的内核版本保存至所述第三文件夹后输出,并指示测试结束;
若所述第二测试结果为所述第二文件夹中所记录的测试次数不等于所述第一文件夹中的内核版本数目,则执行所述第三指令,获取第三测试结果。
11.根据权利要求10所述的装置,其特征在于,所述第一文件夹中的所述内核版本以一维数组array的形式存储;所述第四测试单元,具体用于若所述第三测试结果为所述第二文件夹中所记录的所述测试次数为0,则更新所述启动菜单中的待启动内核的版本为array[0],所述array[0]表示所述第一文件夹中的第一个内核版本;若所述第三测试结果为所述第二文件夹中所记录的测试次数为m,所述m为大于0且小于所述第一文件夹中的内核版本的数目的整数;则将当前测试成功的内核版本array[m-1]保存至第三文件夹,并更新所述启动菜单中的待启动内核的版本为array[m];其中,所述array[m-1]表示所述第一文件夹中第m个内核版本,所述array[m]表示所述第一文件夹中第m+1个内核版本。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述第五测试单元,具体包括:
递增子单元,用于将所述第二文件夹中所记录的测试次数加1;
重启子单元,用于根据所述启动菜单中的所述待启动内核进行重启;
返回子单元,用于指示所述第一测试单元执行所述第一指令,直至所述第二文件夹中所记录的所述测试次数等于所述第一文件夹中的内核版本数目为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205634.0A CN103970658B (zh) | 2014-05-15 | 2014-05-15 | Pmon与内核版本兼容性测试的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410205634.0A CN103970658B (zh) | 2014-05-15 | 2014-05-15 | Pmon与内核版本兼容性测试的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103970658A CN103970658A (zh) | 2014-08-06 |
CN103970658B true CN103970658B (zh) | 2016-07-06 |
Family
ID=51240187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410205634.0A Active CN103970658B (zh) | 2014-05-15 | 2014-05-15 | Pmon与内核版本兼容性测试的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103970658B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317715A (zh) * | 2014-10-30 | 2015-01-28 | 南京富士通南大软件技术有限公司 | 基于模拟器的中央处理器指令集的功能测试自动实施方法 |
CN106201850B (zh) * | 2015-04-29 | 2019-07-05 | 阿里巴巴集团控股有限公司 | 一种兼容性测试方法及装置 |
CN116991641A (zh) * | 2023-06-25 | 2023-11-03 | 珠海妙存科技有限公司 | 基于fio的兼容性测试方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196308A (zh) * | 2011-05-19 | 2011-09-21 | 广东星海数字家庭产业技术研究院有限公司 | 一种基于数字电视的多硬件接口兼容驱动系统 |
CN103473059A (zh) * | 2013-09-11 | 2013-12-25 | 江苏中科梦兰电子科技有限公司 | 一种支持多种体系架构的通用操作系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676508B2 (en) * | 2004-11-10 | 2010-03-09 | Microsoft Corporation | Method and system for recording and replaying input-output requests issued by a user-mode program |
-
2014
- 2014-05-15 CN CN201410205634.0A patent/CN103970658B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196308A (zh) * | 2011-05-19 | 2011-09-21 | 广东星海数字家庭产业技术研究院有限公司 | 一种基于数字电视的多硬件接口兼容驱动系统 |
CN103473059A (zh) * | 2013-09-11 | 2013-12-25 | 江苏中科梦兰电子科技有限公司 | 一种支持多种体系架构的通用操作系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103970658A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193615B (zh) | 项目代码信息的更新部署方法及装置 | |
US9940225B2 (en) | Automated error checking system for a software application and method therefor | |
US8499198B1 (en) | Testing data storage devices running different versions of an operating system | |
US8887149B2 (en) | Time shift configuration management for software product installation | |
US8978009B2 (en) | Discovering whether new code is covered by tests | |
CN102629206B (zh) | 一种嵌入式系统软件升级方法及系统 | |
US10255086B2 (en) | Determining optimal methods for creating virtual machines | |
US20130091492A1 (en) | Method to automate running relevant automatic tests to quickly assess code stability | |
US9645911B2 (en) | System and method for debugging firmware/software by generating trace data | |
CN104317618A (zh) | 一种固件分区处理方法和装置 | |
KR101748833B1 (ko) | 소프트웨어 고장의 위치 확정 방법, 장치 및 설비 | |
CN103246534A (zh) | 操作系统迁移方法及装置 | |
CN103970658B (zh) | Pmon与内核版本兼容性测试的方法和装置 | |
CN105893065A (zh) | 计算机系统启动方法 | |
CN109460359A (zh) | 一种用于嵌入式设备的软件版本测试方法及系统 | |
US11989539B2 (en) | Continuous integration and deployment system time-based management | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
US11842188B2 (en) | Continuous integration and deployment pipeline selection based on dynamic mapping | |
CN106649018A (zh) | 一种带扩展柜的存储系统稳定性的测试方法 | |
US20110218654A1 (en) | Method For Optimizing A Control Program For Actuators | |
CN108681506B (zh) | 一种压力测试方法及装置 | |
US10430200B2 (en) | Slave processor within a system-on-chip | |
US7636869B2 (en) | Program dynamically burnt system and method | |
US9940068B2 (en) | Device and method for determining memory leaks | |
CN114647588A (zh) | 接口测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |