如何打印Cocotb中抛出的TestError内容

How to print the content of TestError raised in Cocotb

如果我在 cocotb 测试协程下引发 TestError :

@cocotb.test()
def double_cmd(dut):
    ...
    raise TestError("Wrong CRC value found")

我知道测试日志中出现了该错误,但我没有看到消息 "Wrong CRC value found":

12580176.01ns ERROR    Test Failed: double_cmd (result was TestError)
12580176.01ns ERROR    Failed 1 out of 1 tests (3 skipped)
12580176.01ns INFO     ************************************************************************************
                       ** TEST                        PASS/FAIL  SIM TIME(NS)  REAL TIME(S)  RATIO(NS/S) **
                       ************************************************************************************
                       ** test_laser_com.simple_test     N/A            0.00          0.00         0.00  **
                       ** test_laser_com.wrong_crc       N/A            0.00          0.00         0.00  **
                       ** test_laser_com.gas_cmd         N/A            0.00          0.00         0.00  **
                       ** test_laser_com.double_cmd     FAIL     12580176.01         14.41    872921.37  **
                       ************************************************************************************

是否有正确的方法在日志中打印 TestError 消息?

我目前找到的唯一解决方案是在引发之前打印消息 TestError:

@cocotb.test()
def double_cmd(dut):
    ...
    dut._log.error("Wrong CRC value found")
    raise TestError()

但也许这是该做的事情?

我会认为这是一个错误。也许您想在 https://github.com/potentialventures/cocotb/issues?

举报

Activitycocotb最近采摘的比较多,值得一提。