如何打印Cocotb中引发的TestError的内容

时间:2018-10-02 16:02:43

标签: python cocotb

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

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

我知道测试日志中会出现此错误,但是我没有看到“发现错误的CRC值”消息:

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消息?

2 个答案:

答案 0 :(得分:0)

我目前发现的唯一解决方案是在举起TestError之前打印消息:

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

但是也许是要做的事?

答案 1 :(得分:0)

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

cocotb的活动最近有所增加,因此值得报道。