cgrindel / bazel-starlib

Rules, macros, and APIs that are useful for the implementation of Bazel repositories.
Apache License 2.0
18 stars 2 forks source link

bzlformat_lint_test fails on windows due to createprocess issue #447

Open peakschris opened 3 months ago

peakschris commented 3 months ago

The bzlformat_lint_test fails on windows as bazel cannot create a process invoking a shell script. The solution is to wrap the sh in a bat and bazel can launch this.

A bat wrapper rule is complex to write and maintain but is available in aspect_bazel_lib

The error is:

INFO: From Testing //tests/shlib_tests/lib_tests/messages_tests:bzlformat_lint_test:
==================== Test output for //tests/shlib_tests/lib_tests/messages_tests:bzlformat_lint_test:
ERROR(tools/test/windows/tw.cc:1302) ERROR: src/main/native/windows/process.cc(202): CreateProcessW("D:\udu\b\356umzpb\execroot\_main\bazel-out\x64_windows-fastbuild\bin\tests\shlib_tests\lib_tests\messages_tests\bzlformat_lint_test.sh"): %1 is not a valid Win32 application.
 (error: 193)
ERROR(tools/test/windows/tw.cc:1479) Failed to start test process (arg: D:\udu\b\356umzpb\execroot\_main\bazel-out\x64_windows-fastbuild\bin\tests\shlib_tests\lib_tests\messages_tests\bzlformat_lint_test.sh)