我试图为GNU Radio消息块编写一个python单元测试,它在概念上与curr
非常相似。我注意到message_debug
一个消息到块返回没有错误但没有效果。此处的_post
显示相同的行为:
message_debug
我无法理解为什么会发生这种情况以及我需要采取哪些步骤来为接受阻止的邮件编写单元测试。
答案 0 :(得分:1)
_post
一个不属于正在运行的流程图的块,包括不起作用。
这是因为GNU Radio有一个基于线程的调度程序,其中每个块都存在于自己的线程中,基本上通过无限循环检查输入和输出空间流,调用general_work
作为可行,然后检查块是否已注册消息处理程序以及队列中是否有消息。
如果您还没有启动流程图,那么没有线程也没有循环运行来检查队列。
现在,即使在流程图中运行时你也无法使用_post
,这对我来说实际上有点令人惊讶,但后来我意识到只有实际的块以某种方式连接实际上获得了自己的线程。