*** Keywords *** Create Machine Execute Command include @scripts/single-node/hifive_unleashed.resc *** Test Cases *** Should Return Snapshot At Time Stamp Create Machine Execute Command emulation RunFor "0.01" # create a temporary file so it can be automatically removed after Renode finishes ${snap_path}= Allocate Temporary File Execute Command Save @${snap_path} ${result_path}= Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "0.01" Should Be Equal As Strings ${snap_path.strip()} ${result_path.strip()} Should Return Older Snapshot Create Machine Execute Command emulation RunFor "0.01" ${snap_path1}= Allocate Temporary File Execute Command Save @${snap_path1} Execute Command emulation RunFor "0.01" ${snap_path2}= Allocate Temporary File Execute Command Save @${snap_path2} ${result_path}= Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "0.015" Should Be Equal As Strings ${snap_path1.strip()} ${result_path.strip()} Should Return Last Snapshot Before Deleted One Create Machine Execute Command emulation RunFor "0.01" ${snap_path1}= Allocate Temporary File Execute Command Save @${snap_path1} Execute Command emulation RunFor "0.01" ${snap_path2}= Allocate Temporary File Execute Command Save @${snap_path2} Remove File ${snap_path2} ${result_path}= Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "1.0" Should Be Equal As Strings ${snap_path1.strip()} ${result_path.strip()} Should Throw Exception When No Older Snapshots Create Machine Execute Command emulation RunFor "0.01" ${snap_path}= Allocate Temporary File Execute Command Save @${snap_path} Run Keyword And Expect Error *There are no snapshots taken before this timestamp* Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "0.005" Should Throw Exception When No Snapshots Create Machine Run Keyword And Expect Error *There are no snapshots taken before this timestamp* Execute Command emulation SnapshotTracker GetLastSnapshotBeforeOrAtTimeStamp "1.0" Should Count Snapshots Properly Create Machine ${snap_path1}= Allocate Temporary File Execute Command Save @${snap_path1} Execute Command emulation RunFor "0.001" ${snap_path2}= Allocate Temporary File Execute Command Save @${snap_path2} ${snapshots_count}= Execute Command emulation SnapshotTracker Count Should Be Equal As Integers ${snapshots_count} 2