Skip to content

history_server binary missing runfiles when executed from a java_test #1724

@Dig-Doug

Description

@Dig-Doug

🐞 bug report

Affected Rule

history_server or maybe the nodejs_binary logic handling runfiles.

Is this a regression?

Unsure.

Description

I am trying to start a history_server from within a java_test (to do an integration test). When I run the history_server on it's own, it works. When I run java_test using bazel run, it works. However, when I run the java_test using bazel test, it does not work, throwing an error about the runfiles manifest.

🔬 Minimal Reproduction

You can reproduce by cloning the changes here.

The integration test starts a local envoy proxy. You'll need to install envoy using https://www.getenvoy.io/install/envoy/ubuntu/

git clone https://github.com/Dig-Doug/rules_typescript_proto.git
git checkout a3c03faefa8e5a8d707b6ab8e3c0a0e1de71100e

# Passes
bazel run //test/integration:integration_test_chromium-local

# Fails
bazel test //test/integration:integration_test_chromium-local   

🔥 Exception or Error


internal/fs/utils.js:220
    throw err;
    ^

Error: ENOENT: no such file or directory, open '/home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/sandbox/linux-sandbox/9/execroot/rules_typescript_proto/bazel-out/k8-fastbuild/bin/test/integration/integration_test_chromium-local.sh.runfiles/MANIFEST'
    at Object.openSync (fs.js:440:3)
    at Object.readFileSync (fs.js:342:35)
    at Runfiles.loadRunfilesManifest (/home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/external/build_bazel_rules_nodejs/internal/linker/index.js:215:30)
    at new Runfiles (/home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/external/build_bazel_rules_nodejs/internal/linker/index.js:150:38)
    at /home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/external/build_bazel_rules_nodejs/internal/linker/index.js:495:24
    at /home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/external/build_bazel_rules_nodejs/internal/linker/index.js:12:17
    at Object. (/home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/external/build_bazel_rules_nodejs/internal/linker/index.js:18:3)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/home/doug/.cache/bazel/_bazel_doug/66f1d8f00dbe7c106bdccd1307aaea81/sandbox/linux-sandbox/9/execroot/rules_typescript_proto/bazel-out/k8-fastbuild/bin/test/integration/integration_test_chromium-local.sh.runfiles/MANIFEST'

🌍 Your Environment

Operating System:

  
Ubuntu
  

Output of bazel version:

  
Build label: 2.1.0
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Fri Feb 7 13:01:04 2020 (1581080464)
Build timestamp: 1581080464
Build timestamp as int: 1581080464
  

Rules_nodejs version:

  
1.4.1
  

Anything else relevant?

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Can Close?We will close this in 30 days if there is no further activity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions