问题标签 [rtrt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 使用RTRT测试工具查询c语言socket的单元测试
软件是在 VXworks 操作系统上使用 C 编程语言开发的。
应用程序与其他应用程序建立套接字连接,并在此过程中调用许多内置的 VXworks 系统调用,如send()
、、和。recv()
bzero()
bcopy()
问题是我正在尝试使用 RTRT 测试工具对我的软件进行单元测试(语句覆盖率)。
作为内置系统调用send()
,recv()
这些系统调用传递和返回的值是我无法控制的。如何使用 RTRT 工具对套接字进行单元测试?
java - 在java中使用emacs解析器?
我在互联网上找到了一个用于 emacs 的解析器:http : //www.emacswiki.org/emacs/rtrt-script.el 用于 testRT 脚本(一个 IBM 测试工具)。
我想知道是否可以在 Java Swing 应用程序中使用这个 Emacs Lips 解析器文件。我只需要缩进代码的部分。例如,使用如下命令行:我给需要缩进的文件 rtrt-script.el 作为回报,我有一个带有缩进的文件。有什么办法吗?谢谢你的帮助。
编辑:我认为我需要的部分是:
代码缩进。
unit-testing - 从命令行运行 RTRT 测试
我们使用 IBM Rational Test RealTime 对 ANSI-C 代码进行单元测试。告诉 Jenkins 服务器自动运行这些测试是我的工作。
文档建议应该使用什么命令行:
不幸的是,studio -r
使用更多参数运行不会向控制台输出任何内容。如果它没有完成预期的单元测试工作,它会立即终止并且不会给出任何错误消息。这令人沮丧。错误类别可以从退出代码中推断出来,但这还不足以进行故障排除。
知道在哪里可以找到错误输出吗?我找不到任何日志文件。
此处描述了详细的命令行语法,但这声称,这显然不是真的:
所有消息都发送到标准错误输出设备。
如果它运行成功,可以容忍缺少控制台输出,但如果它无法运行测试,我真的很想看到通常输出到 RTRT 主窗口的东西。注意:在此上下文中,例如在断言上失败的单元测试被视为“成功”测试运行。
rtrt - .xdp 文件是否依赖硬件 IBM RTRT 工具
我是 RTRT 工具的新手。我想为新硬件配置 TDP。在创建 TDP 时,我需要一个 .xdp 文件。所以,我的问题是 .xdp 文件是否依赖于硬件?如果是,那么我将从哪里获得 .xdp 文件?
rtrt - 用于数组输入参数的 Rtrt 存根
我有一个像“void read(uint8 _inout data[5]);”这样的存根。现在我需要期望 data[3] 的值为 2。我已经完成了多种方法,例如“存根读取((0,0),(0,0),(0,0),(0,2))”“存根读取({0,0,0,0}, {0,0,0,2})
但他们都没有工作。请帮助我解决这个问题。
unit-testing - PTU中包含C文件时的代码插入
例如,我有一个包含函数 A、B 和 C 的 C 文件。A 是我正在测试的函数(单元测试)。A() 调用 B() 和 C()。我不想制作 B() 和 C() 存根而不是真正的函数。由于 B() 和 C() 在同一个 C 文件中定义,我应该“-rename”以使它们成为存根(参考https://www-01.ibm.com/support/docview.wss?uid=swg21125279) . 这很好用,我得到了测试报告和覆盖率报告。
现在我想在没有任何代码插入的情况下运行相同的测试(即非仪器)。为此,我将 C 文件属性“instrumented”更改为“No”,并从“Build Settings”中取消选中“Code Coverage”选项。构建节点时,我收到错误说 B() 和 C() 重新定义。在上面的链接中指出,“-rename”不适用于非仪器。对于非仪表化,这种情况下的解决方案是什么?
我做的一件事是从节点中排除 C 文件(通过交叉标记它)并将文件包含在 PTU 本身中。测试执行得很好,但是我不确定代码插入是否发生。我相信没有发生代码插入,因为我没有在“构建设置”中启用“代码覆盖率”
operating-system - TestRealTime:如何使用 Rational Test Real Time 测试实时操作系统
在 AUTOSAR 实时操作系统 (OS) 上,软件架构是单独分层的(用户空间、系统调用接口、内核空间)。此外,用户上下文和内核上下文之间的切换由特定于硬件的基础设施处理,并且通常上下文切换处理程序是用汇编代码编写的。
IBM® Rational® Test RealTime v8.0.1 (RTRT) 当前处理嵌入式汇编代码,如以下问答中所述。
https://www.ibm.com/support/pages/how-treat-embedded-assembly-code (**)
RTRT 工具使用代码插入技术(技术上称为插桩过程)插入自己的代码,以测量被测系统的代码覆盖率。
就我而言,具有完全先发制人设计的操作系统没有终止点。因此,除非断电,否则操作系统始终运行。如果没有工作,操作系统将处于睡眠状态(通常是空闲状态并且什么都不做)。如果发生任何意外错误或异常,操作系统将被关闭并进入无限循环。这些表明操作系统始终在运行。
我从 ( ** ) 中学习并确保上下文切换正常工作。但我不知道如何教 RTRT 以正确的方式完成其后处理(由attolcov和attolpostpro组成)。请注意,操作系统已经在我的所有任务中正常工作,并已由调试器确认。SHUTDOWN OS 程序已正确执行且 OS 已处于 INFINITE 循环(如while(1){};)
RTRT 结束所有进程后,OS 模块的覆盖报告仍为空。
基于 IBM 的 RTRT 指南 https://www.ibm.com/developerworks/community/forums/atom/download/attachment_14076432_RTRT_User_Guide.pdf?nodeId=de3b0048-968c-4111-897e-b73654af32af
RTRT 提供了两个断点来标记其进程的日志记录点 ( priv_writeln ) 和终止点 ( priv_close )。
我已经尝试通过将 PC 寄存器和所有上下文切换寄存器与 Lauterbach 调试器交互来从INFINITE(我的操作系统)驱动到priv_close(RTRT),但是即使没有发生任何错误,RTRT 覆盖率报告也是空的。没有错误意味着从内核空间到用户空间的上下文切换能够正常工作并且main()函数正确返回。
gitlab - Gitlab-runner 不运行命令,普通 shell 可以
我正在尝试使用 IBM RTRT 对我的源代码进行动态分析,并将其添加到 Gitlab CI。
我已阅读手册,并且可以使用以下命令执行完整的测试套件:
这可以在我的普通 cmd / Windows shell 上正常运行。
当我尝试在 gitlab-runner 上执行相同的 .bat 时,它不会执行并停留在第一条 RTRT 指令上。
即使尝试执行每个测试用例的完整(详细)指令测试用例:
Gitlab-runner 只是卡在 attolpreproC 上。
我无法解决这个问题,因为它似乎是一个 shell / gitlab-runner shell 问题。似乎管理员权限已正确授予 gitlab-runner shell。我还能做其他检查吗?
debugging - MPLAB MDB 调试器断点问题
我正在使用 MPLAB 的 MDB 调试器(命令行调试器)。
我有一个场景,在调试期间,每当调用特定函数时,执行都必须中断,我需要打印一个内存位置。这可能会在计划期间发生多次。我无法找到循环命令的方法。
命令如下
总之每次priv_written
调用我都需要打印缓冲区。有没有办法在 MPLAB mdb 调试器中做到这一点?