| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Add nexe to isolate_driver.py.
R=vadimsh@chromium.org
BUG=415188
Review URL: https://codereview.chromium.org/574753004
Cr-Commit-Position: refs/heads/master@{#296991}
|
|
|
|
|
|
|
|
|
|
|
|
| |
generated files.
Right now it's adding a lot of other files that aren't needed to run the tests, which slows down the uploading and downloading steps when using component builds. Since this preprocessing step is only meant to add extra binaries that are the result of the component build, just whitelist .dll/.so/.dylib.
BUG=414808
Review URL: https://codereview.chromium.org/592143002
Cr-Commit-Position: refs/heads/master@{#296037}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would cause <(PRODUCT_DIR)/remoting/remoting.webapp to be mapped, while it
should have been <(PRODUCT_DIR)/remoting/remoting.webapp/. In any case, it's not
useful for isolate_driver.py to map directories, so skip these entries
completely.
R=vadimsh@chromium.org
BUG=
Review URL: https://codereview.chromium.org/581713002
Cr-Commit-Position: refs/heads/master@{#295313}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In that mode isolate_driver.py will collect all arguments needed for
isolate.py invocation into *.isolated.gen.json file, but won't actually
run the isolation itself.
It's a feature of isolate_driver.py. Isolate client itself knows nothing about
this mode.
BUG=389227
R=maruel@chromium.org
Review URL: https://codereview.chromium.org/555553002
Cr-Commit-Position: refs/heads/master@{#293885}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When run in a component build, isolate_driver recursively descends the
dependency graph to discover implicit shared library dependencies. A
bug in the recursion caused dependencies at certain depths in the
graph to be missed.
Also changed the recursion to use a set to record newly added
dependencies to avoid adding them to the isolate multiple times.
Expanded the ignored set of suffixes slightly.
BUG=378021
TEST=GLES2 conformance tests run via isolate in component build on Mac OS
R=maruel@chromium.org,vadimsh@chromium.org,csharp@chromium.org
Review URL: https://codereview.chromium.org/304993006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274023 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/270333002/)
Reason for revert:
Speculative revert. Maybe the cause of various bot failures involving "A .isolate file is required"
Logs:
http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests/builds/10820
http://build.chromium.org/p/chromium.win/builders/Vista%20Tests%20%283%29/builds/39788
Snippet from Linux Tests log:
/usr/bin/python
/mnt/data/b/build/slave/Linux_Tests/build/src/tools/swarming_client/isolate.py
run --isolated
/mnt/data/b/build/slave/Linux_Tests/build/src/out/Release/interactive_ui_tests.isolated
-v -- --no-cr --test-launcher-bot-mode
--gtest_output=xml:/mnt/data/b/build/slave/Linux_Tests/build/gtest-results/interactive_ui_tests/interactive_ui_tests.xml
--test-launcher-summary-output=/tmp/tmpldQYtj
[------ Swarming Error ------]
A .isolate file is required.
Traceback (most recent call last):
File
"/mnt/data/b/build/slave/Linux_Tests/build/src/tools/swarming_client/isolate.py",
line 1516, in main
return dispatcher.execute(OptionParserIsolate(version=__version__), argv)
File
"/mnt/data/b/build/slave/Linux_Tests/build/src/tools/swarming_client/third_party/depot_tools/subcommand.py",
line 242, in execute
return command(parser, args[1:])
File
"/mnt/data/b/build/slave/Linux_Tests/build/src/tools/swarming_client/isolate.py",
line 1251, in CMDrun
options, os.getcwd(), None, options.skip_refresh)
File
"/mnt/data/b/build/slave/Linux_Tests/build/src/tools/swarming_client/isolate.py",
line 863, in load_complete_state
raise ExecutionError('A .isolate file is required.')
ExecutionError: A .isolate file is required.
Original issue's description:
> isolate_driver: Enable ninja parsing code all the time.
>
> Split the ninja parsing code in its own file so that isolate_driver is focused
> on .isolate management.
>
> - This removes the need to specify the majority of binary runtime dependencies.
> Sadly, this means a few unrelated binaries are now pulled in, for example d8,
> libvpx_obj_int_extract and tls_edit. That's a maintenance/performance trade
> off.
> - Removed some dependencies for unit_tests.isolate to ensure this works.
>
> R=vadimsh@chromium.org
> BUG=368543
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=269140
TBR=vadimsh@chromium.org,maruel@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=368543
Review URL: https://codereview.chromium.org/272113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269163 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split the ninja parsing code in its own file so that isolate_driver is focused
on .isolate management.
- This removes the need to specify the majority of binary runtime dependencies.
Sadly, this means a few unrelated binaries are now pulled in, for example d8,
libvpx_obj_int_extract and tls_edit. That's a maintenance/performance trade
off.
- Removed some dependencies for unit_tests.isolate to ensure this works.
R=vadimsh@chromium.org
BUG=368543
Review URL: https://codereview.chromium.org/270333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269140 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It previously assumed foo_test was the target to process. This doesn't work in
cases where there is no foo_test target defined.
R=kbr@chromium.org
BUG=368543
Review URL: https://codereview.chromium.org/266923004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268409 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses a few assumption:
- This basically breaks non-ninja build for component builds. This never worked
anyway.
- This assumes the file format of .ninja files. This will likely be quite
obvious when this breaks.
- It makes some assumptions about the build steps, for example '.so.TOC' ->
'.so'.
On the other hand, it creates a deterministic dependency tree, which is awesome.
Technically it would work as well for non-component builds but I don't want to
go this far yet. But in the end, that's the goal that nobody has to enter the
binary dependencies in the .isolate files.
Was reverted in r263072, second try. Added a check to ensure the files added
exist and have the +x bit set.
TBR=vadimsh@chromium.org
BUG=360223,333473
Review URL: https://codereview.chromium.org/234433002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263240 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems to have busted Mac builds, e.g.,
http://build.chromium.org/p/chromium.mac/buildstatus?builder=Mac%20Builder%20%28dbg%29&number=65094:
FAILED: cd ../../net; export BUILT_PRODUCTS_DIR=/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/out/Debug; export CONFIGURATION=Debug; export PRODUCT_NAME=net_unittests_run; export SDKROOT=/Developer/SDKs/MacOSX10.6.sdk; export SRCROOT=/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/out/Debug/../../net; export SOURCE_ROOT="${SRCROOT}"; export TARGET_BUILD_DIR=/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/out/Debug; export TEMP_DIR="${TMPDIR}";python ../tools/isolate_driver.py check --isolated "../out/Debug/net_unittests.isolated" --isolate "net_unittests.isolate" --path-variable PRODUCT_DIR "../out/Debug " --extra-variable "version_full=36.0.1935.0" --config-variable "OS=mac" --config-variable "chromeos=0" --config-variable "component=shared_library" --config-variable "internal_gles2_conform_tests=0" --config-variable "icu_use_data_file_flag=1" --config-variable "libpeer_target_type=static_library" --config-variable "use_openssl=0" --extra-variable mac_product_name Chromium --ignore_broken_items
[------ Swarming Error ------]
File /Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/out/Debug/net_resources_target_net_resources_d558be7de16a8d003a6e7f7fae73e582 doesn't exist
Traceback (most recent call last):
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolate.py", line 1516, in main
return dispatcher.execute(OptionParserIsolate(version=__version__), argv)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/third_party/depot_tools/subcommand.py", line 242, in execute
return command(parser, args[1:])
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolate.py", line 1082, in CMDcheck
options, os.getcwd(), options.subdir, False)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolate.py", line 888, in load_complete_state
options.extra_variables, options.ignore_broken_items)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolate.py", line 762, in load_isolate
ignore_broken_items)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolate.py", line 63, in expand_directories_and_symlinks
indir, relfile, blacklist, follow_symlinks))
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolateserver.py", line 1450, in expand_directory_and_symlink
relfile, symlinks = expand_symlinks(indir, relfile)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/isolateserver.py", line 1358, in expand_symlinks
todo = file_path.fix_native_path_case(done, todo)
File "/Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/tools/swarming_client/utils/file_path.py", line 488, in fix_native_path_case
os.path.join(native_case_path, raw_part))
OSError: File /Volumes/data/b/build/slave/Mac_Builder__dbg_/build/src/out/Debug/net_resources_target_net_resources_d558be7de16a8d003a6e7f7fae73e582 doesn't exist
[----------------------------]
> Make isolate_driver.py process build.ninja and extract dependencies.
>
> This uses a few assumption:
> - This basically breaks non-ninja build for component builds. This never worked
> anyway.
> - This assumes the file format of .ninja files. This will likely be quite
> obvious when this breaks.
> - It makes some assumptions about the build steps, for example '.so.TOC' ->
> '.so'.
>
> On the other hand, it creates a deterministic dependency tree, which is awesome.
> Technically it would work as well for non-component builds but I don't want to
> go this far yet. But in the end, that's the goal that nobody has to enter the
> binary dependencies in the .isolate files.
>
> R=csharp@chromium.org
> BUG=360223,333473
>
> Review URL: https://codereview.chromium.org/228463003
TBR=maruel@chromium.org
Review URL: https://codereview.chromium.org/233743002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263072 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses a few assumption:
- This basically breaks non-ninja build for component builds. This never worked
anyway.
- This assumes the file format of .ninja files. This will likely be quite
obvious when this breaks.
- It makes some assumptions about the build steps, for example '.so.TOC' ->
'.so'.
On the other hand, it creates a deterministic dependency tree, which is awesome.
Technically it would work as well for non-component builds but I don't want to
go this far yet. But in the end, that's the goal that nobody has to enter the
binary dependencies in the .isolate files.
R=csharp@chromium.org
BUG=360223,333473
Review URL: https://codereview.chromium.org/228463003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263058 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Will have to implement a proper ninja parser to enable support for component
build.
NOTRY=true
TBR=csharp@chromium.org
BUG=360223,333473
Review URL: https://codereview.chromium.org/227683007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262187 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is very temporary to unblock using isolated testing with component builds.
It basically scans the dlls twice and removes the ones that changed size.
The proper solution is to use primitive ninja parsing.
R=csharp@chromium.org
BUG=360223,333473
Review URL: https://codereview.chromium.org/227093002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262155 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
It causes file sharing access issues.
TBR=scottmg@chromium.org
BUG=360223,333473
Review URL: https://codereview.chromium.org/226743002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261888 0039d316-1c4b-4281-b951-d872f2087c98
|
|
This tool will ultimately process the .ninja files, in the meantime it archives
all the DLLs. It's cheezy but this will unblock the component build short term.
This is very crude but this will get folks going. This means once it's done, we
can remove all the .isolate representing the dynamic libraries.
Remove swarming_client/ as a dependency in the .isolate files, it's not needed
anymore.
R=vadimsh@chromium.org
BUG=333473
Review URL: https://codereview.chromium.org/196283016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261652 0039d316-1c4b-4281-b951-d872f2087c98
|