mb.py seems to have an undocumented assumption that it's operating on a 2-level build directory in the old gyp format, e.g. out/Release. It fails when using on a single-level build directory.
I have a script that does something like:
$ mkdir -p $out_dir
$ gn gen $out_dir
$ ninja -C $out_dir browser_tests
$ ./tools/mb/mb.py isolate "//$out_dir" browser_tests
$ ./tools/swarming_client/isolate.py remap -s $out_dir/browser_tests.isolated \
-o ../snapshot_temp
which fails at line 4 (`mb.py isolate`) when outdir="out.tmp.linux":
> python tools/swarming_client/isolate.py check -i out.tmp.linux/browser_tests.isolate -s out.tmp.linux/browser_tests.isolated
> Failed to find an input file: Input file /usr/local/google/home/username/dev/c/work2/testing/test_env.py doesn't exist
> -> returned 1
Looking at out.tmp.linux/browser_tests.isolate, it references ../../ as well as ../ and ./ :
{'variables': {'command': ['../../testing/xvfb.py',
'.',
'./browser_tests',
'--brave-new-test-launcher',
'--test-launcher-bot-mode',
'--asan=0',
'--msan=0',
'--tsan=0'],
'files': ['../../testing/test_env.py',
'../../testing/xvfb.py',
'../chrome/browser/policy/test/asn1der.py',
'../chrome/browser/policy/test/policy_testserver.py',
...
Comment 1 by michae...@chromium.org
, Nov 23 2016Status: Duplicate (was: Untriaged)