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.
38 lines
1.2 KiB
38 lines
1.2 KiB
# License: Apache 2.0. See LICENSE file in root directory.
|
|
# Copyright(c) 2021 Intel Corporation. All Rights Reserved.
|
|
|
|
#test:timeout 20
|
|
#test:device each(D400*) !D455
|
|
|
|
import os
|
|
import pyrealsense2 as rs2
|
|
from rspy import test, log, repo
|
|
import tempfile
|
|
|
|
# This test checks that stop of pipeline with playback file
|
|
# and non realtime mode is not stuck due to deadlock of
|
|
# pipeline stop thread and syncer blocking enqueue thread (DSO-15157)
|
|
#############################################################################################
|
|
test.start("Playback with non realtime isn't stuck at stop")
|
|
|
|
filename = os.path.join( repo.build, 'unit-tests', 'recordings', 'recording_deadlock.bag' )
|
|
log.d( 'deadlock file:', filename )
|
|
|
|
pipeline = rs2.pipeline()
|
|
config = rs2.config()
|
|
config.enable_all_streams()
|
|
config.enable_device_from_file(filename, repeat_playback=False)
|
|
profile = pipeline.start(config)
|
|
device = profile.get_device().as_playback().set_real_time(False)
|
|
success = True
|
|
while success:
|
|
success, _ = pipeline.try_wait_for_frames(1000)
|
|
print("stopping...")
|
|
pipeline.stop()
|
|
print("stopped")
|
|
|
|
test.finish()
|
|
#############################################################################################
|
|
|
|
test.print_results_and_exit()
|