)]}'
{
  "log": [
    {
      "commit": "7cf6c58ed90d827dd9b85020219eced5d8c8ae78",
      "tree": "a0da2d477a14055959e9cbcfa15e5673cc04f9ff",
      "parents": [
        "d4e07aac5b8774545d848b2907664a01ae00568f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jul 20 16:56:06 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 05 10:53:06 2021 +0000"
      },
      "message": "Move run-test compilation to soong.\n\nRun-test compile many java files (sometimes in very specific ways).\nCompile them just once in soong, instead of every time we run a test.\n\nThis makes local host tests 4x faster (21min -\u003e 6min).\nI expect similar or better improvement on LUCI.\n\nIt does not affect eng-prod tests now, but the generated output\nshould be reusable to make more run-tests supported in eng-prod.\n\nBug: 147814778\nTest: test.py -r --host --target --jvm\nChange-Id: If689784d2a8d901d132ed0d674a2e2be36f1cd05\n"
    },
    {
      "commit": "816b0da3ef7a2fffeda087917353646b3d48fd62",
      "tree": "409402e7f6a9f5bf2c2268eb7f077b60f20d74c0",
      "parents": [
        "2658a0775f45da9e797a5901298887a1a4b8a4c8"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 03 13:25:50 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Sep 20 13:42:35 2021 +0000"
      },
      "message": "ART: Enables Debugging with LLDB for dex2oat.\n\nCurrently, there is not a flag present to enable debugging the dex2oat\ncompiler on host. Therefore, because we want to be able to debug the\ndex2oat compiler when testing, this patch adds two flags,\n\"--gdb-dex2oat\" and \"--gdb-dex2oat-args\". As a result, when the\n\"--gdb-dex2oat\" flag is present in a test command, it will\nrun LLDB on dex2oat.\n\nNote that to be compliant with the current naming convention,\nthe relevant variable names include the \"GDB\" prefix instead of \"LLDB\".\n\nAdditionally, we can pass arguments that are delimited by a semi-column\nto LLDB with \"--gdb-dex2oat-args\", e.g.\n\"--gdb-dex2oat-args\u003d\u0027-X\u0027\".\n\nNote that this patch does not enable dex2oat debugging on target.\n\nTest: art/test.py -v -j12 --host --64  -t 554-checker-rtp-checkcast\\\n      --run-test --optimizing --gdb-dex2oat\n\nChange-Id: I392a57a41a90550cc5dc766ee9f148327a9c21d2\n"
    },
    {
      "commit": "1b621225a8869f930d530e4855157a444971aca1",
      "tree": "9885c16405db986e26419e4d0e001ab0c5fd48b1",
      "parents": [
        "fc42ce1a2b013059b7868ffc69d35fade6c5b743"
      ],
      "author": {
        "name": "Stelios Ioannou",
        "email": "stelios.ioannou@linaro.org",
        "time": "Thu Jun 17 14:15:45 2021 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 22 13:07:21 2021 +0000"
      },
      "message": "ART: Implements a test option of forced generation of .cfg\n\nThis patch introduces the option to dump .cfg for any type of test. If\nthe \"--dump-cfg \u003cpath/graph.cfg\u003e option\" is present, then it generates\na .cfg following the same logic used for the \"checker\" tests but\nforcing it for any type of test. This option works for both host and\ntarget.\n\nBefore the artifacts are wiped, the generated .cfg file is copied to\nthe specified host path.\n\nNote that it will only dump a .cfg if the compiler type is set to\n\"optimizing\". Otherwise, it will throw a warning.\n\nTest: ./art/test/run-test  --host --simulate-arm64  --optimizing \\\n--dump-cfg \u003cpath\u003e/graph.cfg  \u003ctest\u003e\n\nChange-Id: I034b13b401bd1dee8d871297da8d09e807a35fd1\n"
    },
    {
      "commit": "ca15b8d4b05e374569fd98599b5c395b4aa655c7",
      "tree": "ab72586d846136b64ab2af8556e794893eb41780",
      "parents": [
        "2ce26fd4a022090e8613b8e2555f2c5e3be018c5"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 23 12:25:08 2021 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 20 22:22:29 2021 +0000"
      },
      "message": "testrunner.py: Add --build-only and --skip-build options.\n\nThe build stage is more expensive than the test stage\nand we do it redundantly repeatedly for all variants.\n\nMake it possible to separate the build and test stages,\nwhich will allow us to do the build just once on buildbots.\n\nThe proper solution is to move all the build work to soong,\nand we will be able to remove this code again at that point.\n\nBug: 188631922\nTest: testrunner.py --host --build-only \u0026\u0026 \\\n      testrunner.py --host --skip-build\nChange-Id: I542feac03acc25a853dbf7f1a2e5587a2c5d6d7a\n"
    },
    {
      "commit": "0108f0d5c1e820d3a4bb0d90aad989b89e28784a",
      "tree": "90ee7820c08edc689bea888e6cf56cabb66fa11f",
      "parents": [
        "9a5a2b817c53fe86b0ebbc9390a97e7c5acbb44e"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun May 09 21:56:04 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon May 10 11:02:49 2021 +0000"
      },
      "message": "Use only one core on fugu by default.\n\nMake the current buildbot setting the default so\nthat we can remove the setting from the buildbot.\n\nTest: \"testrunner.py --host\" and check the concurrency\nTest: \"testrunner.py --target\" and check the concurrency\nChange-Id: I0293d00e7ace1087341a387802a1b2bfeb1cb719\n"
    },
    {
      "commit": "fd7044dd3a6b21e817b2d5859a1446213b69a9c4",
      "tree": "83e509e876c8c002badba2ca9524a53f860ab5c2",
      "parents": [
        "c3a152e7b93fc80b0871edaabaed5227559a52e7"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Apr 27 16:01:17 2021 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Apr 28 19:59:45 2021 +0000"
      },
      "message": "Make it easier to interrupt testrunner.py with Ctrl-C.\n\nCtrl-C now kills the ongoing tests and cancels the remaining ones.\n\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing -j4\nBug: 186530369\nChange-Id: I5dbd6932529a4902f4f03e5a36fe3aa8602ea4a6\n"
    },
    {
      "commit": "e1d170683b7f61f0c86c45b110889a999725c7a4",
      "tree": "481ae21f3ea10acf5806a9d0873d0e8918173924",
      "parents": [
        "ab474e3eebfcf502b356b1fd18c1ca34c5e39688"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 20 16:41:29 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 20 17:52:13 2021 +0100"
      },
      "message": "Revert^2 \"Use only half of the cores in testrunner by default on target.\"\n\nThis is what we currently do on buildbots to avoid timeouts.\nSet the appropriate default here and let the buildbots use the default.\n\nThis will make it device independent so we don\u0027t have to hard-code the\nvalue on buildbot (in case device with different core count is used).\n\nIt will also make it easier to investigate the timeouts in the future,\nhopefully allowing us fully utilize the devices on the build bots.\n\nAllow the user to specify -j0 to explicitly use the default.\n\nBug: 142039427\nTest: test.py on target\nChange-Id: Ic595b411f6e5be51ca407fdb275d2481e44052b5\n"
    },
    {
      "commit": "ab474e3eebfcf502b356b1fd18c1ca34c5e39688",
      "tree": "5407220880e43122c9636fcc1cae42abfd1fceca",
      "parents": [
        "f663b341e1b16dcfa3839570e17a1b6725a93d1d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 20 16:33:51 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 20 16:40:55 2021 +0000"
      },
      "message": "Revert \"Use only half of the cores in testrunner by default on target.\"\n\nThis reverts commit ea1a849fda20e5110ab1073355036c1ad56597af.\n\nReason for revert: Fails on buildbot\n\nChange-Id: Iff330c6482781ea1be11431186dbb6abe7496b2b\n"
    },
    {
      "commit": "a9fed15c697d67bfbd2131d090a876145ad33910",
      "tree": "650501766f6cc2ad3819fae6c2ecfb9758470fce",
      "parents": [
        "e0bbed9177900c67dfba6ab286432f3c421c92d1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 16 15:00:47 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Apr 20 14:47:39 2021 +0000"
      },
      "message": "Add installclean step to buildbots\n\nThere can be leftover files from previous incremental build.\nThis is usually harmless, since we rebuild everything we use.\n\nHowever, in some cases, presence of stale files can be confusing.\nFor example, if test does not need dex2oat, but will use one if\npresent (which might be stale now), or if we there are libraries\nin the build which have been deleted in previous CLs.\n\nBug: 133142426\nTest: ./art/test/testrunner/run_build_test_target.py art-jit\nChange-Id: Iede85b568a7c56de4dc80f488fe09772ee767a37\n"
    },
    {
      "commit": "ea1a849fda20e5110ab1073355036c1ad56597af",
      "tree": "17d5b12e6ecea27bbf168c83b49ad0f0f3bb4a99",
      "parents": [
        "ba0ef1a3e7ee1173b5928ce40b9c2a6b780fffb4"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Apr 16 10:30:33 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Apr 19 21:11:15 2021 +0000"
      },
      "message": "Use only half of the cores in testrunner by default on target.\n\nThis is what we currently do on buildbots to avoid timeouts.\nSet the appropriate default here and let the buildbots use the default.\n\nThis will make it device independent so we don\u0027t have to hard-code the\nvalue on buildbot (in case device with different core count is used).\n\nIt will also make it easier to investigate the timeouts in the future,\nhopefully allowing us fully utilize the devices on the build bots.\n\nAllow the user to specify -j0 to explicitly use the default.\n\nBug: 142039427\nTest: test.py on target\nChange-Id: Ic7018c1a3239db25de148543bead62db16d02829\n"
    },
    {
      "commit": "381d35c1b01401e193544f679bfaf4f5c197f7cd",
      "tree": "5673582c62d2fbf4390f06cb151c5ee8d62704b3",
      "parents": [
        "f5f7e12172194ec2c6a7f70eeea936c5edf7c355"
      ],
      "author": {
        "name": "Artem Serov",
        "email": "artem.serov@linaro.org",
        "time": "Wed Feb 10 21:27:00 2021 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Feb 17 14:18:04 2021 +0000"
      },
      "message": "ARM: Adjust timeout for ARM FVP runs.\n\nIncreases timeouts for ARM FVP runs as on FVP it\nmay take significally longer to finish the test (due\nto emulation). Also rename the environment variable.\n\nTest: art tests on FVP (steps in test/README.arm_fvp.md)\nChange-Id: I0890dd85697bf901538694d28db3ffdd1bd4e0c4\n"
    },
    {
      "commit": "fbdda07e7bbf7d835356d98a3ca294e5d2a160e7",
      "tree": "4422d2bd7fa177c238a798aef405c71c7e4230ce",
      "parents": [
        "f7fcb98ab4740db9d9d8ed7652b89928a2e56f60"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Nov 20 00:13:24 2020 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Thu Nov 26 17:50:27 2020 +0000"
      },
      "message": "Remove TODOs that won\u0027t be addressed.\n\nThe intention was to make TARGET_BUILD_UNBUNDLED work in a full\nplatform tree as well, to be able to remove the conditional that checks\nfor framework/base. However, there is other logic in Soong that checks\nthat directory and the combination doesn\u0027t work well. It\u0027s not worth\nthe effort to sort that out.\n\nTest: N/A - comment changes only\nBug: 159109002\nChange-Id: Ib20fab3ddc24bc0429602275b094f4209e845faa\n"
    },
    {
      "commit": "5439f051a950f0281eeafb8e8064839f2aea6e38",
      "tree": "889efef779fa462357f77cb2166c600cb0d60679",
      "parents": [
        "483bf78ae61ab43a3d513cef0de0072e86d0b0b1"
      ],
      "author": {
        "name": "Ulya Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 10:03:46 2020 +0100"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Wed Jul 29 13:58:15 2020 +0000"
      },
      "message": "Revert^3 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit e886d68b9c40c941d8966b9c90d0e265c75fb19e.\n\nReason for revert: simulator implemention is not ready yet.\n\nTest: lunch aosp_cf_x86_phone-userdebug \u0026\u0026 m\nTest: art/test.py --run-test --optimizing --host\nChange-Id: I03c8c09ea348205b0238d7a26caef3477cd6ae3b\n"
    },
    {
      "commit": "e886d68b9c40c941d8966b9c90d0e265c75fb19e",
      "tree": "ad78c4e375c95a96e200baa2786e748505ab928b",
      "parents": [
        "f12dd5861e0eaf1822c12137fd353b5e79761a6c"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 15:09:38 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Fri Jul 17 11:04:27 2020 +0000"
      },
      "message": "Revert^2 \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 3060bb919cd2f37c6a97e87c1581ac5294af72b3.\n\nReason for revert: relanding original change. The fix is setting\n`device_supported: false` for libart(d)-simulator module in the .bp\nfile (`m checkbuild` attempted to build it for arm32 and failed).\nOriginal commit message:\n\nVIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas caused the following increase of the APEX size (small, about 0.13%\nfor release APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nChange-Id: I461c80aa9c4ce0673eef1c0254d2c539f2b6a8d5\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n"
    },
    {
      "commit": "3060bb919cd2f37c6a97e87c1581ac5294af72b3",
      "tree": "6a2b517812ff83cd10cc3b055635d0746157b345",
      "parents": [
        "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96"
      ],
      "author": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 14:17:11 2020 +0000"
      },
      "message": "Revert \"VIXL simulator for ART (Stage1)\"\n\nThis reverts commit 48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96.\n\nReason for revert: broken build 6685551 on aosp-master on full-eng\nBug: 161440641\n\nChange-Id: I849fe53f56c4786f0f2a1605cbfd215559f11072\n"
    },
    {
      "commit": "48ca6a681efe1fa1cf82d8af918bf9bbfd35ae96",
      "tree": "87ff5251f8f843e64e3f3632c423856ba14ceadf",
      "parents": [
        "cfea667ed9bfbdd21bf9812d1598603fc359d2e1"
      ],
      "author": {
        "name": "Xueliang Zhong",
        "email": "xueliang.zhong@linaro.org",
        "time": "Thu Mar 07 14:48:55 2019 +0000"
      },
      "committer": {
        "name": "Ulyana Trafimovich",
        "email": "skvadrik@google.com",
        "time": "Thu Jul 16 13:31:48 2020 +0000"
      },
      "message": "VIXL simulator for ART (Stage1)\n\nQuick User Guide: test/README.simulator.md\n\nThis CL enables running ART run-tests in a simulator on host machine.\nSome benefits of using this simulator approach:\n- No need to use a target device at all.\n  Save developers from solving the device troubles: build, flash, usb,\n  adb, etc.\n- Speed up development/debug/test cycle.\n- Allows easy debugging/testing new instruction features without real\n  hardware.\n- Allows using a smaller AOSP Android manifest master-art.\n\nThe Stage1 CL provides support for running 30% of current run-tests.\nThe rest unsupported test cases are kept in knownfailures.json.\n\nFuture work will be supporting proper stack frame layout between\nsimulator and quick entrypoints, so that stack walk,\nQuickArgumentVisitor, deoptimization, etc can be supported.\n\nThis CL adds libart(d)-simulator-container library to the ART APEX. It\nhas cause the following increase of the APEX size (small, about 0.13% for\nrelease APEX, measured for target aosp_arm64-userdebug):\n Before:\n   88992 com.android.art.debug.apex\n   51612 com.android.art.release.apex\n  112352 com.android.art.testing.apex\n After:\n   89124 com.android.art.debug.apex\n   51680 com.android.art.release.apex\n  112468 com.android.art.testing.apex\n\nTest: art/test.py --run-test --optimizing --simulate-arm64\nTest: art/test.py --run-test --optimizing --host\nTest: m test-art-host-gtest\n\nChange-Id: I078812dde9aaf7128d9f262b2102251927596b7f\n"
    },
    {
      "commit": "65e2140ea2bd79367f15a9edf2d2a6bd70ad394e",
      "tree": "865885b0944758466a9013560f04238c2455c7d5",
      "parents": [
        "3caa05d71d590dab1436c20424b4d4ac4f0cde34"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 29 13:55:39 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 30 18:48:44 2020 +0100"
      },
      "message": "Remove option `--build-target` from `test/testrunner/testrunner.py`.\n\nThese days, the only supported way to build/test target configurations\ndefined in `test/testrunner/target_config.py` seems to be via script\n`test/testrunner/run_build_test_target.py`.\n\nThe `--build-target` option of script `test/testrunner/testrunner.py`\ndoes not seem to be used anywhere and creates some confusion with the\nlogic in script `test/testrunner/run_build_test_target.py`.\n\nTest: Rely on `master-art-host` build/test targets.\nChange-Id: Ib4ac6ae9ce4d04cb33f2fba04f2a180e45bce7f1\n"
    },
    {
      "commit": "93e4df7eac750db34ed99d691cc5c251fb80a107",
      "tree": "f24430221cb4ce3bec22de57592791a10a8d8432",
      "parents": [
        "8c7e219c4b92e8005448be0f9126df80c35ffd0a"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 29 13:33:56 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 29 18:49:47 2020 +0000"
      },
      "message": "Add option `--dist` to `test/testrunner/testrunner.py`.\n\nWhen invoked with this option, `test/testrunner/testrunner.py` adds\n`dist` to the build command line (if any).\n\nAlso, have `test/testrunner/run_build_test_target.py` pass `--dist` to\n`test/testrunner/testrunner.py` for the case of run-tests, when the\n`DIST_DIR` environment variable is set.\n\nTest: Rely on `master-art-host` build/test targets.\nBug: 157656545\nChange-Id: I30a5a2971494553708c358c1429249f69721da87\n"
    },
    {
      "commit": "22831a3e955fcd1afe7cdb5b16d174ba4cc1ab64",
      "tree": "cb75977b4f5a52dd879ac7427765dc9f301b46e3",
      "parents": [
        "53b17f94405b42dc4ab4a128176af68cad39b1e9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 29 13:31:28 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 29 13:31:28 2020 +0100"
      },
      "message": "Print the build command in `test/testrunner/testrunner.py` (if any).\n\nThis is to make debugging easier in general.\n\nTest: Check build logs on `master-art-host` build/test targets.\nChange-Id: Id8126113ae45b0045c298c14d374e2528eff4752\n"
    },
    {
      "commit": "69069108ff1bc6a718e272c51b1efb22518062d8",
      "tree": "3195d96ae4504ef4ab721aabc5483018bc7ea2f8",
      "parents": [
        "ac048ae9ca98e60f4923cd7900bfeff604c4a5f4"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jun 16 13:26:40 2020 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 24 14:11:35 2020 +0000"
      },
      "message": "Enable TARGET_BUILD_UNBUNDLED in master-art (reland).\n\nThis is the way to disable assumptions in the build system that a full\nsystem image is to be built.\n\nSoong internally checks for the absence of frameworks/base to detect a\nreduced master-art tree and disable some dependencies. That check is at\nodds with TARGET_BUILD_UNBUNDLED\u003dtrue, so for now let\u0027s enable\nTARGET_BUILD_UNBUNDLED only on the same condition.\n\nThis relands https://r.android.com/1337182 with changes in two\ntestrunner scripts that were missed.\n\nTest: art/tools/buildbot-build.sh --host\n  on AOSP master and master-art\nTest: art/tools/buildbot-build.sh --target\n  on AOSP master and master-art\nTest: m installclean \u0026\u0026 art/build/apex/runtests.sh\n  on AOSP master and master-art\nTest: rm -rf out \u0026\u0026 \\\n      art/test/testrunner/run_build_test_target.py art-linux-bionic-x64\n  on AOSP master and master-art\nTest: art/test/testrunner/run_build_test_target.py art-test\n  on AOSP master and master-art\nTest: art/test/testrunner/testrunner.py --target --64 --optimizing \u0026\u0026 \\\n      art/tools/run-gtests.sh\n  in test chroot on device\n  on AOSP master and master-art\nTest: art/tools/golem/build-target.sh \\\n      --machine-type\u003dandroid-armv8 --golem\u003dart-jit\n  on AOSP master and master-art\nBug: 159109002\nBug: 157549171\nChange-Id: Ie98af1098ea1132d3db7ed0a8bf47b54e0848e57\n"
    },
    {
      "commit": "6355d6932a9e8267b3025f4061583f5610e64e54",
      "tree": "5531fe626119b7b6f4015fd3fa1f627c6846aa9c",
      "parents": [
        "fa915c920f07a794f06a9bee47513dc5f303d019"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Mar 26 14:10:26 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sat May 30 13:58:29 2020 +0000"
      },
      "message": "Remove core.art image\n\nIt is no longer used.\n\nTest: ./art/test.py -r --optimizing\nBug: 147817558\nBug: 147819342\nChange-Id: I913d7b78365d028bfcd9d876238882ebfd410682\n"
    },
    {
      "commit": "8bcba2264f5ba66ef8820e3963e838a67bd6215f",
      "tree": "8289c1fac91cb39a94a945eab374c2541d5429fe",
      "parents": [
        "e84f53e694b858b3155b7e99ff0d5ea60bf76e03"
      ],
      "author": {
        "name": "Evgeny Astigeevich",
        "email": "evgeny.astigeevich@linaro.org",
        "time": "Mon May 18 13:06:37 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 18 15:09:51 2020 +0000"
      },
      "message": "ART: Fix infinite recursion in testrunner parse_test_name\n\nIn CL https://android-review.googlesource.com/c/platform/art/+/1309557\nthe code of parse_test_name which parses a test name was extracted into\nextract_test_name. However parse_test_name call itself instead of\nextract_test_name. This causes infinite recursion. As a result it\nis not possible to run a single test.\n\nThis CL fixes the bug.\n\nTest: test/testrunner/testrunner.py -v --target --ndebuggable -t test-art-target-run-test-debug-prebuild-optimizing-no-relocate-ntrace-cms-checkjni-picimage-ndebuggable-no-jvmti-cdex-fast-411-checker-hdiv-hrem-const64 --64\nTest: test.py --target --optimizing\nChange-Id: Ic5930e429b3377f96f8c12c0effe7a18d5cde1b3\n"
    },
    {
      "commit": "aba509f1624de7fd68409508d7c1600308a4ccc3",
      "tree": "4c19a85546a459cdddc67e471991890bbc8a5811",
      "parents": [
        "e050f588c0079fe566c058ee2db1c158ed2d0e5e"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue May 12 15:19:52 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 13 02:21:51 2020 +0000"
      },
      "message": "Add a --csv-results flag to testrunner\n\nAdd a --csv-results \u003cfile.csv\u003e flag to testrunner that testrunner will\nwrite the results of the test to. This can be used to perform\nanalysis on the set of tests that failed or passed later.\n\nTest: ./test/testrunner/testrunner.py --host --redefine-stress --jni --cms --all --csv-results bad-64.csv -t 101\nTest: sqlite3 results.db\nSQLite version 3.28.0 2019-04-16 19:49:53\nEnter \".help\" for usage hints.\nsqlite\u003e .mode csv\nsqlite\u003e .import bad-64.csv results\nsqlite\u003e select * from results where result\u003d\"FAIL\" limit 4;\nhost,ndebug,prebuild,interpreter,no-relocate,ntrace,cms,jni,picimage,ndebuggable,redefine-stress,cdex-none,101-fibonacci,64,FAIL\nhost,ndebug,prebuild,interpreter,no-relocate,ntrace,cms,jni,picimage,ndebuggable,redefine-stress,cdex-fast,101-fibonacci,64,FAIL\nhost,ndebug,prebuild,interpreter,relocate,ntrace,cms,jni,picimage,ndebuggable,redefine-stress,cdex-none,101-fibonacci,64,FAIL\nhost,ndebug,prebuild,interpreter,relocate,ntrace,cms,jni,no-image,ndebuggable,redefine-stress,cdex-fast,101-fibonacci,64,FAIL\n\nChange-Id: I52ae26c2a757671d640ad22b2c6b7642b994ee39\n"
    },
    {
      "commit": "9b78924a29f9eedc8eaf4d3b173d4f0567cb7504",
      "tree": "8b67f20d8bc8f4a2c68692a735465e4c9d9ca830",
      "parents": [
        "cc82f79174c0afb3c1974d7926678b2cfef0835f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 21 19:06:51 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Apr 23 20:59:17 2020 +0000"
      },
      "message": "Fix execution with RI in ART `testrunner.py` script.\n\nBefore this change, when the `art/test/testrunner/testrunner.py`\nscript was invoked only with option `--jvm`, no test would be run.\n\nTest: art/test/testrunner/testrunner.py --jvm\nBug: 129406631\nChange-Id: I92c85f5131d547fa9e3c6c47c82aa533a62a3f3e\n"
    },
    {
      "commit": "d6b07c53088f3b9a75a5df4b3128b7497c7a70e4",
      "tree": "3d96f79c9b831ee854b20a1aefb3399e2a1d33dd",
      "parents": [
        "23369542f187d97544a27ee31b9ee5cad2146c32"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@fb.com",
        "time": "Tue Mar 03 20:02:26 2020 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 05 18:14:57 2020 +0000"
      },
      "message": "ART: Enable testing on non-UTF-8 platform\n\nSome of the test files use UTF-encoded sources. Ensure that javac\nknows that instead of picking up the encoding of the host platform.\n\nEnsure that testrunner reads test output with the correct\nencoding.\n\nTest: art/test/testrunner/testrunner.py -b --host -j 20 -t 2005\nChange-Id: I4fe38fd32a12edcae56a7ba559df5828f0992428\n"
    },
    {
      "commit": "f92f6f12f3be976afb8f2ac8e8bbeaef72ef8b33",
      "tree": "172d92f23364dab93e94ef003d38f8a72dbf0062",
      "parents": [
        "0aa02069a224384f0c6a8d78c3465290b61bdf67"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 26 12:37:14 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 26 12:56:54 2019 -0800"
      },
      "message": "Skip 909 \u0026 126 with zipapex\n\nTests 909 and 126 fail on zipapex due to their \u0027run\u0027 scripts doing\nnon-standard things. Add support for run-test skipping based on a\n\u0027zipapex\u0027 selector and add these tests to the skip list.\n\nTest: ./test/testrunner.py --no-build-dependencies --runtime-zipapex \u003cpath\u003e -t 909 -t 910\nBug: 135507613\nChange-Id: I75c103f90d73c8703649e9370c9dfc8059dd858d\n"
    },
    {
      "commit": "9965feffb2f55ff1e6dfacd396f65e642c22b799",
      "tree": "e90f112521b2484897dfe22bc53b3d5098ecd314",
      "parents": [
        "ffc791c748dd28cc6bc7fff825b3c1b7af96abb3"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 19 09:23:16 2019 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 19 09:25:20 2019 +0000"
      },
      "message": "Revert \"Temporary hack: Also print extra backtraces on test timeouts on host.\"\n\nThis reverts commit 25d536e67fc69e0413298989f1b21b6fdcece682.\n\nReason for revert: build infra does not have python 3.5, so subprocess.run().\nBug: 142039427\nBug: 144333851\nBug: 144360582\n\nChange-Id: Ide90b3e78a458f6c941c1e36b4f5fb084259f5b1\n"
    },
    {
      "commit": "25d536e67fc69e0413298989f1b21b6fdcece682",
      "tree": "fa497dbf5ce019cca5c7e84c51a4bba86373f39b",
      "parents": [
        "fcd5a282ceaa6ff4573cb9d08b7e359684943cb2"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Nov 15 13:43:50 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Nov 18 18:02:57 2019 +0000"
      },
      "message": "Temporary hack: Also print extra backtraces on test timeouts on host.\n\nThere is no `debuggerd` on host, and `gdb` may require root\npermissions to run `ptrace()`. Send `SIGQUIT` to ART to ask it to dump\ninformation via its signal handler instead.\n\nTest: Rely on the Android Build (master-art-host) and the ART Buildbot.\nBug: 142039427\nBug: 144333851\nBug: 144360582\nChange-Id: I7d057015d27234c5c2db68c15e1d0103b1c0a9d9\n"
    },
    {
      "commit": "47c4ccdee17fd6f814b23fc6342498627cb448ab",
      "tree": "138a453553ecfefbbca7e3a2d8538f04f75c1ad8",
      "parents": [
        "35cffd6e9befc4dc288d8661e196f765b1205a6b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Oct 20 19:48:47 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Sun Oct 20 23:17:22 2019 +0000"
      },
      "message": "Temporary hack: Tweak extra process info on test timeout.\n\nI am worried debuggerd might be affecting process status.\n\nBug: 142039427\nTest: Test the code path locally with very low timeout.\nChange-Id: Iadac9fbe379c798bfc7020cef411e6e6cfc90cc4\n"
    },
    {
      "commit": "76a37458ee823202504dcff3dc95f19957a726a3",
      "tree": "46ae0a43d1a6648e7dd40d5a6f948feeb04b9400",
      "parents": [
        "db55a1121b2437765e732c8bbedf914f8a52f624"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 18 18:34:54 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 18 18:52:15 2019 +0100"
      },
      "message": "Temporary hack: Print extra process info on test timeout.\n\nAttempt to figure out what is happening on the buildbots.\n\nBug: 142039427\nTest: Test the code path locally with very low timeout.\nChange-Id: I96dd7df11241196a82fa26b4f8b19133176b712c\n"
    },
    {
      "commit": "2bd8bfd716d4b07d7df017596af7b8394006cf38",
      "tree": "9ed086f67e299151d9d488e9edf00139d4121c1b",
      "parents": [
        "4d319c7a2a5473d86a8db6afd14a6dda47c84697"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 17 15:49:03 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 17 18:32:01 2019 +0000"
      },
      "message": "Temporary hack: Print extra backtraces on test timeout.\n\nAttempt to figure out what is happening on the buildbots.\n\nBug: 142039427\nTest: Test the code path locally with very low timeout.\nChange-Id: Ia4db2a7082a49a36c357eed1bd25200dcca3c41d\n"
    },
    {
      "commit": "aaac8d26d10454492fc404466b055a01f9a048aa",
      "tree": "834f911e78a89f72918bce6682fa4f754b72347b",
      "parents": [
        "52c7e98efe104bfe77b07f7c2c8c778996db02f4"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Oct 10 13:04:36 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Oct 11 16:33:12 2019 +0000"
      },
      "message": "ART: add devices option to test/knownfailures.json\n\nAdds devices field to records in knownfailures.json and uses it to\ndisable 137-cfi for fugu.\n\nBug: 142365899\nTest: manual on taimen disabling and re-enabling using devices entry\nChange-Id: I9a059ae1fe2dda04ba2b64f147cf82660ababe62\n"
    },
    {
      "commit": "97421fd3f780baf9dfcffdd2b86ded33481d272c",
      "tree": "770e50af6662a6159f551e32104538d5d9f66a3c",
      "parents": [
        "6c6369e6c182e83c2611b20b0ec492c6225a7b97"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 07 11:41:02 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Mon Oct 07 13:39:28 2019 +0000"
      },
      "message": "Add temporary time logging\n\nDiagnosing testing issues.\n\nBug: 138868214\nTest: Check the verbose output with very low timeout\nChange-Id: I02f51c7958dc627fbe6f231f0ba87f63905c3970\n"
    },
    {
      "commit": "7021c13e4890ffed3dc3900250780e50270aa4ad",
      "tree": "eabdf86fd051484cbc9db753e69997e62c995fdd",
      "parents": [
        "e456b6ff089e99b22e2ddce39e660618fc5762de"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 04 12:56:22 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 04 14:15:17 2019 +0000"
      },
      "message": "Increase gcstress timeout\n\nRecent unwinding fixes mean gcstress has more work to do.\n\nBug: 142039427\nTest: ./art/test.py -b -r --gcstress --host -t 001\nChange-Id: Ice02b4f0be9cfb9c0189bdfc4e10356fb4bd1ffd\n"
    },
    {
      "commit": "e456b6ff089e99b22e2ddce39e660618fc5762de",
      "tree": "0474c29df5583f01eafae4a3fbd7fd62062f5b09",
      "parents": [
        "31e284b995807271065f7cdc94f02fe3dc2c2e2f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 04 11:27:51 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 04 10:33:20 2019 +0000"
      },
      "message": "testrunner: Add missing import\n\nMissed in CL/1132075\n\nBug: 140933800\nBug: 141227454\nTest: \"./art/test.py --gcstress --host -t 001\" with small timeout\nChange-Id: Ifd0d7178e998a94a63936a5cf1fe1e0ad23313ad\n"
    },
    {
      "commit": "f9ba5210f501b7fe05bb460e7954a0d4c6dcd70d",
      "tree": "26ad331864d20f94da40df486824b5b6cacd370c",
      "parents": [
        "40510ab49d6bb2bc65957aa72c00fbb371647f2d"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Oct 02 15:56:08 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Oct 03 14:06:03 2019 +0000"
      },
      "message": "testrunner: Kill whole process group on timeout.\n\nThis avoids occasional deadlocks of the python script.\n\nIt seems that proc.communicate will not return until all children exit\n(possibly because it is waiting for end-of-file from the shared PIPE).\n\nBug: 140933800\nBug: 141227454\nTest: test.py -b -r --gcstress --jit --host --64\nChange-Id: Ie230ab100a092a920bdbcb1c3bb50e493572562a\n"
    },
    {
      "commit": "e58624f221b967553d7b71f14d8677ceaa000553",
      "tree": "00d6caa5ca66562d9c8e448abc77c0c6018fca0c",
      "parents": [
        "48349ad38887f65da76df268f8e548d508d8c6a1"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Sep 20 15:53:40 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Sep 24 17:40:00 2019 +0000"
      },
      "message": "Various renames following the name change from \"Runtime APEX\" to \"ART APEX\".\n\nIn particular ANDROID_RUNTIME_ROOT is now ANDROID_ART_ROOT.\n\nTest: Build \u0026 boot\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: m test-art-host-gtest\nTest: art/test/testrunner/testrunner.py --host --64\nTest: art/tools/run-jdwp-tests.sh --mode\u003dhost\nBug: 135753770\nChange-Id: Ia74da964e54cf396d66e9e12ea56da4e9483662a\n"
    },
    {
      "commit": "60931d9f0a6b63fec1bf44fa662032e930438f42",
      "tree": "b8b0f7046f0a2e99a13f6babdfda05b962f9c38a",
      "parents": [
        "f0c94806a921e17c701797cc017b794c58033eb5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Sep 12 10:12:11 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 12 21:41:18 2019 +0000"
      },
      "message": "ART: Simplify and tighten run-test timeouts\n\nRemove the old read-barrier special casing. Read-barrier is the\ndefault now and performs well enough.\n\nUse 25min as run-test default. This is derived from ASAN continuous\ntesting. All other continuous test cases seem to stay below 10min.\nConsider a function of input values to tighten this further, e.g.,\nhost vs target.\n\nReduce the timeout in testrunner.py. Document the value and its\nconnection to run-test.\n\nBug: 140935398\nTest: art/test/testrunner/testrunner.py -b --host\nChange-Id: I4818f4897a675c3e14af0fb7d7257b9b52e7671c\n"
    },
    {
      "commit": "3e29e19c9ae2c1785cfff17ad67d4bde8abda2a5",
      "tree": "59630052122c3fcc4d2f9e4a88a8220b09595e49",
      "parents": [
        "da144b68f4b66ccb0c8d6e677372087be0d83889"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 14:24:04 2019 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 04 16:49:58 2019 +0000"
      },
      "message": "Switch testrunner.py to report times with monotonic clock\n\nBug: b/138868214\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 10\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 1\n\nChange-Id: I3f59154a08fd84699adfc6d774c4ec3fe2729b05\n"
    },
    {
      "commit": "da144b68f4b66ccb0c8d6e677372087be0d83889",
      "tree": "c3a40fc83dd3d9aa51795521b8cbd34405c4d630",
      "parents": [
        "358b49d2124dc8e45f492f0728028d37cfbfb979"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 11:57:53 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 03 13:14:47 2019 +0000"
      },
      "message": "Address syntax warnings in testrunner.py\n\nBug: N/A\nTest: manual\nChange-Id: I293d33cad3d367511cbe04a27c6de65fe6cd9ec3\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "a86a5d162e6b59a32e8ea7991e6c8a157aca5a0a",
      "tree": "438596ce2b406fcae4cbb7427f906c26ae5814c1",
      "parents": [
        "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 11:03:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Prevent attempts to run impossible configurations.\n\nSome configurations, such as --regalloc_gc --prebuild are\nfundamentally incompatible and will always fail. Add support for\nspecifying a list of these impossible configurations and automatically\nskipping them.\n\nTest: ./test/testrunner/testrunner.py --host -t 001-HelloWorld --all-compiler --all-prebuild\nChange-Id: I54ddac3e5c762cd9209e788fe2ab7d6b863b286c\n"
    },
    {
      "commit": "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2",
      "tree": "98ef51eae1c870b83ca683a14583f2526adc18e9",
      "parents": [
        "ab5f4c17a86b8c808dba862db566f0ffa1146367"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 10:17:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Add --all-\u003ctype\u003e options to testrunner\n\nIt is sometimes useful to test all combinations of a subset of\noptions. This adds the ability to do so by using a \u0027--all-\u003ctype\u003e\u0027\noption that acts like passing in every flag of the given type. For\nexample passing `--all-gc` acts like passing `--gcstress --cms\n--gcverify`.\n\nTest: ./test/testrunner/testrunner.py --host --all-gc --all-compiler --host -t 001-HelloWorld\nChange-Id: I13662194b3ba9e2cd55d9ed2e2974d5f306d9b5c\n"
    },
    {
      "commit": "4e8e0a5a2a6b0404a5ecd118e647adcb50c464af",
      "tree": "c9d2578609ba1024610764c335239aa9ae62f591",
      "parents": [
        "0414e244c82ed5140b5a7626f935b548e8588195"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "message": "Fix vpython embedded specification\u0027s bookends in testrunner.py.\n\nTest: Rely on the ART Buildbot\nBug: 140161314\nChange-Id: I1b7279aebd83ec8d7c900d6b321e90d1c4533fe5\n"
    },
    {
      "commit": "8feeef6bf1425ca3b5f012b318ae0439984f24fc",
      "tree": "6e8ed3e0180a2575568132e927a9856a068b016d",
      "parents": [
        "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 10:11:21 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 11:49:33 2019 +0000"
      },
      "message": "Add required vpython version tag to testrunner.py\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nChange-Id: I0bbbebb502437c5f7254f1f8401c3a0c7052d961\n"
    },
    {
      "commit": "49484076e86b75b3449e18cc6827bd0a94ef1300",
      "tree": "011c5cb0ee53a8037c2baf79529a8ed10f9632d3",
      "parents": [
        "e09b87eb8d8c063ddaee53a70b4bc8dbf61ff66c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:03:37 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:34:21 2019 -0700"
      },
      "message": "ART: Add testrunner diagnostics for b/140161314\n\nTry to give interpreter info on import failures.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nTest: manual (fake exception)\nChange-Id: I9d8fd9b0dd115b2625cbf52eb1c96be70f7b4d09\n"
    },
    {
      "commit": "1ec82e562a31fbd7383555b610743d85b7b4a7d4",
      "tree": "c3330952f350174d81b6afee476183d263ecd42d",
      "parents": [
        "52699518fa40739d0e69bc8e364b7a4569872845"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:41:04 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:33 2019 -0700"
      },
      "message": "ART: Properly kill timed-out test\n\nThe python documentation states that a subprocess should be killed\nand waited on after timeout.\n\nTest: m test-art-host\nTest: manual\nChange-Id: Icf6233e1f8999070d2554b115d35fb1c304b1303\n"
    },
    {
      "commit": "52699518fa40739d0e69bc8e364b7a4569872845",
      "tree": "3944cfed2dd7d2242ba67d28c22ce0c538f0f990",
      "parents": [
        "9ac8e4327bd732e4b3b9b8dc6a29560013338d21"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:27:47 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:14 2019 -0700"
      },
      "message": "ART: Take actual time on timeout in testrunner\n\nBug: 138868214\nTest: m test-art-host\nTest: manual\nChange-Id: I73bd4fd72550c86d24a48bf4a2290f25795171f1\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "7409b9fb679d982b4a3c790fc9711f81d68ffca3",
      "tree": "e4432b275fabb2e0e8c837e9f8f5c74f34eb2ea7",
      "parents": [
        "ef1178a0920d6f8278a07c619af552e7f20b0255"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 09:29:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 12 17:23:51 2019 +0000"
      },
      "message": "ART: Collect test times in testrunner\n\nIn verbose mode, display test time.\n\nTest: art/test/testrunner/testrunner.py -b --host -v -t 001-HelloWorld\nChange-Id: I37c251dd005257c9173e5cb214fbf996654dab83\n"
    },
    {
      "commit": "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58",
      "tree": "c62934250a5e74f1d194eeefa9bc8c7c9ee03131",
      "parents": [
        "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 09 02:31:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 10 15:54:45 2019 +0000"
      },
      "message": "Revert \"Disable opaque JNI Ids for now.\"\n\nWe were incorrectly using a potentially out-of-date pointer to access\nclass object fields. This could cause segvs if the class object moves\nduring certain allocations relating to JNI id allocation.\n\nThis reverts commit 1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01.\n\nReason for revert: Fixed issue with gcstress\nTest: ./test.py --host --debuggable --gcstress\nBug: 134162467\n\nChange-Id: I6ee7fc4485bbae6f0f1d4f4af0e8c2bc88bf4075\n"
    },
    {
      "commit": "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01",
      "tree": "28c508dde96a47fa976d06f2b4b3ba08cb02925b",
      "parents": [
        "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "message": "Disable opaque JNI Ids for now.\n\nThey fail on gcstress.\nTest: test.py --debuggable --gcstress\nBug: 134162467\n\nChange-Id: If57dd2fe6b57abd92b6a67383eeb8f8d5d8e3b2e\n"
    },
    {
      "commit": "79d6c800cd8aa1da335ea0523c391852780ac02a",
      "tree": "a77faf41d7b658709113c72d7eaaaa1ce2ded6b5",
      "parents": [
        "01fbfbebceb00b94cc54738ebf425b6c4a79211a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 15:50:11 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Revert^2 \"Support using opaque JNI ids\"\n\nWe weren\u0027t handing the fact that encoding jmethodIDs could cause OOM\nexceptions in some places in reflection.cc. This could lead to\nattempting to use a null jmethodID as if it were a real id. This issue\nis fixed by the parent CL.\n\nThis reverts commit b476a29a2c.\nThis reverts commit 3b2905366c.\nThis Unreverts commit d5d645ffec.\nThis Unreverts commit 21d5994583.\n\nReason for revert: Fixed issue causing 004 debuggable flakes\nTest: ./test.py --host --jit --debuggable\nBug: 134162467\n\nChange-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb\n"
    },
    {
      "commit": "b476a29a2cda22b86fc1d96e4cc65ce36fb878af",
      "tree": "039eaee2edf5495275088d1c467e522977c6bcd6",
      "parents": [
        "3b2905366c6ee1eaba2d6477078e505e377343ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 07:54:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 08:16:04 2019 +0000"
      },
      "message": "Revert \"Support using opaque JNI ids\"\n\nThis reverts commit 21d5994583c679cd5d8573b5d35dbd659bdca2c7.\n\nBug: 134162467\n\nReason for revert: Breaks debuggable\n\nChange-Id: I9510a6ac208d392ff25ee196a1a519fecd151445\n"
    },
    {
      "commit": "21d5994583c679cd5d8573b5d35dbd659bdca2c7",
      "tree": "521906398a2f04048cc51b4f409b6a3ebc0c6ffa",
      "parents": [
        "5dfbe7ae9ed9a1a82446d32118190105a211a2d2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 19 12:58:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 20:22:39 2019 +0000"
      },
      "message": "Support using opaque JNI ids\n\nCurrently JNI ids (jmethodID \u0026  jfieldID) are created by simply\ncasting the corresponding ART structure pointer. This is great for\nsimplicity but means we are prevented from performing operations that\ncould change these pointer values. To support these use-cases add\nsupport for loading the runtime with a layer of indirection between\nthese ids and the internal art data types.\n\nCurrently the JNI id type can be toggled only by passing the new\n\u0027-Xopaque-jni-ids:{true,false}\u0027 flag during startup.\n\nThis changes the --debuggable test configuration to pass\n\u0027-Xopaque-jni-ids:true\u0027 in order to get test coverage of this feature\nusing the \u0027art-jit\u0027 configuration.\n\nTest: ./test.py --host --debuggable\nTest: ./test.py --host --debuggable --jit-on-first-use\nTest: ./test/testrunnner/run_build_test_target.py art-jit\nBug: 134162467\nChange-Id: Id8c8cb9a5b8ff18dc2f40892fae2d344a7214f44\n"
    },
    {
      "commit": "f75dce49ebe792cfd0b62c59c86fdc793926ee4d",
      "tree": "72a50f8667ee88d3f030f4de91867666ab8064fa",
      "parents": [
        "a8d23cb7febebc44ddfc03a3a135bb983eb95029"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 08 09:36:23 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 09 01:01:02 2019 +0000"
      },
      "message": "Revert^2 \"Delete GSS\"\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\nTest: test/testrunner/run_build_test_target.py -j50 art-ss-gc\n\nThis reverts commit e18588381b34a5ed24417c826dc389a91f8d2b7f.\n\nChange-Id: I116b7ab7dec7cafebb1e718caea71c95353417ea\n"
    },
    {
      "commit": "163c8aba763f40c3e36e0b3f1a10b69904b96923",
      "tree": "fe8309ab16f0495237dd5286ccae6d944ebde4af",
      "parents": [
        "76b9c695a7cee0772cb9ee7e472bbf8ce3030a73"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 05 11:40:30 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 08 08:17:21 2019 +0000"
      },
      "message": "Use concurrent.futures.ThreadExecutor for testrunner threads\n\nMoves from controlling threads with a semaphore to a slightly more\nconvenient thread pool.\n\nMoves printing to be on the main thread.\n\nRemoves unnecessary thread for supervising tests.\n\nBug: 129406631\nTest: art/test/testrunner.py --dry-run (and simulate failures locally)\nChange-Id: I23244d35afa2341f1696ebc60cd009fb133ba872\n"
    },
    {
      "commit": "e18588381b34a5ed24417c826dc389a91f8d2b7f",
      "tree": "23eea25005dd814093f3f4ffd33d77619ae12388",
      "parents": [
        "926c5f03655562e3e4eecd0d1a7b6d6c5dc6ed9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 07:50:25 2019 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 17:29:37 2019 +0000"
      },
      "message": "Revert \"Delete GSS\"\n\nThis reverts commit 1397ea10a8e0409c74efe251721a2ee9ffaa3127.\n\nReason for revert: Tests failing\n\nChange-Id: Ie25f7342f67685e2b4f80f8344a8a4d7e988f09f\n"
    },
    {
      "commit": "1397ea10a8e0409c74efe251721a2ee9ffaa3127",
      "tree": "aa7c44dd14f6161e6eb0aabe0cf281cb8ecdf859",
      "parents": [
        "3b23f7568077a10cb3dfd0bb7d1c5f4c035d65dc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 02 10:54:37 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 05 15:54:52 2019 +0000"
      },
      "message": "Delete GSS\n\nDeleted GSS and related code.\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\n\nTest: test-art-host\nChange-Id: I56d6c25a01abf3a969771c2161f9216c34a622e3\n"
    },
    {
      "commit": "6f342dd00e7423bd29b79607df655e44b654166e",
      "tree": "cdd370f1e91e4e77888f5103db5a257f08554984",
      "parents": [
        "2bcea184e4934ee6681837c9e80660cfac2166c6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:15:42 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 21:38:38 2019 +0000"
      },
      "message": "Revert^2 \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nFixed issue that caused main-thread exception. Changed to using the\npython3.4 compatible subprocess API.\n\nThis reverts commit c26d9e3bffa8757f8f9bcc8798cc88f57136049e.\n\nReason for revert: Fixed issue causing tests to not run.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: If6a2246a3f039411011e99cce692d5a4ff1d0e47\n"
    },
    {
      "commit": "c26d9e3bffa8757f8f9bcc8798cc88f57136049e",
      "tree": "5b1a99a9bee8bc2f120b5d286cd9431df762ee95",
      "parents": [
        "d53f60658fb0d28279919cc856a55e4b6504dabe"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:06:32 2019 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:09:14 2019 +0000"
      },
      "message": "Revert \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nSomehow an exception in the main thread doesn\u0027t cause testrunner.py\nto exit non-zero.\n\nThis reverts commit 912cee8ab1260c5022ddb4862620d6ed17658de7.\n\nTest: None\n\nReason for revert: Python version incompatibility\n\n[\u0027/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\u0027, \u0027--run-test-option\u003d--bionic\u0027, \u0027--runtime-zipapex\u003d/usr/local/google/buildbot/src/googleplex-android/master-art-host/out/soong/host/linux_bionic-x86/apex/com.android.runtime.host.zipapex\u0027, \u0027--host\u0027, \u0027--64\u0027, \u0027--no-build-dependencies\u0027, \u0027--host\u0027, \u0027--dex2oat-jobs\u0027, \u00274\u0027, \u0027--verbose\u0027]\nConcurrency: 40\n4150/4150 (100%) tests passed.\nException in thread Thread-1:\nTraceback (most recent call last):\n  File \"/usr/lib/python3.4/threading.py\", line 920, in _bootstrap_inner\n    self.run()\n  File \"/usr/lib/python3.4/threading.py\", line 868, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 508, in run_tests\n    with handle_zipapex(zipapex_loc) as zipapex_opt:\n  File \"/usr/lib/python3.4/contextlib.py\", line 59, in __enter__\n    return next(self.gen)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 531, in handle_zipapex\n    subprocess.run([\"unzip\", \"-qq\", ziploc, \"apex_payload.zip\", \"-d\", tmpdir]).check_returncode()\nAttributeError: \u0027module\u0027 object has no attribute \u0027run\u0027\n\nChange-Id: I33a87fc2d96b250e30e3e08c60e9197daa11e049\n"
    },
    {
      "commit": "912cee8ab1260c5022ddb4862620d6ed17658de7",
      "tree": "18278fbb659b8d9250e4732b8a5db4984878c411",
      "parents": [
        "1617f8caf200820e6831296681d49df51982d66c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 26 13:32:54 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 01:48:23 2019 +0000"
      },
      "message": "Only extract zipapex once for linux-bionic-zipapex tests\n\nWe were unzipping the zipapex for every test when running the\nart-linux-bionic-x64-zipapex tests. This could take a long time. This\nmakes us only have to unzip it a single time.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: Id7cf1b6445526a950c45b74fc98208e234d3069f\n"
    },
    {
      "commit": "26a5dd6fd1d65de29ba85e4bb61d9267dd428238",
      "tree": "952cdd73cefa3be7554e35dc2e9651b3054b7c29",
      "parents": [
        "d0430bfe6e08f932fa15b159457a5430f5b3ec25"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 13 15:16:35 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 18 16:08:05 2019 +0000"
      },
      "message": "Add support for ANDROID_TZDATA_ROOT\n\nSoon, code in the Android Core Library / ICU4C library will depend on the\nANDROID_TZDATA_ROOT environment variable being set. On device this points\nto the root of the com.android.tzdata module.\n\nUnlike ANDROID_RUNTIME_ROOT, ANDROID_TZDATA_ROOT it doesn\u0027t have to point to\nanything that exists because the code will fall back to looking in\nANDROID_RUNTIME_ROOT if it can\u0027t find the files it is looking for. Most\nof the changes in this commit are plumbing to make sure the environment\nvariable is set to benign defaults or passed through to the runtime.\n\nThis commit has been put together by looking for usages of\nANDROID_RUNTIME_ROOT and duplicating the logic.\n\nBug: 128422035\nTest: build only\nChange-Id: I2fd73fe16f5022742aaf634be158765cac8759e6\n"
    },
    {
      "commit": "e46d0fb7ea3267a3c3f3712d72ba8b2e5ceed436",
      "tree": "ecb508685a2e9ae19bac0b8f5665300b16c56f71",
      "parents": [
        "a6ea602f6a9b277b523494d6a20398e9c8aec98c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 30 13:48:30 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 30 14:13:25 2019 -0800"
      },
      "message": "Fix running zipapex tests with arbitrary cwd.\n\nWhen running continuously the cwd is not always ANDROID_BUILD_TOP.\nThis could cause issues if OUT_DIR is relative to ANDROID_BUILD_TOP\nfor art-linux-bionic-x64-zipapex tests.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: I452cd70ec317257bf235532381a5784e9ebf253b\n"
    },
    {
      "commit": "2807614fcef6280c78e3987289fe345a770ca5c2",
      "tree": "e9efd9037a0ad7785f5f24ae36b37916a1988ed2",
      "parents": [
        "d7d3f6fa1870b9e9b8f58ab7854e5eeee071ba2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 16:39:25 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:14:28 2019 +0000"
      },
      "message": "Add support for option `--android-runtime-root` to ART run-test scripts.\n\nAlso have testrunner.py honor `ART_TEST_ANDROID_RUNTIME_ROOT` and pass\nits value via `--android-runtime-root` to art/test/run-test (for\ntarget testing).\n\nThese changes are needed for the interim period where\n- we have code running on the ART Buildbot using\n  `ANDROID_RUNTIME_ROOT` to locate files on device (namely ICU code\n  looking for ICU .dat prebuilt files); and\n- the Runtime APEX is not (yet) available on all environments where\n  ART is running (namely the ART Buildbot).\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: I83bbb2442f15ed82eee3369dad1d249227bb3442\n"
    },
    {
      "commit": "20802ca8210fb9e86433fcdd5b67dbfc760f82b5",
      "tree": "95a9e76b0599718cb4b74463a012626b99298b1c",
      "parents": [
        "3cd5a75c4fb4ab87baa1699085a664979013a084"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 05 15:36:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 10 13:20:56 2018 -0800"
      },
      "message": "Add buildbot target using linux_bionic zipapex\n\nAdds art-linux-bionic-x64-zipapex target config. This target uses\nbinaries from the com.android.runtime.host zipapex to execute the art\nrun-test suite.\n\nTest: ./test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64-zipapex\nBug: 120436895\nChange-Id: Ie0cb1b7489f698dfb4f7f6d01a4c99701343cfff\n"
    },
    {
      "commit": "cbc64c8aa56b93eb87283fea83f871db445fbf60",
      "tree": "5fed50872576b70acf5cb370b9cb94230bf1ba61",
      "parents": [
        "c754cc8e1c2dbcb1331ec2bed3ea0787bdd2b5c3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 19 05:09:47 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 19 06:00:06 2018 -0800"
      },
      "message": "Revert \"Disable running run-test with linux_bionic\"\n\nThe build_linux_bionic_tests.sh script was using incorrect environment\nvariables causing it to fail to build all required libraries when run\non the bots.\n\nReason for revert: Fixed issue with running linux_bionic run-tests on\n                   the bots.\n\nThis reverts commit 1d77a70bc0e1138dbd4a57375f34854bcdb26780.\n\nTest: cd \u003candroid-root\u003e;  # don\u0027t do envsetup or lunch\n      ./art/test/testrunner/run_build_test_target.py -j80 art-linux-bionic-x64\n\nBug: 119673278\nBug: 119687007\n\nChange-Id: I6f484d0d2e2accbfab6bd90c510915d5e2eeb64d\n"
    },
    {
      "commit": "1d77a70bc0e1138dbd4a57375f34854bcdb26780",
      "tree": "8d19e1ae64a057381f91fbb43ac10bdbed9bc553",
      "parents": [
        "e14294cc489aa5427c3eeede59ab90d0f2b466d6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 16 15:46:42 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 16 15:49:10 2018 -0800"
      },
      "message": "Disable running run-test with linux_bionic\n\nCurrently it is failing due to some issue with library search path.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x86\nBug: 119673278\nBug: 119687007\nChange-Id: I1edda532c1822214a7bcb36850b1a5e450c94491\n"
    },
    {
      "commit": "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5",
      "tree": "056328157334dd17c3e1b7ed4140702e29759f7d",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:03:02 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:45:30 2018 -0800"
      },
      "message": "Add art-linux-bionic-x64 target-config\n\nThis config can be used to run linux_bionic tests. Updated\nrun_build_test_target.py to support allowing fully custom build\ninstructions (Linux_Bionic cannot be built with a simple make\ncommand).\n\nTest: ./art/test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64\nBug: 118778408\nChange-Id: I27d12c508407e318d31fc50e541f7d990118e7b6\n"
    },
    {
      "commit": "8ed45c876077771455d63dd7e315b439230812f8",
      "tree": "239cc6db092fa00908af0be433b80baff16b172e",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 15:08:57 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 17:09:16 2018 +0000"
      },
      "message": "Add test configuration for the switch interpreter.\n\nBug: 31358597\nTest: ./art/test/testrunner/run_build_test_target.py art-interpreter-cxx\nChange-Id: Iebb7a3a5168a27654984f3749a7b86542422671b\n"
    },
    {
      "commit": "49a01879af54fdbc63dfb8361792437ff1b1e756",
      "tree": "37fd69b213218fb730f400f2b9179356fedf21d0",
      "parents": [
        "89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:46:04 2018 +0000"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:53:52 2018 +0000"
      },
      "message": "Revert \"Remove DIST_DIR uses in ART.\"\n\nThis reverts commit 89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa.\n\nReason for revert: fixed with https://android-review.googlesource.com/c/platform/build/soong/+/796459\n\nTest: art/test/testrunner/testrunner.py --host -b -t 001-HelloWorld\nChange-Id: Icde2015f110f135f2010d603d764a51aa5ae07a5\n"
    },
    {
      "commit": "89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa",
      "tree": "1322bf3b124063bfd1ed477156173266c08152d8",
      "parents": [
        "fa9abc28c7825040812101210ccf9b99ef3d565a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:02:17 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:02:17 2018 +0100"
      },
      "message": "Remove DIST_DIR uses in ART.\n\nRequired after https://android-review.googlesource.com/c/platform/build/soong/+/796458\n\nTest: testrunner.py\nChange-Id: I9b4a41c928749b6fc5ff4df5d1b8113103a6e681\n"
    },
    {
      "commit": "d51af9e040e378d0d66b8029f002332c36bdedb9",
      "tree": "50077f7d76726f00df73823136eaecde1e8cd4a5",
      "parents": [
        "e12575640dca5118bf96245f373acda276c22178"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 11 16:07:55 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 11 16:07:55 2018 -0700"
      },
      "message": "Make testrunner runnable from art directory\n\nWe were using a relative path to the soong_ui.bash script in\ntestrunner. This meant testrunner could only be run if you were in the\nANDROID_BUILD_TOP directory. This makes that path absolute by\nprepending ANDROID_BUILD_TOP to it.\n\nTest: ./test/testrunner/testrunner.py --host -b\nChange-Id: I9007d2de79b07bf77a6ddc6a569f553acb20f63e\n"
    },
    {
      "commit": "4519b9d28719a726c09ef8e02b00ea93ea9f6f03",
      "tree": "687ebaa5b5560017f67cc676b25c573d9aa434b0",
      "parents": [
        "a2da9b99fa1ea3d25d52da71308a623b2aae216c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:21:21 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 18:05:48 2018 +0100"
      },
      "message": "Make the boot image always multi-image.\n\nDeprecate the --multi-image option.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I01fd02341cb4dc4fa75a388071694b51ba0bc5f7\n"
    },
    {
      "commit": "a2da9b99fa1ea3d25d52da71308a623b2aae216c",
      "tree": "5533be23eee7c24b68b1b72272cbae3f35a708cb",
      "parents": [
        "dc3b4670b170b39a8bd6498d4de69c1513af1db2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 14:21:55 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:25:26 2018 +0100"
      },
      "message": "ART: Completely remove the --compile-pic option.\n\nAnd the PIC-related fields from image header.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I3787369378f12d8cd9003bebeae62830a67def33\n"
    },
    {
      "commit": "acc56ac6a33a23abbf4a9a62528e352ea28c5407",
      "tree": "e1dd4569fd5b49879ec8dfd1b5ef5204a1084407",
      "parents": [
        "4ca6cc7ddcbd568b365c428371ea9675799775af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 09 08:45:24 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 11:10:08 2018 +0100"
      },
      "message": "Introduce a \u0027baseline\u0027 variant for the compiler.\n\nImplemented as a stripped down version of the optimizing compiler,\nnot running any optimization.\n\nAdjust code to still work with expectations in code generators.\n\nbug: 111397239\n\nTest: test.py --baseline\nChange-Id: I4328283825f9a890616e7496ed4c1e77d6bcc5dd\n"
    },
    {
      "commit": "c71f38bdf7dca39a070ba25d436edcd758551f42",
      "tree": "03bc5d32f2f5e346d21b2a1b81205d7e55dc4066",
      "parents": [
        "6359e69d85bf9472f330d01a555e50c6581fb553",
        "2e956ba9368be3e7669f186e8f213aa6192c3fe8"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 20:50:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 20:50:38 2018 +0000"
      },
      "message": "Merge changes I166d5c7b,I15d5a2c2\n\n* changes:\n  Use soong_ui.bash instead of the deprecated make wrapper\n  Stop using DIST_DIR directly, use dist-for-goals\n"
    },
    {
      "commit": "ad694bf3d73379be15b1d2a4cbddafb26d6a4f73",
      "tree": "3b0d15391ab37dca28b1903e5bb1aac4824d9f17",
      "parents": [
        "e0440636201c60d9fdbde656f8a3cd4eee12d3a1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 09 14:49:15 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 09 15:35:23 2018 +0100"
      },
      "message": "Add a `jit-on-first-use` \"compiler\" option to ART\u0027s testrunner script.\n\nThis can be used to filter tests in test/knownfailures.json.\n\nTest: art/test/testrunner/testrunner.py --jit-on-first-use\nBug: 62611253\nChange-Id: Ie45ee10b794dc9f0749ef8fb0d174cc38653c6ba\n"
    },
    {
      "commit": "2e956ba9368be3e7669f186e8f213aa6192c3fe8",
      "tree": "8a97a3b098035074eb9246c9debf5d89c718825e",
      "parents": [
        "db72e5ec7ca18282fe03bba20494b021fbdaa7c6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 08 17:44:45 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 06:08:40 2018 +0000"
      },
      "message": "Use soong_ui.bash instead of the deprecated make wrapper\n\nTest: ./art/test/testrunner/run_build_test_target.py -j50 art-gtest\nChange-Id: I166d5c7b480289fbe25ba13d0f5e8593125d6160\n"
    },
    {
      "commit": "db72e5ec7ca18282fe03bba20494b021fbdaa7c6",
      "tree": "b44b533354acb58f882061ee67b1bc21a92eb891",
      "parents": [
        "432d280f68d1649b79246228f51188fbee984af3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 02 14:09:21 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 06:07:52 2018 +0000"
      },
      "message": "Stop using DIST_DIR directly, use dist-for-goals\n\nWe\u0027re moving DIST_DIR handling outside of the Kati instance that reads\nthese makefiles. As such, the dist file actually needs to be represented\nin the build graph, not as a side effect of a phony rule. All of the\ndependencies of that phony rule must be actual files in that graph now\ntoo, not other phony rules.\n\nBug: 117463001\nTest: DIST_DIR\u003ddist ./art/test/testrunner/run_build_test_target.py -j50 art-gtest\nChange-Id: I15d5a2c28321ff7f0f8d7d99dc697bd0393380cb\n"
    },
    {
      "commit": "9ec8559bc2e18075cdcd9a2f09206b698d3c1993",
      "tree": "9b323f5532ff8d3cf6e10b7816c585e831cdb0d9",
      "parents": [
        "06cff4c9c057c5c702db87f5f28b211ec03713fb",
        "a497a39fe8830fe7b1c1c23b413753fe4e12923b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 03 09:28:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 09:28:37 2018 +0000"
      },
      "message": "Merge \"Remove patchoat.\""
    },
    {
      "commit": "a497a39fe8830fe7b1c1c23b413753fe4e12923b",
      "tree": "c1f02f404feefb94fa105a563f0e6c1146ab22b8",
      "parents": [
        "d6266f3292eab5b043262c6366ed6b8131e152c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 26 10:52:50 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 02 08:54:11 2018 +0100"
      },
      "message": "Remove patchoat.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nBug: 77856493\nChange-Id: I6686ce9d23e02aa8b8ef4081b302dbd860d07718\n"
    },
    {
      "commit": "e9f61035e7077032a17d7d0e9035b6ef3995273f",
      "tree": "e24de0b760ef3848c8d405b4b7fec5a8b630778c",
      "parents": [
        "bb68fda18ef3d7ea183a322831a5afd20b6a8bff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Sep 24 16:04:51 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 01 15:34:02 2018 -0700"
      },
      "message": "Prevent the JIT from loading classes in debuggable mode\n\nIn debuggable mode the timing and placement of class loads is\nobservable. This causes deopts to be placed in situations where a\nclass would be loaded by the JIT.\n\nThis has negligible impact on performance of compiled code, causing\nonly a handful of classes to be not loaded.\n\nFor example with the it.mvilla.android.fenix2 application of the\n~13000 classes loaded the jit was responsible for 19 of them.\n\nSince the jit is only responsible for a small number of class loads\nand for the class not to have been loaded by the interpreter the path\nmust be cold anyway there is no performance impact on standard paths.\n\nTest: ./test.py --host\nTest: ./test/testrunner/testrunner.py --with-agent\u003dlibjitloadd.so\u003dfatal --host\nTest: Attach libjitload.so to running processes and examine jit-load\n      counts.\n\nBug: 70838465\nBug: 73255278\nBug: 112074977\nBug: 116517081\n\nChange-Id: I030bc8116345af506e83ba78427a7fbda7a7b386\n"
    },
    {
      "commit": "7ab23e4c1aa97290cb5683e3c5b788275ebb9807",
      "tree": "6f1a299475ae2222aa55457fa606d1790fe8d206",
      "parents": [
        "226bee0250b4fe443c56fde8f4ebb431d6bb2f1c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 17:45:10 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 18:10:56 2018 +0100"
      },
      "message": "Clean up more test configurations (Part 2).\n\nRemove the following configurations, as they are disabled on\nour continuous testing infrastructure:\n- art-interpreter-gcstress\n- art-optimizing-gcstress\n- art-jit-gcstress\n- art-read-barrier\n- art-read-barrier-gcstress\n\nThis CL should not be submitted before cl/213456896 is merged.\n\nTest: n/a\nBug: 62611253\nChange-Id: Ide02a5ea86bd22810d8efa3491fbd670fde2e3f1\n"
    },
    {
      "commit": "226bee0250b4fe443c56fde8f4ebb431d6bb2f1c",
      "tree": "e4b5632357e55c7d6ae0ca7d12fa705b44affb38",
      "parents": [
        "a93364cbd4ebf4b8c309c4c18f30e16c8f9a8997"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 15:57:52 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 16:08:31 2018 +0100"
      },
      "message": "Clean up more test configurations (Part 1).\n\n- Start to \"rename\" some configurations: make copies of these\n  configurations under new names and tag the original\n  configurations as to be deleted later (in a follow-up\n  change), when they are no longer used:\n  - Copy art-interpreter-gcstress as art-interpreter-gcstress-gcverify.\n  - Copy art-optimizing-gcstress as art-optimizing-gcstress-gcverify.\n  - Copy art-optimizing-gcstress as art-jit-gcstress-gcverify.\n  - Copy art-read-barrier as art-read-barrier-heap-poisoning.\n- Remove the following configurations, as they are disabled on\n  our continuous testing infrastructure:\n  - art-no-dex2oat\n  - art-relocate-no-patchoat\n- Tag the following configurations for a later removal:\n  - art-read-barrier-gcstress\n- Tag the following configurations for a potential later removal:\n  - art-ss-gc\n  - art-ss-gc-tlab\n  - art-gtest-ss-gc\n  - art-gtest-ss-gc-tlab\n  - art-gss-gc\n  - art-gss-gc-tlab\n  - art-gtest-gss-gc\n  - art-gtest-gss-gc-tlab\n\nAlso fix the indentation of the configuration file.\n\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-optimizing-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-jit-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-read-barrier-heap-poisoning\nBug: 62611253\nChange-Id: I91f99c3af78fdce276c7acbe2fe7b64154d9249d\n"
    },
    {
      "commit": "3d8a78a79aaa47be68162cb3e3fb2544f9b624a3",
      "tree": "0f9790f629c798f5c371e75ae20af60fa39a3203",
      "parents": [
        "c497fca9aa25a331af6428aa0fb6b083c6292089"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 13:37:02 2018 +0100"
      },
      "message": "Revert \"Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\"\n\nThis reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311.\n\nAlso remove the now deprecated --{no-}dex2oat option.\n\nChange-Id: I502c7011877f43f315abffa9b7d482ef13857125\nbug: 111174995\nbug: 111342996\n"
    },
    {
      "commit": "c2291a6bb017b8a4c0e776a0ec4ee106162b8a42",
      "tree": "054c6c2da23ec9714a65be410135eb08941a73b4",
      "parents": [
        "11529ab4cdf06e579182fa4252170aa4541f4ce9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 20 14:24:05 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 14:51:09 2018 +0100"
      },
      "message": "Add an ART test target exercising Generational CC collection.\n\nAdd an `art-generational-cc` test target runing ART run-tests and\ngtests in Generational Concurrent Copying (CC) Garbage Collection\nmode (on host).\n\nTest: art/test/testrunner/run_build_test_target.py art-generational-cc\nBug: 67628039\nChange-Id: Id1a778394b0f30d528606aef3d5e33b41e3c8651\n"
    },
    {
      "commit": "76eb485c321a819c960074a83a42e298af59cec3",
      "tree": "35e810ea86fa7344d64e3d4ee767dc9d834aeb4a",
      "parents": [
        "2a403e51bbe94d742f71aad73d08a26b70824f46"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:24:43 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:26:49 2018 +0100"
      },
      "message": "Remove the `art-gtest-valgrind64` testrunner configuration.\n\nTest: n/a\nBug: 29282211\nChange-Id: I7af82dc5edcc877e9ed3c1a076542f1a1a406f54\n"
    },
    {
      "commit": "30f3e9ce8150f24154db3fa06d11a3b43df9f77b",
      "tree": "870976e2c9e33f36c9576b8f8d9ac7e43190ebf7",
      "parents": [
        "ca182f2c81e7102d3ccd1c4ec5c96e602ad343fe"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "message": "Run ART run-tests with ASan in interpreter access-checks mode.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 62448488\nBug: 109813469\nChange-Id: I515fedb319e6b9e71724f5e9c87cd722a3936fd3\n"
    },
    {
      "commit": "d8d3adcb2ab08725fcb9477887fb462748a4c6bf",
      "tree": "cb1beaedc39500ea399ad5bb2b9571f7b1d8f26a",
      "parents": [
        "a53cf8740d72fda0cb8e973f4df64f9ec4b9e8d6",
        "e596f1e7d28f2e9e861da959191538e90422c722"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 16:17:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 19 16:17:57 2018 +0000"
      },
      "message": "Merge \"Remove the `art-gtest-valgrind32` testrunner configuration.\""
    },
    {
      "commit": "ce6ed26ae9b078d7ac6782ccbc0713f25dd4932c",
      "tree": "172c175635bc53e374f0f6dafbf3636a6bf07282",
      "parents": [
        "47d165e4e2f11b780cb1b7a0347e7a9313467210"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:18:40 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 15:03:20 2018 +0100"
      },
      "message": "Run ART run-tests with ASan in speed-profile mode.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 62448488\nChange-Id: Ie470006b3249ff456ec3b40c78cfa993dd5505e2\n"
    },
    {
      "commit": "e596f1e7d28f2e9e861da959191538e90422c722",
      "tree": "9fbf18dc005b55530bb834d530ae30679fdaa34f",
      "parents": [
        "47d165e4e2f11b780cb1b7a0347e7a9313467210"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:47:26 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:51:46 2018 +0100"
      },
      "message": "Remove the `art-gtest-valgrind32` testrunner configuration.\n\nTest: n/a\nBug: 29282211\nChange-Id: Ie041bb3cb65ef2688ce911e4faa02d05476cfb6d\n"
    },
    {
      "commit": "0d20d58c0d543a25b2dece1aeccd4c9984c7124c",
      "tree": "0dc566fa347060622c0aa5c4d2841a99ee1ffd10",
      "parents": [
        "ff5d955306660a6f6515967659515717076c1d87"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 16:16:41 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 16:42:19 2018 -0700"
      },
      "message": "Add missing spaces in constructing args\n\nWe were missing a few spaces in some argument strings. This could\ncause the testrunner to fail if it is used with a --run-test-option or\nwith multiple target options.\n\nTest: ./test/testrunner/testrunner.py --host --jvm\nTest: ./test/testrunner/testrunner.py --host --run-test-option\u003d\u0027--with-agent libtifast.so\u003dMethodEntry,MethodExit\u0027\nChange-Id: I8b4330c252e2f13f4591bbeadef3532ca7b31d06\n"
    },
    {
      "commit": "2682918b0168d3f47294676547efc0ee1c7a7249",
      "tree": "572fe4f04222c452b188784ce0d5be5aef203aeb",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 11 11:36:24 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 11 23:11:06 2018 +0000"
      },
      "message": "Add support for a --run-test-option to testrunner.\n\nSometimes it is useful to send specific run-test options to every\ntest. This adds a --run-test-option argument to testrunner that will\nlet one pass any run-test options down to run-test with no\nmodification.\n\nTest: ./test/testrunner/testrunner.py \\\n        --host \\\n        --run-test-option\u003d\u0027--with-agent libtifast.so\u003dlog,MethodEntry,MethodExit\u0027 \\\n        -t 001-HelloWorld\n\nChange-Id: Ice8e5b83fce4389b7461f5284c093dd144969640\n"
    },
    {
      "commit": "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc",
      "tree": "ba0051646cb8e8192f690259475101b61101d5c3",
      "parents": [
        "9fdd0125538fe63458aec68c4a40b025759bcf7c",
        "05e34f4cb8c9db165d1008721e874b9dd3db024b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "05e34f4cb8c9db165d1008721e874b9dd3db024b",
      "tree": "c41d397ef5cfb9d7918fceadcda3195a0d0d91de",
      "parents": [
        "428d80e3a49f732b39bb0c71cfde26451e3fdf4d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 13:19:05 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 14:03:37 2018 +0100"
      },
      "message": "Revert^2 \"Remove support for Valgrind in ART.\"\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nThis reverts commit 8b362a87d52a6668ffd2283ef6ffc274315f41c8.\n\nChange-Id: I23c76845e6ccf766f19b22b58a0d5161f60842a9\nTest: art/test.py\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "9cb13a66863411e6e885fd387d7908844270f42f",
      "tree": "944bdc205adc5cdb7662a3a8aa36e2d4f16d3695",
      "parents": [
        "693c6d609fe2eb3c5cf4259dc770a5e6bfc93b7b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 13:02:02 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 20:08:10 2018 +0000"
      },
      "message": "Add debugging for b/62653020\n\nWe are seeing errors reading out/soong/build.ninja when running\nART tests.  Add a hack to copy out/soong/build.ninja to DIST_DIR\non failure so we can see the contents.\n\nTest: Manually corrupt build.ninja, run testrunner.py with and without\n      DIST_DIR set.\nBug: 62653020\n\nChange-Id: I6d83b87d56b6787a98fec8b244f224d44cb85bc1\n"
    },
    {
      "commit": "1fdd8d899efb2d00ac859318ad150369c30f87c2",
      "tree": "4e868b60b67dfa4cf38af40f0541bad1a7b977f9",
      "parents": [
        "8d97f400f5addaa52f66b804bf031e1005bab3d4",
        "3a0eef03bc02b6e74db8f795cd9fc85164ec133d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 05 16:30:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 05 16:30:11 2018 +0000"
      },
      "message": "Merge \"Run debuggable tests on art-jit\""
    },
    {
      "commit": "3a0eef03bc02b6e74db8f795cd9fc85164ec133d",
      "tree": "ebec7818c2a1ceb1af3093a44352178acdf473f0",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 01 11:10:14 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 01 11:10:14 2018 -0700"
      },
      "message": "Run debuggable tests on art-jit\n\nWe were not running jit-debuggable tests anywhere. Adding them to the\nart-jit column should give us coverage for this configuration.\n\nTest: ./test/testrunner/run_build_test_target.py art-jit\nChange-Id: I7df9c017c9237910c4950888f04dd0a45eeac8da\n"
    },
    {
      "commit": "0b7e6c96ea859fa948b4a1973c5d1f17a8b9021a",
      "tree": "bfff0e4d9a4d8e7531b914ecb8bb81ea5f7639b6",
      "parents": [
        "a326807d1ac1e37798c928911777c9d7c1d7ab4d",
        "b0633b2d69b5bae42c4cf97696aa227e2a8750ef"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 25 13:34:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 13:34:40 2018 +0000"
      },
      "message": "Merge \"Have testrunner honor ART_TEST_CHROOT only for target tests.\""
    }
  ],
  "next": "6aa4e0d6d54fd061387f1ffc88ea2f96daad9425"
}
