open-power / HTX

Apache License 2.0
14 stars 19 forks source link

time driven feature: in inc lib htxd hxediag #149

Closed vishnupriya-r99 closed 6 years ago

vishnupriya-r99 commented 6 years ago

Background : Typical HTX exerciser rule file has multiple testcases and each testcase runs for specified number of iterations (a.k.a num_oper). Run time of a specific testcase depends on relative load on the system.Typically in system test environment run time is atleast few hours and there is a good chance that all testcases from rule file gets to run atleast once. However, some labs (for e.g. MFG) has fixed/limited test time to ship machines to customer and within available time, all the testcases from rule file should have run to ensure test coverage. Time driven execution feature allows an exerciser to complete all testcases from currently running rule file in specified amount of time. This ensures test coverage within limited test time. This is specifically beneficial to shorter test duration assured test coverage (for e.g. DevOPs, regression).

Details : Following diagram shows a difference in a run time received by testcase when run with and without time driven execution feature. image

Features and points to remember

This feature is only supported when you start HTX with command line interface. htxcmdline -run command is enhanced to take additional test time parameter. So start HTX using htxcmdline with an argument passed along with the run command which specifies the amount of time you want to run. All exercisers in specified MDT will complete at least one rule file cycle covering all testcases within the specified time period. In this setup, specified test time is equally distributed among all testcases in a rule file. When HTX is started with test time specification, every device in specified MDT file will be stopped forcefully at the end of specified test time. If specified test time is longer than one hour, rule file cycles will roll over after every hour. I.e. Every one hour, one cycle will be completed.

Usage

To start a time driven HTX run, use the following option

htxcmdline -run [test_time=

'time' should be followed by the amount of time you want to run HTX in seconds

Eg:

htxcmdline -run test_time=300 -mdt mdt.bu

In case of any issue, please contact:

vishnur1@in.ibm.com