Do not fail test case when no vpp pid detected in the tear down
[csit.git] / resources / libraries / robot / default.robot
index e3e9309..fd1b280 100644 (file)
@@ -20,6 +20,7 @@
 | Library | resources.libraries.python.DUTSetup
 | Library | resources.libraries.python.SchedUtils
 | Library | resources.libraries.python.TGSetup
+| Library | resources.libraries.python.L2Util
 | Library | resources/libraries/python/VppConfigGenerator.py
 | Library | resources/libraries/python/VppCounters.py
 | Library | Collections
 | | :FOR | ${dut} | IN | @{duts}
 | | | Vpp Show Vhost | ${nodes['${dut}']}
 
+| Show Bridge Domain Data On All DUTs
+| | [Documentation] | Show Bridge Domain data on all DUTs.
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Vpp Get Bridge Domain Data | ${nodes['${dut}']}
+
 | Setup Scheduler Policy for Vpp On All DUTs
 | | [Documentation] | Set realtime scheduling policy (SCHED_RR) with priority 1
 | | ... | on all VPP worker threads on all DUTs.
 | | :FOR | ${dut} | IN | @{duts}
 | | | Set VPP Scheduling rr | ${nodes['${dut}']}
 
+| Verify Crypto Device On All DUTs
+| | [Documentation] | Verify if Crypto QAT device virtual functions are
+| | ... | initialized on all DUTs. If parameter force_init is set to True, then
+| | ... | try to initialize.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${force_init} - Try to initialize. Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Verify Crypto Device On All DUTs \| ${True} \|
+| | ...
+| | [Arguments] | ${force_init}=${False}
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Crypto Device Verify | ${nodes['${dut}']} | force_init=${force_init}
+
+| Verify Kernel Module On All DUTs
+| | [Documentation] | Verify if specific kernel module is loaded on all DUTs.
+| | ... | If parameter force_load is set to True, then try to initialize.
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${module} - Module to verify. Type: string
+| | ... | - ${force_load} - Try to load module. Type: boolean
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Verify Kernel Module On All DUTs \| ${True} \|
+| | ...
+| | [Arguments] | ${module} | ${force_load}=${False}
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Kernel Module Verify | ${nodes['${dut}']} | ${module}
+| | | ... | force_load=${force_load}
+
 | Add '${m}' worker threads and rxqueues '${n}' in 3-node single-link topo
 | | [Documentation] | Setup M worker threads and N rxqueues in vpp startup\
 | | ... | configuration on all DUTs in 3-node single-link topology.
 | | :FOR | ${dut} | IN | @{duts}
 | | | Add Enable Vhost User Config | ${nodes['${dut}']}
 
+| Add SNAT to all DUTs
+| | [Documentation] | Add SNAT configuration to all DUTs.
+| | ...
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Add SNAT Config | ${nodes['${dut}']}
+
+| Add Cryptodev to all DUTs
+| | [Documentation] | AddCryptodev to VPP startup configuration to all
+| | ...             | DUTs
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${count} - Number of QAT devices. Type: integer
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| Add Cryptodev to all DUTs \| ${4} \|
+| | ...
+| | [Arguments] | ${count}
+| | ${duts}= | Get Matches | ${nodes} | DUT*
+| | :FOR | ${dut} | IN | @{duts}
+| | | Add Cryptodev Config | ${nodes['${dut}']} | ${count}
+
 | Remove startup configuration of VPP from all DUTs
 | | [Documentation] | Remove VPP startup configuration from all DUTs.
 | | ...
 | | | Remove All PCI Devices | ${nodes['${dut}']}
 | | | Remove All CPU Config | ${nodes['${dut}']}
 | | | Remove Socketmem Config | ${nodes['${dut}']}
+| | | Remove Cryptodev Config | ${nodes['${dut}']}
 | | | Remove Heapsize Config | ${nodes['${dut}']}
 | | | Remove Rxqueues Config | ${nodes['${dut}']}
 | | | Remove No Multi Seg Config | ${nodes['${dut}']}
 | | | Remove Enable Vhost User Config | ${nodes['${dut}']}
+| | | Remove SNAT Config | ${nodes['${dut}']}
 
 | Setup default startup configuration of VPP on all DUTs
 | | [Documentation] | Setup default startup configuration of VPP to all DUTs.
 | | ... | where the key is the host and the value is the PID.
 | | ...
 | | ${setup_vpp_pids}= | Get VPP PIDs | ${nodes}
+| | ${keys}= | Get Dictionary Keys | ${setup_vpp_pids}
+| | :FOR | ${key} | IN | @{keys}
+| | | ${pid}= | Get From Dictionary | ${setup_vpp_pids} | ${key}
+| | | Run Keyword If | $pid is None | FAIL | No VPP PID found on node ${key}
+| | | Run Keyword If | ',' in '${pid}'
+| | | ... | FAIL | More then one VPP PID found on node ${key}: ${pid}
 | | Set Test Variable | ${setup_vpp_pids}
 
 | Check VPP PID in Teardown
 | | ... | is printed on console and to log. The test will not fail.
 | | ...
 | | ${teardown_vpp_pids}= | Get VPP PIDs | ${nodes}
-| | ${err_msg}= | Catenate | \nThe VPP PIDs are not equal!\nTest Setup VPP PIDs:
+| | ${err_msg}= | Catenate | ${SUITE NAME} - ${TEST NAME}
+| | ... | \nThe VPP PIDs are not equal!\nTest Setup VPP PIDs:
 | | ... | ${setup_vpp_pids}\nTest Teardown VPP PIDs: ${teardown_vpp_pids}
 | | ${rc} | ${msg}= | Run keyword and ignore error
 | | ... | Dictionaries Should Be Equal