118 lines
5.6 KiB
Plaintext
118 lines
5.6 KiB
Plaintext
*** Variables ***
|
|
${SCRIPT} ${CURDIR}/../../scripts/single-node/quickfeather.resc
|
|
|
|
*** Keywords ***
|
|
Run Emulation With Auto Save
|
|
[Arguments] ${emulation_time} ${auto_save_period}
|
|
Execute Command autoSave true ${auto_save_period}
|
|
Execute Command emulation RunFor "${emulation_time}"
|
|
|
|
*** Test Cases ***
|
|
Should Take First Snapshot Immediately
|
|
Execute Script ${SCRIPT}
|
|
Execute Command autoSave true 0.1
|
|
|
|
${snapshots_count}= Execute Command emulation SnapshotTracker Count
|
|
Should Be Equal As Integers ${snapshots_count} 1
|
|
|
|
Should Take Snapshot Exactly At Timestamp
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.011 auto_save_period=0.01
|
|
|
|
${snapshots_count}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count} 2
|
|
Should Contain ${snapshots_info} 00:00:00.000000
|
|
Should Contain ${snapshots_info} 00:00:00.010000
|
|
|
|
Should Take Snapshots Periodically
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.05 auto_save_period=0.01
|
|
|
|
${snapshots_count}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count} 6
|
|
Should Contain ${snapshots_info} 00:00:00.000000
|
|
Should Contain ${snapshots_info} 00:00:00.010000
|
|
Should Contain ${snapshots_info} 00:00:00.020000
|
|
Should Contain ${snapshots_info} 00:00:00.030000
|
|
Should Contain ${snapshots_info} 00:00:00.040000
|
|
Should Contain ${snapshots_info} 00:00:00.050000
|
|
|
|
Should Resume Taking Snapshots After Load
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.01 auto_save_period=0.01
|
|
|
|
${snap_path}= Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "0.01"
|
|
Execute Command Load @${snap_path}
|
|
Execute Command mach set 0
|
|
|
|
${snapshots_count1}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info1}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count1} 2
|
|
Should Contain ${snapshots_info1} 00:00:00.000000
|
|
Should Contain ${snapshots_info1} 00:00:00.010000
|
|
|
|
Execute Command emulation RunFor "0.01"
|
|
|
|
${snapshots_count2}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info2}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count2} 3
|
|
Should Contain ${snapshots_info2} 00:00:00.000000
|
|
Should Contain ${snapshots_info2} 00:00:00.010000
|
|
Should Contain ${snapshots_info2} 00:00:00.020000
|
|
|
|
Should Stop Taking Snapshots
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.015 auto_save_period=0.01
|
|
|
|
Execute Command autoSave false
|
|
Execute Command emulation RunFor "0.01"
|
|
|
|
${snapshots_info}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
Should Not Contain ${snapshots_info} 00:00:00.020000
|
|
|
|
Should Reenable Auto Save Properly
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.011 auto_save_period=0.01
|
|
Execute Command autoSave false
|
|
|
|
# before reenabling auto-save, registered snapshot should be cancelled, the code below checks it
|
|
Execute Command autoSave true 0.02
|
|
${snapshots_count1}= Execute Command emulation SnapshotTracker Count
|
|
Execute Command emulation RunFor "0.02"
|
|
|
|
${snapshots_count2}= Execute Command emulation SnapshotTracker Count
|
|
|
|
Should Be Equal As Integers ${snapshots_count1} 3
|
|
Should Be Equal As Integers ${snapshots_count2} 4
|
|
|
|
Should Forget Later Snapshots After Load
|
|
Execute Script ${SCRIPT}
|
|
Run Emulation With Auto Save emulation_time=0.021 auto_save_period=0.01
|
|
|
|
${snapshots_count1}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info1}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count1} 3
|
|
Should Contain ${snapshots_info1} 00:00:00.000000
|
|
Should Contain ${snapshots_info1} 00:00:00.010000
|
|
Should Contain ${snapshots_info1} 00:00:00.020000
|
|
|
|
${snap_path}= Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "0.01"
|
|
Execute Command Load @${snap_path}
|
|
Execute Command mach set 0
|
|
|
|
${snapshots_count2}= Execute Command emulation SnapshotTracker Count
|
|
${snapshots_info2}= Execute Command emulation SnapshotTracker PrintDetailedSnapshotsInfo
|
|
|
|
Should Be Equal As Integers ${snapshots_count2} 2
|
|
Should Contain ${snapshots_info2} 00:00:00.000000
|
|
Should Contain ${snapshots_info2} 00:00:00.010000
|
|
|
|
Execute Command emulation RunFor "0.00"
|