1*** Settings ***
2Documentation    Stress the system using HTX exerciser.
3
4Resource         ../syslib/utils_os.robot
5
6Test Setup      Pre Test Case Execution
7Test Teardown   Post Test Case Execution
8
9*** Variables ****
10
11${stack_mode}        skip
12
13*** Test Cases ***
14
15Hard Bootme Test
16    [Documentation]  Stress the system using HTX exerciser.
17    [Tags]  Hard_Bootme_Test
18
19    Rprintn
20    Rpvars  HTX_DURATION  HTX_INTERVAL
21
22    Repeat Keyword  ${HTX_LOOP} times  Start HTX Exerciser
23
24
25*** Keywords ***
26
27Start HTX Exerciser
28    [Documentation]  Start HTX exerciser.
29    # Test Flow:
30    #              - Power on
31    #              - Establish SSH connection session
32    #              - Create HTX mdt profile
33    #              - Run HTX exerciser
34    #              - Check HTX status for errors
35    #              - Power off
36
37    Boot To OS
38
39    # Post Power off and on, the OS SSH session needs to be established.
40    Login To OS
41
42    Run Keyword If  '${HTX_MDT_PROFILE}' == 'mdt.bu'
43    ...  Create Default MDT Profile
44
45    Run MDT Profile
46
47    Loop HTX Health Check
48
49    Shutdown HTX Exerciser
50
51    Power Off Host
52
53    Rprint Timen  HTX Test ran for: ${HTX_DURATION}
54
55
56Loop HTX Health Check
57    [Documentation]  Run until HTX exerciser fails.
58
59    Repeat Keyword  ${HTX_DURATION}
60    ...  Run Keywords  Check HTX Run Status
61    ...  AND  Sleep  ${HTX_INTERVAL}
62
63
64Post Test Case Execution
65    [Documentation]  Do the post test teardown.
66    # 1. Shut down HTX exerciser if test Failed.
67    # 2. Capture FFDC on test failure.
68    # 3. Close all open SSH connections.
69
70    # Keep HTX running if user set HTX_KEEP_RUNNING to 1.
71    Run Keyword If  '${TEST_STATUS}' == 'FAIL' and ${HTX_KEEP_RUNNING} == ${0}
72    ...  Shutdown HTX Exerciser
73
74    FFDC On Test Case Fail
75    Close All Connections
76