Tests relying on .bashrc being loaded not working
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- bash, docker
- 领域
- testing-qa, tooling
调研方向
从 issue 中描述的 commandTests 执行路径和 setup entrypoint 行为开始,使用提供的 Debian Dockerfile 和 YAML 用例进行复现。比较直接命令、bash -c、source .bashrc 以及 setup entrypoints 的环境处理;当相关测试始终观察到 FOO=BAR 时即表示完成。
由索引模型根据 Issue 内容生成。
描述
Hi all.
First of all... great library, really like the simplicity of it.
We have a fairly rich docker container that makes heavy use of bash scripting to dynamically define env variables in the ~/,bashrc. After trying all kind of things for the last days I cannot get container structure tests to work in the context of the bashrc. Whatever I do, the env vars seem to be undefined.
Here's an example Dockerfile I wrote up:
FROM debian:buster
RUN echo "export FOO=BAR" >> /root/.bashrc
RUN echo "echo 'bashrc loaded!'" >> ~/.bashrc
# this is strictly seen not necessary, but it forces the bashrc to be always loaded, not just in interactive mode and suppresses a related warning:
ENV BASH_ENV=/root/.bashrc
These are my example tests - they all fail.
The output indicates that the .bashrc is actually loaded, but the actual test seems to run separately under a different context - FOO seems never defined in the test context and the output of $FOO is always blank.
schemaVersion: 2.0.0
commandTests:
- name: "echo FOO"
command: echo
args: [ "$FOO" ]
expectedOutput: [ "BAR" ]
- name: "echo FOO using bash -c wrapper and enumerated args"
command: "bash"
args:
- -c
- "echo $FOO"
expectedOutput: [ "BAR" ]
- name: "echo FOO using bash -c wrapper and string array args"
command: "bash"
args: ["-c", "echo $FOO"]
expectedOutput: [ "BAR" ]
- name: "echo FOO using bash -c wrapper, pipe and source .bashrc"
command: "bash"
args:
- -c
- |
source ~/.bashrc &&
echo $FOO
expectedOutput: [ "BAR" ]
I also tried to specify a custom entry point using setup: [["entrypoint.sh"]] with the same result.
entrypoint.sh:
#!/bin/bash
source /root/.bashrc
Any help is greatly appreciated!
We already wrote fair a bit of non-bash tests, but cannot use this framework without proper bash support :(
- 主要语言
- Go
- 星标
- 2.5k
- 派生
- 213
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
GoogleContainerTools/container-structure-test 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
-
allstar
难度 2/5 1-3 小时 新手友好度 65/100
GoogleContainerTools/container-structure-test#393 · 639 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
GoogleContainerTools/container-structure-test#280 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 45/100
-
Windows: structure_test binary missing .exe extension causes "Open With" dialog instead of running tests可能已有人在做 @peakschris 于 145 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 72/100
查看 GoogleContainerTools/container-structure-test 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
orchestration.migration.data.tasks.retry values are ignored by the 8.8 data migration job可能已有人在做 @irisfield 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
camunda/camunda-platform-helm#7773 ·
维护者通常 1 天内回复
-
Add missing unit tests for IsAdmissionPolicyName and IsCertManagerResourceName可能已有人在做 @a1h8 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
kubernetes-sigs/security-profiles-operator#3644 ·
维护者通常 1 天内回复
-
[Bug]: Anthropic Responses converter forwards empty text blocks, upstream rejects with 400可能已有人在做 @david-choi-querypie 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
[DOCS]: enforce_admins description understates what it covers and omits push restrictions可能已有人在做 @dav-tb 今天认领。 未关闭
难度 1/5 1 小时以内 新手友好度 78/100
integrations/terraform-provider-github#3707 · 1 条评论 ·
维护者通常 1 天内回复