What is the Isolate Project?Have every test executable list the data files it depends on, which allows the testers bots to only download the files they need instead of the whole Chromium source tree. What are the Advantages?By reducing the amount of data that we need to transfer to the tester machines, it becomes much easier to increase the number of tester bots that we have using Swarm (http://www.chromium.org/developers/testing/isolated-testing/swarm), which means that the Try Server and Continuous Integration masters' VMs will have shorter cycle times. How Can I Run Isolate Locally?Follow this simple recipe to build browser_tests with ninja in Release: ninja -C out/Release/browser_tests_runpython tools/swarm_client/isolate.py run -s out/Release/browser_tests.isolatedReplace the keywords accordingly for Debug or another test, e.g. out/Debug/base_unittests_run and out/Debug/base_unittests.isolated. Known issues:
Sections of the Isolate FileIsolate files use a subset of the GYP grammar, so they are valid commandThis is the command to execute in order to test this test executable. isolate_dependency_trackedIndividual files (they can't be directories or symlinks) that must be present (i.e. not an optional dependency) isolate_dependency_untrackedDirectories, symlinks or optional dependencies isolate_dependency_touchedThese are files whose presence is required by the test, but they aren't opened. It happens for example that a file is stat'ed but never opened. My Test Fails In Isolate Mode! Help!The only reason that tests should fail in isolate mode but pass when run normally is because they failed to list data files that they access. If you find another reason please contact isolate@chromium.org. To fix a broken test, the python tools/swarm_client/fix_test_cases.py -s out/Release/test_exe.isolated --gtest_filter=MyFailingTests*This updates the Simplifying .isolate filesBy default a directory is only included if all the files in it are needed. If most of the directory is used and you feel that it makes sense to make the full directory available to simplify the .isolate file, feel free to replace the individual listings with a single directory listing. Deployment Timeline
|
