我正在寻找处理意外测试结束的功能,似乎无法找到它。 我知道应该有一个,因为系统错误(例如os11)和调试中止由Specman处理。
我们在并行运行多个测试时使用信号量,但是每当测试由于系统错误或调试会话期间没有正确结束时,就不会执行释放信号量的函数,迫使我们手动释放它有时完全重启Specview。 我需要找到一个可以扩展的函数(或函数),这样我就可以添加释放信号量的代码给它们。
谢谢!
答案 0 :(得分:1)
您可能正在寻找“configure run error_command = command_string”。在字符串中,您可以调用任何方法。
问题在于,虽然大多数提到的案例都被调用,包括由Specman处理的os11,但它可能不会被调用用于其他一些真实案例,例如未处理的异常,由其他工具处理的关键异常,致命错误,信号-9等。
因此“配置运行”可以显着改善您的情况,但不会为Specman无法正常处理的情况提供解决方案。为此你可能需要在Specman之外的一些控制机制。
答案 1 :(得分:0)
特别是对于中止,您还可以使用宏来解决它,例如:
define <my_abort'command> "my_abort" as {
specman("do_my_special_things()");
specman("abort");
};
它不会帮助GUI按钮,但是从命令提示符输入my_abort
就可以了。
答案 2 :(得分:0)
Specman没有中止调试会话的处理程序。 Cadence发布了一个可能会在未来版本中找到方法的补丁。