bazel-contrib / bazel-contrib/rules_python
native_test + py_binary + Windows
- 主要语言
- Starlark
- 星标
- 688
- 派生
- 721
- 平均合并
- 15 小时 7 分钟
- 30 天内合并 PR
- 76
描述
# 🐞 bug report
### Affected Rule
The issue is caused by the rule: `py_binary`
### Is this a regression?
I don't believe so, although `native_test` was introduced specifically to support Windows (https://github.com/bazelbuild/bazel-skylib/issues/148), so it's surprising that it fails on this OS.
### Description
Attempting to run a `native_test` wrapping a `py_binary` on Windows produces errors.
## 🔬 Minimal Reproduction
https://github.com/bazelbuild/rules_python/pull/2516 introduced a new test in `examples/bzlmod`, `//py_proto_library:external_import_test`. This test is marked incompatible with Windows (via `target_compatible_with`) because it fails on Windows.
## 🔥 Exception or Error
https://buildkite.com/bazel/rules-python-python/builds/10080#0193e584-8c2e-4cf4-8c53-9f339641422d
C:/b/7bjinhbd/external/rules_python~~python~python_3_9_x86_64-pc-windows-msvc/python.exe: can't open file 'C:\b\7bjinhbd\execroot\_main\bazel-out\x64_windows-fastbuild\bin\py_proto_library\external_import_test.exe.runfiles\_main\py_proto_library\external_import_test.zip': [Errno 2] No such file or directory
贡献指南
调研方向
从 examples/bzlmod 中与 Windows 不兼容的测试 //py_proto_library:external_import_test 开始,并复现 native_test 包装 py_binary 时的失败。将生成的 runfiles 路径与报告错误中缺失的 .zip 路径进行比较;完成的标准是测试在 Windows 上成功运行,且未被 target_compatible_with 排除。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python
- 领域
- build-system, operating-systems, testing
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100