)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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.\""
    },
    {
      "commit": "6aa4e0d6d54fd061387f1ffc88ea2f96daad9425",
      "tree": "a32e92af207cf7158440f384a1a86b1e172fe642",
      "parents": [
        "ebf5902272613d8bb563ae312ec5ce2580a59bb7"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 25 09:39:16 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri May 25 09:39:16 2018 +0100"
      },
      "message": "ART: Fix run-test invocation for jvm tests\n\nAdd check in testrunner.py to conditionally add \"--compact-dex-level\".\n\nAdd check in run-test to warn if the test argument is missing to avoid\ncryptic failure.\n\nTest: art/test.py --host --jvm -r -t 526\nChange-Id: I73c6f9654656ada79553e536546464e267c66053\n"
    },
    {
      "commit": "b0633b2d69b5bae42c4cf97696aa227e2a8750ef",
      "tree": "9f763324fececf7477c7b1a571a17536b1249f31",
      "parents": [
        "e46752658eaf41c0cc818c51a3e1cd95876bac93"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 15:59:18 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 15:59:18 2018 +0100"
      },
      "message": "Have testrunner honor ART_TEST_CHROOT only for target tests.\n\nChroot-based testing is only supported on devices, and\nart/test/run-test would complain if `--host` and `--chroot` were to be\nused together.\n\nAlso have the same behavior for ART_TEST_ANDROID_ROOT, as it only\nmakes sense for target tests.\n\nTest: ART_TEST_CHROOT\u003d/data/local/art-test-chroot art/test/testrunner/testrunner.py --host\nBug: 34729697\nChange-Id: I617fbcf719d3c59dbcbd632e69bf52e3498b4cff\n"
    },
    {
      "commit": "4a1cac420b34cc23458742e0deb67116b69b93eb",
      "tree": "9f8cde8c7b94b14b5597a3c8e7b9a0e641437201",
      "parents": [
        "d804b76c0b8f9d2c94f3a8648aba26254742a1e2"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 23 16:23:27 2018 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu May 24 09:54:59 2018 +0100"
      },
      "message": "ART: Remove jack from test\n\nTest: art/test.py --host\nChange-Id: I31b0c0d57d344f54a8c0545fd32c81a893b4ec75\n"
    },
    {
      "commit": "76cfe61b0c20f7c9d9ba9b60b188f483d81c5f68",
      "tree": "7ac27f14dedefc355c9f890d339397b8fdcb3e52",
      "parents": [
        "b865d9af3bb5f4777dbe9cbd60cdb2a8fe5f0557"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Oct 30 13:14:28 2017 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue May 08 13:55:56 2018 +0100"
      },
      "message": "Support ART on-device testing in a chroot environment.\n\nThis change updates the ART test rules and scripts to allow\ninstallation and ART testing in a chroot directory on device.\n\nAll existing ART testing is supported:\n- ART gtests (with and without Valgrind).\n- ART run-tests.\n- libcore tests (with companion CL in external/vogar).\n- JDWP tests (with companion CL in external/vogar).\n\nTest: Run ART tests (gtest, run-tests, libcore tests, JDWP tests) in chroot\nBug: 34729697\nBug: 68125496\nChange-Id: I398e9bafee61eccd98d827ab8d9b8f6395aaa853\n"
    },
    {
      "commit": "cf2de16a293583932b331548e87d60603ddca4e0",
      "tree": "30dd3e4100978607be7b6a0bb126894e0112de83",
      "parents": [
        "5430e68ddee3178445536cca710412808afa3cad"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Fri Mar 30 20:18:20 2018 +0000"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Apr 03 16:54:35 2018 -0700"
      },
      "message": "Revert \"Revert \"Move most art test off DX\"\"\n\nThis reverts commit 0e3a6addf60cbf006536d05aebe652e7ccddcd70.\n\nReason for revert: The failing test (036-finalizer) is fixed by\nhttps://android-review.googlesource.com/637929 .\n\nTest: run-test --gcstress 036-finalizer \u0026\u0026 run-test 651-checker-simd-minmax\n\nChange-Id: Ib5efbd4abc57b26f7dfcf73edf201d7145fe8781\n"
    },
    {
      "commit": "a90c68c3a6acb9e47ec316edfa397cb6eb0a9e45",
      "tree": "57f62b188da4c5e295ce9a843d81f9de1df2410a",
      "parents": [
        "d1ede32d56d2b6c95f94a8c67d8b9f309940d9de"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Mar 26 14:50:24 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 28 23:22:55 2018 +0000"
      },
      "message": "Make testrunner.py --all more useful.\n\nPreviously if you used testrunner --all it would try to run all\n~800000 variants of the test you specified. Often it is much more\nuseful to specify some set of config options to be used by all tests\nbut to run all remaining configurations. This change makes so --all\nwill only add on unspecified variant-types. For example\n./test/testrunner/testrunner.py --host --32 -t 001-HelloWorld will\nrunn all ~400000 32-bit variants of test 001-HelloWorld but none of\nthe 64-bit variants.\n\nTest: ./test/testrunner/testrunner.py --host\nTest: ./test/testrunner/testrunner.py --jvm\nTest: ./test/testrunner/testrunner.py --all --host --32 --dry-run -t 001-HelloWorld\nTest: ./test/testrunner/testrunner.py --all --host --dry-run -t 001-HelloWorld\nTest: ./test/testrunner/testrunner.py --all --host --npic-test --jit --dry-run -t 001-HelloWorld\nChange-Id: I9f4033bbb85ed092ed1251faf15d5ea479602b86\n"
    },
    {
      "commit": "41b1f0ef0cf1ba3035dec395cc18b9ffe80ebe5d",
      "tree": "53f448d2f32759c8a7910ff083e8474b4293ad14",
      "parents": [
        "be0c7cfdbb2b73d6beb1284fdedb8e07766630e9"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 21 11:17:12 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Thu Mar 22 09:50:52 2018 +0000"
      },
      "message": "Pass --runtime-option from testrunner to run-test.\n\nNote that the python argument parser does not like option\narguments starting with a \u0027-\u0027 if passed like\n  --runtime-option -Xjitthreshold:0\nso such options need to be passed with \u0027\u003d\u0027 as in\n  --runtime-option\u003d-Xjitthreshold:0\n\nTest: testrunner.py --help (manual inspection)\nTest: testrunner.py --host --jit -t 667-jit-jni-stub (OK)\nTest: testrunner.py --host --jit -t 667-jit-jni-stub \\\n      --runtime-option\u003d-Xjitthreshold:0 (2 FAILURES)\nBug: 62611253\nChange-Id: I6ebe18fe27b24989320ad963516146d12da4664f\n"
    },
    {
      "commit": "c032251c472fb491c0c0d7396bfed302606a08a6",
      "tree": "4264fd9df6738318fbdb3e78e0e18e81453d16fe",
      "parents": [
        "4bfca1cc7bf6c213b546ee20a6f2e131fca4831c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 13 10:33:52 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 13 13:23:36 2018 -0700"
      },
      "message": "Group testrunner options in --help\n\ntestrunner.py --help was not very helpful. This groups related options\ntogether to hopefully make it somewhat more understandable what each\noption does.\n\nTest: manual\nChange-Id: I0b779964ecb1cf9b6ffc0aeb81650d0d9b1cb3d3\n"
    },
    {
      "commit": "bab15064d151c513ec74ece25ac63e2ed8686e99",
      "tree": "dc99f24ca2edc16699f6bb42789b9fac2e78d89f",
      "parents": [
        "8dcb3527d416fb63f936a8fbeb7b59abfc2ac446"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Feb 23 14:53:24 2018 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Feb 27 16:21:35 2018 -0800"
      },
      "message": "test: Add continuous testing for run-test --jvm\n\nAdd testrunner.py --jvm flag which runs run-test --jvm.\n\nThe default is still only --host, --target, but if --jvm is specified\nby itself then only jvm tests will run.\n\nAlso change art-test-javac continuous test target to run with --jvm.\n\nThis is a pre-requisite to swapping our non-jvm test targets to build\nwith libcore instead of openjdk.\n\nBug: 72491947\nBug: 73888836\nTest: art/test/testrunner/testrunner.py -b --jvm\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/test/testrunner/run_build_test_target.py art-test-javac\nChange-Id: I114327008d57e88409d36ac6713b809e593f7802\n"
    },
    {
      "commit": "42242dd2309178fecb8b61617cf3c358e72eb0f8",
      "tree": "21696b819f95b6f3c867b17e36b3d59ca9b2a639",
      "parents": [
        "d1652d14fbf477b3091eec3764b9890f2c072055"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 16 09:23:57 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Feb 16 21:01:35 2018 +0000"
      },
      "message": "Add option to make testrunner ignore knownfailures.json\n\nSometimes it is useful to make testrunner run a test even if it is\nlisted in knownfailures.json. This adds a --no-skips option that does\nexactly that. If this option is passed testrunner will consider every\nvariant of every test runnable.\n\nTest: ./test/testrunner/testrunner.py --host --no-skips --redefine-stress -t 974-hiddenapi\nChange-Id: Iffc743d515819fa0a3a0f14e2da0bbf2b42673c4\n"
    },
    {
      "commit": "75a58dc390c4aa376f0596719031dfefd4e7c23c",
      "tree": "21d6ef7730469cf21c052e6ea64863599d4aea49",
      "parents": [
        "1e5b3f39ff1776fd8b7d8d7d372347a08d98781b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Feb 05 14:37:31 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Feb 05 16:03:03 2018 +0000"
      },
      "message": "ART: Fix testrunner test reporting\n\nFixes breakage when manually invoking the testrunner to reproduce a\nfailure. The test names printed and the regular expression parser did\nnot line up for the cdex option.\n\nTest: art/test/testrunner/testrunner.py test-art-host-run-test-debug-prebuild-speed-profile-no-relocate-ntrace-cms-checkjni-picimage-npictest-ndebuggable-no-jvmti-cdex-fast-710-varhandle-creation32\nChange-Id: I93a58caa76a568496361f8777e55fbe586496f3b\n"
    },
    {
      "commit": "dc757e5082da444a00aa65e465f60332d23803aa",
      "tree": "787a2259cca362ad59fb5350ea60f8fcbd469a9d",
      "parents": [
        "13a677c5554b274d3e13e058f57f0f314aa0d38d"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 25 13:25:27 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 25 23:31:20 2018 +0000"
      },
      "message": "Fix default cdex level to be fast instead of none\n\nTo get treehugger running the tests for presubmits.\n\nBug: 63756964\nTest: manual\nChange-Id: Ie233b673cb7357b928dc2102bc6d30a66f2e009f\n"
    },
    {
      "commit": "dcd56c9116c2dc45b40b38fbb2a55c7e33a85a45",
      "tree": "d245d2156e2638f587eec14d60e927645b81b42c",
      "parents": [
        "d5153627778e71ef68b510ce03c77467fa4d85bd"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Nov 20 20:30:24 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 08 10:56:08 2017 -0800"
      },
      "message": "Add --cdex-fast and --cdex-none variant to testrunner\n\nAdded --cdex-fast and --cdex-none variant options. These are passed\nto ART through the compact-dex-level option.\n\nBug: 63756964\nTest: test/testrunner/testrunner.py --host --cdex-fast -j40\nTest: Commented out header writing in compact_dex_writer.cc and confirmed tests fail.\n\nChange-Id: I408555b48286d2c4c5eca72e2cabe956aa1e9835\n"
    },
    {
      "commit": "09b2d5022c77a5d24d47323d513dc0b6357ffc6c",
      "tree": "a6fdf2fabf08282f12e2e5e33dc460ba8890b8f3",
      "parents": [
        "111b7d409a3f77cb0d16bc1df74a3a698795c1d1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 29 19:08:16 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Nov 29 19:08:16 2017 -0800"
      },
      "message": "ART: Allow multiple tests to be requested\n\nAllow repeatable \"-t\" arguments for the testrunner.\n\nBug: 37118012\nTest: m\nTest: art/test/testrunner/testrunner.py -b --host\nTest: art/test/testrunner/testrunner.py -b --host -t 001-HelloWorld\nTest: art/test/testrunner/testrunner.py -b --host -t 001-HelloWorld -t 001-Main\nChange-Id: Iba2bb6de0addb5751df54c483e1a5cfb9b4d11db\n"
    },
    {
      "commit": "18085acd2430b8ccb5f397a8f3f8a81d11fa94cf",
      "tree": "104de1caf23a75ef52ed920cc67334a9672dc2f1",
      "parents": [
        "0ee89f41fa91b85d3090a43239f3eb7f7a94237d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 08 09:20:01 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Nov 08 09:20:01 2017 +0000"
      },
      "message": "Revert \"Move ART tests to use D8.\"\n\nBreaks checker tests on arm64/arm\n\nBug: 65168732\n\nThis reverts commit 0ee89f41fa91b85d3090a43239f3eb7f7a94237d.\n\nChange-Id: I9fd14a8b01544481dadc485f51db4ff160c2733e\n"
    },
    {
      "commit": "0ee89f41fa91b85d3090a43239f3eb7f7a94237d",
      "tree": "8614351f5ccfd3869d69af8f0e487f7799b8a7ca",
      "parents": [
        "383684585824efa60350b208b92362efab3962eb"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Mon Nov 06 15:36:10 2017 -0800"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Mon Nov 06 17:30:48 2017 -0800"
      },
      "message": "Move ART tests to use D8.\n\nBecause of b/68406220, env.py is not picking soong build vars.\nThis CL should fix the issue by using USE_D8 and the workaround\nchecked into build/core/.\n\nThis CL also included build file changes to hold a few more checker\ntests to continue to use DX temporary until we finish re-writing them.\n\nBug: 65168732\nTest: art/test.py -j20 --host -b\nChange-Id: Icc487984c5a1ec4bab94b8e635566c219d0d024b\n"
    },
    {
      "commit": "535a15c6ca38844a0e480891bd38025aa4bbe5f4",
      "tree": "9fbbffc6413fa91b8d0ac64ada968d69c3a4d207",
      "parents": [
        "af52bcb7532e25331d6528c05105423312e161fd"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Nov 02 11:31:14 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Nov 02 11:34:31 2017 -0700"
      },
      "message": "Testrunner: Stop execution when a test fails with ART_TEST_KEEP_GOING\u003dfalse\n\nPreviously, the testrunner used to wait for all the existing thread to\nfinish execution which doesn\u0027t actually fit the requirement.\n\nTest: run testrunner with few failing tests\nBug: 68268743\nChange-Id: I1ad1f8c6572b4eac3c4af99caf566949aa8598e4\n"
    },
    {
      "commit": "91f55e6d951eacc06113871f072153b532197085",
      "tree": "0237a4b7978df7ec1486686a6d86b9aeab0d71aa",
      "parents": [
        "a59820dc247b220640a738ae7cb3803a4d89829c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Oct 21 12:45:26 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Oct 21 12:45:26 2017 -0700"
      },
      "message": "HACK: don\u0027t override DX when running make\n\nThe test runner shouldn\u0027t be overriding the location of DX when\nrunning make, if it wants it set in the environment it should do\nit after runing make.  For now just unset it when running make.\n\nTest: art/test/testrunner/run_build_test_target.py -j110 art-gtest\nChange-Id: Ic97b0f1edc854da4e352290ff192a0389766403a\n"
    },
    {
      "commit": "3412a00a2895b5da9eaf27098d882b0f0e4c7ddc",
      "tree": "363bd78d7a3e529f4b6a4c6c62b8ec263fd7525e",
      "parents": [
        "63ada4e178fdcaf47005c1d63a7c9d2e120b888b"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 20 13:44:40 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Oct 20 09:10:21 2017 -0700"
      },
      "message": "Revert \"Revert \"Add ability to have device-name based options\"\"\n\nThis reverts commit 63ada4e178fdcaf47005c1d63a7c9d2e120b888b.\n\nWe didn\u0027t read the right entries from the dict of device options.\n\nReason for revert: fixed issue with missing dict read\n\nTest: Add \"\u0027host\u0027 : { \u0027run-test-args\u0027 : [ \u0027--help\u0027 ] }\" and ./test.py --host\nTest: ./test/testrunner/testrunner.py --target -t 001-HelloWorld\nTest: Manual\nBug: 67649705\n\nChange-Id: Iba58dc5ff7e1b1882ab16225fc906dfb0d9b781f\n"
    },
    {
      "commit": "63ada4e178fdcaf47005c1d63a7c9d2e120b888b",
      "tree": "15afa0e8cf627f52e60737d30211ed4fe4044e8c",
      "parents": [
        "af2eee5c3f44699ce658c260998117b512cc6626"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 20 08:16:04 2017 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Oct 20 08:16:04 2017 +0000"
      },
      "message": "Revert \"Add ability to have device-name based options\"\n\nTests fail on fugu:\nrun-test-args: no such test directory\n\nBug: 67649705\n\nThis reverts commit af2eee5c3f44699ce658c260998117b512cc6626.\n\nChange-Id: Ief5fcdc9003f3daefa0b99c5113c8567e95e9ad9\n"
    },
    {
      "commit": "af2eee5c3f44699ce658c260998117b512cc6626",
      "tree": "ce5bae18ae46c2a23aefe7c5e6b031b1d363ebd2",
      "parents": [
        "4a6603701b217bbbd75020e1689c87c61125ef02"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 18 13:29:18 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 18 21:17:52 2017 +0000"
      },
      "message": "Add ability to have device-name based options\n\nIt is sometimes useful to add additional options in run-test for\nsepecific devices. This CL adds the ability to do that using the value\nof the \u0027ro.product.name\u0027 property. It uses this to reduce Xmx for fugu\ndevices.\n\nTest: Manual\nTest: ./test/testrunner/testrunner.py --target -t 001-HelloWorld\nBug: 67649705\nChange-Id: Ie4fff410bdd74bb5cbf0f1e64e0776cfd6ce1eca\n"
    },
    {
      "commit": "c53ade547ddde50f3f94a372a8ae1e584aaae073",
      "tree": "99e7a219d6dec4a4c639f5e42916dc4ca179f943",
      "parents": [
        "baeedfee3521c295916e3ae85afa2cb5dee7d6a5",
        "1ebe6144e9e81edc01874c1cbbad2a87402ff55e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 00:19:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 11 00:19:24 2017 +0000"
      },
      "message": "Merge \"Include run-test command in script failure output.\""
    },
    {
      "commit": "249726c999de97d08d22d7935e6866d66508f6e1",
      "tree": "e1e64c869d1821469b05342feefdd5bd64e2c3cc",
      "parents": [
        "1e0730a34b09bd45075f1c258baffc7a58606307",
        "93857f292ce8581ed84e195a13245cad90fe69ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 10 01:45:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 10 01:45:27 2017 +0000"
      },
      "message": "Merge \"Restrict number of testrunner jobs to be equal to # cpus.\""
    },
    {
      "commit": "93857f292ce8581ed84e195a13245cad90fe69ad",
      "tree": "0d5b2f74b94126982b658db4732dd1f7416a10db",
      "parents": [
        "7ec532fd6387a309c824f1abba466003593a685e"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Oct 09 13:47:35 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Oct 09 14:25:30 2017 -0700"
      },
      "message": "Restrict number of testrunner jobs to be equal to # cpus.\n\nIf not explicitly provided, testrunner set the concurrency to the\nnumber of available cpus.\n\nBug: 65822340\nTest: ./art/test/testrunner/run_build_test_target.py art-forcecopy -j100\nChange-Id: I9e1473e0739289e5307ae618f0fe6fe5debf720c\n"
    },
    {
      "commit": "1ebe6144e9e81edc01874c1cbbad2a87402ff55e",
      "tree": "66c58d0c2da677def04d9dd24f45e467ab51a650",
      "parents": [
        "8cdfac752808784d29185710095ad104922cd861"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 03 15:00:10 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 03 17:05:19 2017 -0700"
      },
      "message": "Include run-test command in script failure output.\n\nIt is often difficult to determine what command was actually run when\na test fails. This adds it to the output.\n\nTest: Manual\nChange-Id: I4d2932aa3f4f48038ee2a354289be6933cf25c82\n"
    },
    {
      "commit": "0afa07af28def04784678599d68b3634c36cbb47",
      "tree": "fdeb4a301ffeb336bfe955526788a81404b87dd3",
      "parents": [
        "8cdfac752808784d29185710095ad104922cd861"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Oct 03 16:56:30 2017 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Oct 03 16:57:29 2017 -0700"
      },
      "message": "Use D8 based the default in build var.\n\nChange-Id: I94dd97dcf0ada9a600ea7de9f3faeb6561971cf0\n\nTest:  art/test.py --host  -b -r  -t 911-get-stack-trace\n"
    },
    {
      "commit": "42ea83b55f963e42dae11b7b59a5fa2ed3e3ed10",
      "tree": "29aff4668ea276bb6ae09ddd83ccee36c7d4364d",
      "parents": [
        "5b294caa8d406badf2ed99dda68483736d93da22"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Sep 25 21:05:57 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Sep 26 23:44:57 2017 +0000"
      },
      "message": "Provide a way to run all the configurations of run-test\n\nTest: ./art/test/testrunner/testrunner.py --all -t 001-H --dry-run\nBug: 66924767\n\nChange-Id: I50c1ad12f3cf1e220c4e5fb912c4a847fe885468\n"
    },
    {
      "commit": "5b294caa8d406badf2ed99dda68483736d93da22",
      "tree": "5f4544509f12b5b1fe982324f80bd0c1ffe55364",
      "parents": [
        "b2c45f802cdf3fd947d0e4181cee6a2f1c21c619",
        "d0358f80f84a3b1cc450137feaaaa5c2717adab5"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Sep 26 23:44:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 26 23:44:04 2017 +0000"
      },
      "message": "Merge \"Remove legacy make env variables\""
    },
    {
      "commit": "b2c45f802cdf3fd947d0e4181cee6a2f1c21c619",
      "tree": "cbe2d32a83710610b5d576db90fb5ef121d2070c",
      "parents": [
        "2dc2bcc09aff444fad4d0c0ae12458bde5716699",
        "85853956da4fe07c636f38df12884abc404637d4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 26 22:37:31 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 26 22:37:31 2017 +0000"
      },
      "message": "Merge \"Testrunner: Refactor to remove duplication of variant types\""
    },
    {
      "commit": "d0358f80f84a3b1cc450137feaaaa5c2717adab5",
      "tree": "a4670cfdac166f94e83abbe82d0b5cbd8447cc98",
      "parents": [
        "85853956da4fe07c636f38df12884abc404637d4"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Sep 25 20:57:32 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Sep 26 22:12:02 2017 +0000"
      },
      "message": "Remove legacy make env variables\n\nThese are rarely used and some of the newly added variants\nare also missing the support. To keep the consistency, removing the\nsupport for the others as well.\n\nTest: ./art/test/testrunner/testrunner.py\nChange-Id: If80718803f44744525404f08f4aa8d1461d88655\n"
    },
    {
      "commit": "85853956da4fe07c636f38df12884abc404637d4",
      "tree": "0b18750840b6b40898105dc7906b2fdb54540ab4",
      "parents": [
        "208dd6076bdddcb04afb0397e4d4708f44a5dd60"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Aug 29 16:26:21 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Sep 26 13:52:09 2017 -0700"
      },
      "message": "Testrunner: Refactor to remove duplication of variant types\n\nTest: manual\nChange-Id: I048d927ca8c9a6beeecdfb4586ead82ac765468c\n"
    },
    {
      "commit": "6fdc1b671e089e52abca05b58fb8026a3a2d4701",
      "tree": "b83e266e0ecdd257c3e8951402789901ec743d8d",
      "parents": [
        "91842aebfa418f5efad8933a9d79db097f079246"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Sep 18 11:33:56 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Sep 22 09:50:41 2017 -0700"
      },
      "message": "Updated tests skips for jvmti/redefine stress.\n\nAlso added support for tests skips to be regex patterns so that we\ndon\u0027t need to manually add every checker test to the list of skips.\n\nTest: ./test.py --host -j50 --redefine-stress\n\nChange-Id: I87f14bf16b2e4dee4c6c6a01a34f5b2191dfbad1\n"
    },
    {
      "commit": "981d99c84e458d835f8417293389ca4d45fa5242",
      "tree": "a24a28bdb970abf84c036ec455c19a651ef0ff3f",
      "parents": [
        "70f94cace70be42861ba0a433cfe4bdf6c892f7c"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Aug 17 14:11:08 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Tue Aug 29 10:11:22 2017 -0700"
      },
      "message": "Testrunner: Added an option to set # dex2oat-jobs for each test\n\n--dex2oat-jobs\n\nTest: test/testrunner/testrunner.py -j64 --dex2oat-jobs 15\nTest: test/testrunner/testrunner.py -j64\nBug: 64686163\nChange-Id: I2e41605b35392cbfb4e85d472cb901a766a3081e\n"
    },
    {
      "commit": "186d3219ca2ad450f227ac704282be735c202500",
      "tree": "5f9665e7b3299f911a2a305e17c5e678cdd51c49",
      "parents": [
        "ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri Jul 21 01:20:57 2017 +0000"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Fri Jul 21 01:20:57 2017 +0000"
      },
      "message": "Revert \"Set timeout for testrunner in go/ab\"\n\nThis reverts commit ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a.\n\nChange-Id: Ia56e6d4a4a9187f495af2e5f1e9bd9b1e40d7a43\n"
    },
    {
      "commit": "ba0903b6f2c53befc1a33cce07e54e6fdb4f4d8a",
      "tree": "477d605ac5e26b3cecfdabf82f16b0af8a27a158",
      "parents": [
        "2f0ac4fb4486e7d9e5c1545d45a2b9b818a80dc3"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Mon Jul 17 17:45:36 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Jul 20 17:55:59 2017 +0000"
      },
      "message": "Set timeout for testrunner in go/ab\n\nWith this, we will be able to capture timing info of the tests.\n\nTest: ./art/test/testrunner/testrunner.py\nChange-Id: I57131c8e02f5ac92759a9c4977c2ca61b15b43e1\n"
    },
    {
      "commit": "c38c3699b8d91c837c0e590a618aeb4860eed5cc",
      "tree": "83e300a8f9b4c065e5467f5473e25bb2451481cc",
      "parents": [
        "a26e349b960a7b4c49929a5c4bcaff56e79fbe73"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 27 15:45:14 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 28 13:48:19 2017 -0700"
      },
      "message": "Add JVMTI breakpoint and SingleStep tests\n\nTests for functionality related to the can_generate_single_step_events\nand can_generate_breakpoint_events jvmti capabilities.\n\nBug: 62821960\nTest: ./test.py --host -j40\nTest: ./test/run-test --host --jvmti-step-stress 001-HelloWorld\nTest: ./test/run-test --host --jvmti-step-stress 914\nChange-Id: Id2a4db5a6de3a97726f03f5e735c2bb77dafe4ca\n"
    },
    {
      "commit": "43e935dfd2d16c6a1a2d120ca6b99ffabd064239",
      "tree": "c5d08d693bdbbb89a9c192d79f37a3e4150ce43d",
      "parents": [
        "7c95849fb89ccc49d601a34d09cb629f3feb4116"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 19 15:40:40 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 19 15:49:18 2017 -0700"
      },
      "message": "Add field-access/modification to ti-stress.\n\nThese tests stress jvmti FieldAccess and FieldModification.\n\nTest: ./test/testrunner/testrunner.py --host --field-stress -j40\nChange-Id: Ie2ea91e165beed73f14e8aff0adb137becdccd01\n"
    }
  ],
  "next": "b7edcda968bb0cbaa69a3ad387fcd3194f5612be"
}
