Skip to content

sh_test does not work remotely on Windows #4962

Closed
@jasharpe

Description

Description of the problem / feature request:

sh_test rules (and probably others) do not work on Windows when using remote execution, due to a missing runfiles manifest file.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

On a Windows Server 2016 VM with Bazel 0.11.1 installed:

  1. Build and run Local Remote Worker:
$ cd $home
$ git clone https://github.com/bazelbuild/bazel.git
$ cd bazel
$ bazel build //src/tools/remote:worker
$ bazel-out/x64_windows-fastbuild/bin/src/tools/remote/worker.exe --listen_port=8080 --work_path=C:\tmp\lre --debug
  1. Create a Bazel directory with a simple shell test:
$ cd $home
$ mkdir bazel_test
$ cd bazel_test

Copy these files to there:
BUILD: https://gist.github.com/jasharpe/4566c496b222eaf45771ee815b1544e7
.bazelrc: https://gist.github.com/jasharpe/9edadeee13396b0efdddd6d21faeae3a
pass.sh: https://gist.github.com/jasharpe/70df48ca39a799825cc03099e9083086

  1. Demonstrate that it works locally:
$ cd $home\bazel_test
$ bazel --bazelrc=.bazelrc test --test_output=all :pass_test
  1. Demonstrate that it does not work remotely:
$ cd $home\bazel_test
$ bazel --bazelrc=.bazelrc test --test_output=all --config=remote :pass_test

The error printed is something like:

grep: /c/tmp/lre/build-e5526681-466d-4e6b-b5a4-a774ea7e3238/bazel-out/x64_windows-fastbuild/bin/pass_test.exe.runfiles/MANIFEST: No such file or directory
external/bazel_tools/tools/test/test-setup.sh: line 230: : command not found

Indeed if you check this directory, it does not contain a file called MANIFEST:

 ls C:\tmp\lre\build-e5526681-466d-4e6b-b5a4-a774ea7e3238\bazel-out\x64_windows-fastbuild\bin\pass_test.exe.runfiles\


    Directory:
    C:\tmp\lre\build-e5526681-466d-4e6b-b5a4-a774ea7e3238\bazel-out\x64_windows-fastbuild\bin\pass_test.exe.runfiles


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         4/3/2018   6:24 PM                __main__

What operating system are you running Bazel on?

Windows Server 2016 (1709)

What's the output of bazel info release?

release 0.11.1

If bazel info release returns "development version" or "(@non-git)", tell us how you built Bazel.

N/A

What's the output of git remote get-url origin ; git rev-parse master ; git rev-parse HEAD ?

N/A

Have you found anything relevant by searching the web?

Closest thing seems #1593 and #2296 but I'm not sure it's the same problem, and both were closed a while ago.

Any other information, logs, or outputs that you want to share?

Replace these lines with your answer.

If the files are large, upload as attachment or provide link.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions