HWUT - 有选择地从读缓冲区打印到OUT文件夹中的.exe文件

时间:2015-10-19 09:57:24

标签: serial-communication

我从串口接收数据。我使用HWUT来比较我的测试结果。来自接收缓冲区的内容不能直接用于GOOD和OUT结果的比较。因为OUT总会有不必要的命令提示,输入和其他东西。我希望选择从读缓冲区写入OUT文件的内容。例如,下面是一个例子

←[36m
A> target cmd
                ←[36m
{t=3883.744541 s} Received data 
A>             result :  1
                       bytes read 518Closing serial port...OK

我希望out文件只有'结果:1'。
当我检查代码时,messages.py似乎正在打印到std out。但不确定是否将其用于打印到OUT文件中。如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

您打印到'stdout'的任何内容都应出现在“OUT / *”文件中。如果没有,则这与通过串行线路的接收无关。以下是我要分析的内容:

  1. 在连接器应用程序中,必须有类似

    的内容

    receive_n = receive(.., &buffer[0], Size); buffer[receive_n] = '\0'; /* terminating zero */ printf("%s", &buffer[0]);

    如果是这样,那么

  2. 将paralell写入日志文件。

    static log_fh = fopen("tmp.log", "wb"); ... printf("%s", &buffer[0]); fwrite((void*)buffer, 1, received_n, log_fh);

  3. 将'tmp.log'与OUT中的文件进行比较。

    如果存在差异,应该责怪HWUT。

  4. 在编写之前检查输出。

    if(my_condition(buffer,received_n))printf(“%s”,& buffer [0]);

  5. HWUT有一个内部基础设施来进行后处理测试输出,但在撰写本文时,它没有记录,因此也不可靠。

答案 1 :(得分:0)

编辑文件" hwut-info.dat"在您的TEST目录中。

These R my Tests on Something Important (Title)
-------------------------------------------------------
--not  *.exe
bash   execute-this.sh
-------------------------------------------------------

--not *.exe确保HWUT 执行您编译的* .exe文件。 bash execute-this.sh行允许HWUT将文件execute-this.sh视为测试应用程序,并使用' bash'来调用它。

execute-this.sh内你可能想要申请,执行它并过滤输出,即

#! bash
make my-test.exe
./my-test.exe | awk ' /^A>/ ' 

将仅打印那些以&A;>'开头的行。 grepawk是您的朋友,在这里。您可能想要熟悉这两个。

或者,您可以直接在连接应用程序中进行过滤。

相关问题