Python 为什么通过pytest加载驱动程序会导致SIGABRT?

Python 为什么通过pytest加载驱动程序会导致SIGABRT?,python,driver,pytest,python-import,Python,Driver,Pytest,Python Import,我使用pytest来驱动一些集成测试,其中一些需要模拟器,所以我创建了一个pytest夹具来初始化它 模拟器使用另一个Python模块中提供的驱动程序,我在conftest.py中导入该模块,如下所示: from foo.bar.sim import Sim 然后,Sim卡将导入驱动程序: from pc_ble_driver_py import ble_driver as ble_driver 在ble_驱动程序中,最终加载底层模块: _mod = imp.load_module('_pc

我使用pytest来驱动一些集成测试,其中一些需要模拟器,所以我创建了一个pytest夹具来初始化它

模拟器使用另一个Python模块中提供的驱动程序,我在conftest.py中导入该模块,如下所示:

from foo.bar.sim import Sim
然后,Sim卡将导入驱动程序:

from pc_ble_driver_py import ble_driver as ble_driver
ble_驱动程序中
,最终加载底层模块:

_mod = imp.load_module('_pc_ble_driver_sd_api_v3', fp, pathname, description)
从调试中我可以看出,
load\u模块
已经获得了正确加载驱动程序所需的所有功能。事实上,如果我在pytest之外运行模拟器,一切都很顺利。但是,当我试图通过执行
pytest
加载模拟器时–当我想在测试中使用模拟器时–调用
load\u模块
会导致灾难性的失败:

[1]    12126 abort      pytest tests/test_integration.py
这是怎么回事?为什么驱动程序不能由pytest加载或代表pytest加载

更新:

按照建议,我尝试通过
gdb
运行测试,这本身就是一项任务。请参阅下面的崩溃点堆栈跟踪。我不确定这有多大帮助,因为我不确定我是否能够正确使用Python的调试版本:

Thread 2 received signal SIGABRT, Aborted.
0x00007fff6515e49a in ?? ()

pytest
不发送
SIGABRT
s。从gdb运行测试并查看错误跟踪报告。我已经按照建议通过
gdb
运行了测试。请查看更新。
(gdb) bt
#0  0x00007fff6515e49a in ?? ()
#1  0x00007fff6521b6cb in ?? ()
#2  0x0000000000000003 in ?? ()
#3  0x0000000000000000 in ?? ()