You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.0 KiB
64 lines
2.0 KiB
# License: Apache 2.0. See LICENSE file in root directory.
|
|
# Copyright(c) 2021 Intel Corporation. All Rights Reserved.
|
|
|
|
#test:timeout 1500
|
|
#test:donotrun:!nightly
|
|
|
|
import pyrealsense2 as rs, os
|
|
from rspy import log, test, repo
|
|
from playback_helper import PlaybackStatusVerifier
|
|
|
|
file_name = os.path.join( repo.build, 'unit-tests', 'recordings', 'all_combinations_depth_color.bag' )
|
|
log.d( 'deadlock file:', file_name )
|
|
frames_in_bag_file = 64
|
|
|
|
frames_count = 0
|
|
|
|
def frame_callback( f ):
|
|
global frames_count
|
|
frames_count += 1
|
|
|
|
################################################################################################
|
|
test.start( "Playback stress test" )
|
|
|
|
log.d( "Playing back: " + file_name )
|
|
for i in range(250):
|
|
try:
|
|
log.d("Test - Starting iteration # " , i)
|
|
ctx = rs.context()
|
|
dev = ctx.load_device( file_name )
|
|
psv = PlaybackStatusVerifier( dev );
|
|
dev.set_real_time( False )
|
|
sensors = dev.query_sensors()
|
|
frames_count = 0
|
|
log.d("Opening Sensors")
|
|
for sensor in sensors:
|
|
sensor.open( sensor.get_stream_profiles() )
|
|
log.d("Starting Sensors")
|
|
for sensor in sensors:
|
|
sensor.start( frame_callback )
|
|
|
|
psv.wait_for_status( 5, rs.playback_status.playing )
|
|
|
|
# We allow 10 seconds to each iteration to verify the playback_stopped event.
|
|
psv.wait_for_status( 10, rs.playback_status.stopped )
|
|
|
|
log.d("Stopping Sensors")
|
|
for sensor in sensors:
|
|
sensor.stop()
|
|
|
|
log.d("Closing Sensors")
|
|
for sensor in sensors:
|
|
#log.d("Test Closing Sensor ", sensor)
|
|
sensor.close()
|
|
log.d("Test - Loop ended")
|
|
except Exception:
|
|
test.unexpected_exception()
|
|
finally:
|
|
test.check_equal(frames_count, frames_in_bag_file)
|
|
dev = None
|
|
test.finish()
|
|
#############################################################################################
|
|
|
|
test.print_results_and_exit()
|
|
|