)]}'
{
  "log": [
    {
      "commit": "3e29e19c9ae2c1785cfff17ad67d4bde8abda2a5",
      "tree": "59630052122c3fcc4d2f9e4a88a8220b09595e49",
      "parents": [
        "da144b68f4b66ccb0c8d6e677372087be0d83889"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 14:24:04 2019 +0100"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Sep 04 16:49:58 2019 +0000"
      },
      "message": "Switch testrunner.py to report times with monotonic clock\n\nBug: b/138868214\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 10\nTest: art/test/testrunner/testrunner.py --target --32 --jit --target \\\n   --verbose --ndebug -t 159 --timeout 1\n\nChange-Id: I3f59154a08fd84699adfc6d774c4ec3fe2729b05\n"
    },
    {
      "commit": "da144b68f4b66ccb0c8d6e677372087be0d83889",
      "tree": "c3a40fc83dd3d9aa51795521b8cbd34405c4d630",
      "parents": [
        "358b49d2124dc8e45f492f0728028d37cfbfb979"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Sep 03 11:57:53 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 03 13:14:47 2019 +0000"
      },
      "message": "Address syntax warnings in testrunner.py\n\nBug: N/A\nTest: manual\nChange-Id: I293d33cad3d367511cbe04a27c6de65fe6cd9ec3\n"
    },
    {
      "commit": "d6be5da75294d29060440a10e77f5d3461ed8d74",
      "tree": "2a92b0c53c3b40ef36cb8a81c4326b323d63b80c",
      "parents": [
        "ad909af6c4be163bf2d5f4ca1e0487cc619a5041"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Jul 16 17:14:46 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 02 10:28:27 2019 +0000"
      },
      "message": "Update references to the ART APEX for tests.\n\nTest: art/tools/buildbot-build.sh --host \u0026\u0026 art/test.py --host --64 --optimizing\nTest: art/tools/run-gtests.sh in chroot\nTest: art/test/testrunner/testrunner.py --target --64 in chroot\nTest: art/tools/run-libcore-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nTest: art/tools/run-jdwp-tests.sh --mode\u003ddevice --variant\u003dX64 in chroot\nBug: 135753770\nChange-Id: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\nMerged-In: I876c5a2931970d6a75c1812e0f87bc65ab7bde0f\n"
    },
    {
      "commit": "a86a5d162e6b59a32e8ea7991e6c8a157aca5a0a",
      "tree": "438596ce2b406fcae4cbb7427f906c26ae5814c1",
      "parents": [
        "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 11:03:05 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Prevent attempts to run impossible configurations.\n\nSome configurations, such as --regalloc_gc --prebuild are\nfundamentally incompatible and will always fail. Add support for\nspecifying a list of these impossible configurations and automatically\nskipping them.\n\nTest: ./test/testrunner/testrunner.py --host -t 001-HelloWorld --all-compiler --all-prebuild\nChange-Id: I54ddac3e5c762cd9209e788fe2ab7d6b863b286c\n"
    },
    {
      "commit": "bf8a5d8f4b0c181f38bf0f5fa270cd65140d9ff2",
      "tree": "98ef51eae1c870b83ca683a14583f2526adc18e9",
      "parents": [
        "ab5f4c17a86b8c808dba862db566f0ffa1146367"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Aug 30 10:17:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 30 21:13:33 2019 +0000"
      },
      "message": "Add --all-\u003ctype\u003e options to testrunner\n\nIt is sometimes useful to test all combinations of a subset of\noptions. This adds the ability to do so by using a \u0027--all-\u003ctype\u003e\u0027\noption that acts like passing in every flag of the given type. For\nexample passing `--all-gc` acts like passing `--gcstress --cms\n--gcverify`.\n\nTest: ./test/testrunner/testrunner.py --host --all-gc --all-compiler --host -t 001-HelloWorld\nChange-Id: I13662194b3ba9e2cd55d9ed2e2974d5f306d9b5c\n"
    },
    {
      "commit": "4e8e0a5a2a6b0404a5ecd118e647adcb50c464af",
      "tree": "c9d2578609ba1024610764c335239aa9ae62f591",
      "parents": [
        "0414e244c82ed5140b5a7626f935b548e8588195"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Aug 29 16:28:26 2019 +0100"
      },
      "message": "Fix vpython embedded specification\u0027s bookends in testrunner.py.\n\nTest: Rely on the ART Buildbot\nBug: 140161314\nChange-Id: I1b7279aebd83ec8d7c900d6b321e90d1c4533fe5\n"
    },
    {
      "commit": "8feeef6bf1425ca3b5f012b318ae0439984f24fc",
      "tree": "6e8ed3e0180a2575568132e927a9856a068b016d",
      "parents": [
        "4cb48c1bd359bee98a1a4c0cff475d76a3b5483a"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 10:11:21 2019 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Aug 29 11:49:33 2019 +0000"
      },
      "message": "Add required vpython version tag to testrunner.py\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nChange-Id: I0bbbebb502437c5f7254f1f8401c3a0c7052d961\n"
    },
    {
      "commit": "49484076e86b75b3449e18cc6827bd0a94ef1300",
      "tree": "011c5cb0ee53a8037c2baf79529a8ed10f9632d3",
      "parents": [
        "e09b87eb8d8c063ddaee53a70b4bc8dbf61ff66c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:03:37 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Aug 28 11:34:21 2019 -0700"
      },
      "message": "ART: Add testrunner diagnostics for b/140161314\n\nTry to give interpreter info on import failures.\n\nBug: 140161314\nTest: art/test/testrunner/testrunner.py -b --host -t 001-Main\nTest: manual (fake exception)\nChange-Id: I9d8fd9b0dd115b2625cbf52eb1c96be70f7b4d09\n"
    },
    {
      "commit": "1ec82e562a31fbd7383555b610743d85b7b4a7d4",
      "tree": "c3330952f350174d81b6afee476183d263ecd42d",
      "parents": [
        "52699518fa40739d0e69bc8e364b7a4569872845"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:41:04 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:33 2019 -0700"
      },
      "message": "ART: Properly kill timed-out test\n\nThe python documentation states that a subprocess should be killed\nand waited on after timeout.\n\nTest: m test-art-host\nTest: manual\nChange-Id: Icf6233e1f8999070d2554b115d35fb1c304b1303\n"
    },
    {
      "commit": "52699518fa40739d0e69bc8e364b7a4569872845",
      "tree": "3944cfed2dd7d2242ba67d28c22ce0c538f0f990",
      "parents": [
        "9ac8e4327bd732e4b3b9b8dc6a29560013338d21"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Aug 02 17:27:47 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Aug 26 11:01:14 2019 -0700"
      },
      "message": "ART: Take actual time on timeout in testrunner\n\nBug: 138868214\nTest: m test-art-host\nTest: manual\nChange-Id: I73bd4fd72550c86d24a48bf4a2290f25795171f1\n"
    },
    {
      "commit": "6461124331de7707f3b109cec38337d851be997e",
      "tree": "551fe08dc46d71f903244080f90df751d648adb5",
      "parents": [
        "3cb59a4e22bff5a06f5bcd1deb86e2580dd36de3"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Fri Jul 05 16:32:41 2019 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu Aug 08 11:06:51 2019 +0000"
      },
      "message": "Remove icu .dat file from Runtime module\n\nBug: 137009149\nBug: 130295968\nTest: device boots\nTest: m out/target/common/obj/JAVA_LIBRARIES/ahat-test-dump_intermediates/test-dump.hprof\nTest: art/build/apex/runtests.sh fails due to bug 138103882\nTest: art/tools/buildbot-build.sh\nTest: m test-art-host-gtest\nChange-Id: I0501fd6dd02dac3cf9780f5f1c0103e4b0475e1f\n"
    },
    {
      "commit": "7409b9fb679d982b4a3c790fc9711f81d68ffca3",
      "tree": "e4432b275fabb2e0e8c837e9f8f5c74f34eb2ea7",
      "parents": [
        "ef1178a0920d6f8278a07c619af552e7f20b0255"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jul 08 09:29:52 2019 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jul 12 17:23:51 2019 +0000"
      },
      "message": "ART: Collect test times in testrunner\n\nIn verbose mode, display test time.\n\nTest: art/test/testrunner/testrunner.py -b --host -v -t 001-HelloWorld\nChange-Id: I37c251dd005257c9173e5cb214fbf996654dab83\n"
    },
    {
      "commit": "bb5b4f35e7d4cfddb9aedb4f2ea35b017650cd58",
      "tree": "c62934250a5e74f1d194eeefa9bc8c7c9ee03131",
      "parents": [
        "4a30f89d65efa9b85c34bbd7aa23ea4cd38b920d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jul 09 02:31:48 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 10 15:54:45 2019 +0000"
      },
      "message": "Revert \"Disable opaque JNI Ids for now.\"\n\nWe were incorrectly using a potentially out-of-date pointer to access\nclass object fields. This could cause segvs if the class object moves\nduring certain allocations relating to JNI id allocation.\n\nThis reverts commit 1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01.\n\nReason for revert: Fixed issue with gcstress\nTest: ./test.py --host --debuggable --gcstress\nBug: 134162467\n\nChange-Id: I6ee7fc4485bbae6f0f1d4f4af0e8c2bc88bf4075\n"
    },
    {
      "commit": "1be9c72dd49e7620dd76a8b9cef23d7cde0a6b01",
      "tree": "28c508dde96a47fa976d06f2b4b3ba08cb02925b",
      "parents": [
        "3768276ab9ec3ede28ac27c97dd42518b0e2dcd9"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jul 01 09:49:38 2019 +0100"
      },
      "message": "Disable opaque JNI Ids for now.\n\nThey fail on gcstress.\nTest: test.py --debuggable --gcstress\nBug: 134162467\n\nChange-Id: If57dd2fe6b57abd92b6a67383eeb8f8d5d8e3b2e\n"
    },
    {
      "commit": "79d6c800cd8aa1da335ea0523c391852780ac02a",
      "tree": "a77faf41d7b658709113c72d7eaaaa1ce2ded6b5",
      "parents": [
        "01fbfbebceb00b94cc54738ebf425b6c4a79211a"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jun 27 15:50:11 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 28 14:58:17 2019 +0000"
      },
      "message": "Revert^2 \"Support using opaque JNI ids\"\n\nWe weren\u0027t handing the fact that encoding jmethodIDs could cause OOM\nexceptions in some places in reflection.cc. This could lead to\nattempting to use a null jmethodID as if it were a real id. This issue\nis fixed by the parent CL.\n\nThis reverts commit b476a29a2c.\nThis reverts commit 3b2905366c.\nThis Unreverts commit d5d645ffec.\nThis Unreverts commit 21d5994583.\n\nReason for revert: Fixed issue causing 004 debuggable flakes\nTest: ./test.py --host --jit --debuggable\nBug: 134162467\n\nChange-Id: Iece08ab299cd8a20f8382be7be6c3796858e70eb\n"
    },
    {
      "commit": "b476a29a2cda22b86fc1d96e4cc65ce36fb878af",
      "tree": "039eaee2edf5495275088d1c467e522977c6bcd6",
      "parents": [
        "3b2905366c6ee1eaba2d6477078e505e377343ec"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 07:54:48 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jun 27 08:16:04 2019 +0000"
      },
      "message": "Revert \"Support using opaque JNI ids\"\n\nThis reverts commit 21d5994583c679cd5d8573b5d35dbd659bdca2c7.\n\nBug: 134162467\n\nReason for revert: Breaks debuggable\n\nChange-Id: I9510a6ac208d392ff25ee196a1a519fecd151445\n"
    },
    {
      "commit": "21d5994583c679cd5d8573b5d35dbd659bdca2c7",
      "tree": "521906398a2f04048cc51b4f409b6a3ebc0c6ffa",
      "parents": [
        "5dfbe7ae9ed9a1a82446d32118190105a211a2d2"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jun 19 12:58:22 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jun 26 20:22:39 2019 +0000"
      },
      "message": "Support using opaque JNI ids\n\nCurrently JNI ids (jmethodID \u0026  jfieldID) are created by simply\ncasting the corresponding ART structure pointer. This is great for\nsimplicity but means we are prevented from performing operations that\ncould change these pointer values. To support these use-cases add\nsupport for loading the runtime with a layer of indirection between\nthese ids and the internal art data types.\n\nCurrently the JNI id type can be toggled only by passing the new\n\u0027-Xopaque-jni-ids:{true,false}\u0027 flag during startup.\n\nThis changes the --debuggable test configuration to pass\n\u0027-Xopaque-jni-ids:true\u0027 in order to get test coverage of this feature\nusing the \u0027art-jit\u0027 configuration.\n\nTest: ./test.py --host --debuggable\nTest: ./test.py --host --debuggable --jit-on-first-use\nTest: ./test/testrunnner/run_build_test_target.py art-jit\nBug: 134162467\nChange-Id: Id8c8cb9a5b8ff18dc2f40892fae2d344a7214f44\n"
    },
    {
      "commit": "f75dce49ebe792cfd0b62c59c86fdc793926ee4d",
      "tree": "72a50f8667ee88d3f030f4de91867666ab8064fa",
      "parents": [
        "a8d23cb7febebc44ddfc03a3a135bb983eb95029"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 08 09:36:23 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 09 01:01:02 2019 +0000"
      },
      "message": "Revert^2 \"Delete GSS\"\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\nTest: test/testrunner/run_build_test_target.py -j50 art-ss-gc\n\nThis reverts commit e18588381b34a5ed24417c826dc389a91f8d2b7f.\n\nChange-Id: I116b7ab7dec7cafebb1e718caea71c95353417ea\n"
    },
    {
      "commit": "163c8aba763f40c3e36e0b3f1a10b69904b96923",
      "tree": "fe8309ab16f0495237dd5286ccae6d944ebde4af",
      "parents": [
        "76b9c695a7cee0772cb9ee7e472bbf8ce3030a73"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Apr 05 11:40:30 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Apr 08 08:17:21 2019 +0000"
      },
      "message": "Use concurrent.futures.ThreadExecutor for testrunner threads\n\nMoves from controlling threads with a semaphore to a slightly more\nconvenient thread pool.\n\nMoves printing to be on the main thread.\n\nRemoves unnecessary thread for supervising tests.\n\nBug: 129406631\nTest: art/test/testrunner.py --dry-run (and simulate failures locally)\nChange-Id: I23244d35afa2341f1696ebc60cd009fb133ba872\n"
    },
    {
      "commit": "e18588381b34a5ed24417c826dc389a91f8d2b7f",
      "tree": "23eea25005dd814093f3f4ffd33d77619ae12388",
      "parents": [
        "926c5f03655562e3e4eecd0d1a7b6d6c5dc6ed9a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 07:50:25 2019 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Sat Apr 06 17:29:37 2019 +0000"
      },
      "message": "Revert \"Delete GSS\"\n\nThis reverts commit 1397ea10a8e0409c74efe251721a2ee9ffaa3127.\n\nReason for revert: Tests failing\n\nChange-Id: Ie25f7342f67685e2b4f80f8344a8a4d7e988f09f\n"
    },
    {
      "commit": "1397ea10a8e0409c74efe251721a2ee9ffaa3127",
      "tree": "aa7c44dd14f6161e6eb0aabe0cf281cb8ecdf859",
      "parents": [
        "3b23f7568077a10cb3dfd0bb7d1c5f4c035d65dc"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Apr 02 10:54:37 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Apr 05 15:54:52 2019 +0000"
      },
      "message": "Delete GSS\n\nDeleted GSS and related code.\n\nBug: 73295078\nBug: 72738921\nBug: 33795328\n\nTest: test-art-host\nChange-Id: I56d6c25a01abf3a969771c2161f9216c34a622e3\n"
    },
    {
      "commit": "6f342dd00e7423bd29b79607df655e44b654166e",
      "tree": "cdd370f1e91e4e77888f5103db5a257f08554984",
      "parents": [
        "2bcea184e4934ee6681837c9e80660cfac2166c6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:15:42 2019 +0000"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 21:38:38 2019 +0000"
      },
      "message": "Revert^2 \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nFixed issue that caused main-thread exception. Changed to using the\npython3.4 compatible subprocess API.\n\nThis reverts commit c26d9e3bffa8757f8f9bcc8798cc88f57136049e.\n\nReason for revert: Fixed issue causing tests to not run.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: If6a2246a3f039411011e99cce692d5a4ff1d0e47\n"
    },
    {
      "commit": "c26d9e3bffa8757f8f9bcc8798cc88f57136049e",
      "tree": "5b1a99a9bee8bc2f120b5d286cd9431df762ee95",
      "parents": [
        "d53f60658fb0d28279919cc856a55e4b6504dabe"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:06:32 2019 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Mar 27 17:09:14 2019 +0000"
      },
      "message": "Revert \"Only extract zipapex once for linux-bionic-zipapex tests\"\n\nSomehow an exception in the main thread doesn\u0027t cause testrunner.py\nto exit non-zero.\n\nThis reverts commit 912cee8ab1260c5022ddb4862620d6ed17658de7.\n\nTest: None\n\nReason for revert: Python version incompatibility\n\n[\u0027/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\u0027, \u0027--run-test-option\u003d--bionic\u0027, \u0027--runtime-zipapex\u003d/usr/local/google/buildbot/src/googleplex-android/master-art-host/out/soong/host/linux_bionic-x86/apex/com.android.runtime.host.zipapex\u0027, \u0027--host\u0027, \u0027--64\u0027, \u0027--no-build-dependencies\u0027, \u0027--host\u0027, \u0027--dex2oat-jobs\u0027, \u00274\u0027, \u0027--verbose\u0027]\nConcurrency: 40\n4150/4150 (100%) tests passed.\nException in thread Thread-1:\nTraceback (most recent call last):\n  File \"/usr/lib/python3.4/threading.py\", line 920, in _bootstrap_inner\n    self.run()\n  File \"/usr/lib/python3.4/threading.py\", line 868, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 508, in run_tests\n    with handle_zipapex(zipapex_loc) as zipapex_opt:\n  File \"/usr/lib/python3.4/contextlib.py\", line 59, in __enter__\n    return next(self.gen)\n  File \"/usr/local/google/buildbot/src/googleplex-android/master-art-host/art/test/testrunner/testrunner.py\", line 531, in handle_zipapex\n    subprocess.run([\"unzip\", \"-qq\", ziploc, \"apex_payload.zip\", \"-d\", tmpdir]).check_returncode()\nAttributeError: \u0027module\u0027 object has no attribute \u0027run\u0027\n\nChange-Id: I33a87fc2d96b250e30e3e08c60e9197daa11e049\n"
    },
    {
      "commit": "912cee8ab1260c5022ddb4862620d6ed17658de7",
      "tree": "18278fbb659b8d9250e4732b8a5db4984878c411",
      "parents": [
        "1617f8caf200820e6831296681d49df51982d66c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Mar 26 13:32:54 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 01:48:23 2019 +0000"
      },
      "message": "Only extract zipapex once for linux-bionic-zipapex tests\n\nWe were unzipping the zipapex for every test when running the\nart-linux-bionic-x64-zipapex tests. This could take a long time. This\nmakes us only have to unzip it a single time.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: Id7cf1b6445526a950c45b74fc98208e234d3069f\n"
    },
    {
      "commit": "26a5dd6fd1d65de29ba85e4bb61d9267dd428238",
      "tree": "952cdd73cefa3be7554e35dc2e9651b3054b7c29",
      "parents": [
        "d0430bfe6e08f932fa15b159457a5430f5b3ec25"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 13 15:16:35 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 18 16:08:05 2019 +0000"
      },
      "message": "Add support for ANDROID_TZDATA_ROOT\n\nSoon, code in the Android Core Library / ICU4C library will depend on the\nANDROID_TZDATA_ROOT environment variable being set. On device this points\nto the root of the com.android.tzdata module.\n\nUnlike ANDROID_RUNTIME_ROOT, ANDROID_TZDATA_ROOT it doesn\u0027t have to point to\nanything that exists because the code will fall back to looking in\nANDROID_RUNTIME_ROOT if it can\u0027t find the files it is looking for. Most\nof the changes in this commit are plumbing to make sure the environment\nvariable is set to benign defaults or passed through to the runtime.\n\nThis commit has been put together by looking for usages of\nANDROID_RUNTIME_ROOT and duplicating the logic.\n\nBug: 128422035\nTest: build only\nChange-Id: I2fd73fe16f5022742aaf634be158765cac8759e6\n"
    },
    {
      "commit": "e46d0fb7ea3267a3c3f3712d72ba8b2e5ceed436",
      "tree": "ecb508685a2e9ae19bac0b8f5665300b16c56f71",
      "parents": [
        "a6ea602f6a9b277b523494d6a20398e9c8aec98c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 30 13:48:30 2019 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 30 14:13:25 2019 -0800"
      },
      "message": "Fix running zipapex tests with arbitrary cwd.\n\nWhen running continuously the cwd is not always ANDROID_BUILD_TOP.\nThis could cause issues if OUT_DIR is relative to ANDROID_BUILD_TOP\nfor art-linux-bionic-x64-zipapex tests.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x64-zipapex\nChange-Id: I452cd70ec317257bf235532381a5784e9ebf253b\n"
    },
    {
      "commit": "2807614fcef6280c78e3987289fe345a770ca5c2",
      "tree": "e9efd9037a0ad7785f5f24ae36b37916a1988ed2",
      "parents": [
        "d7d3f6fa1870b9e9b8f58ab7854e5eeee071ba2e"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 16:39:25 2019 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Jan 10 18:14:28 2019 +0000"
      },
      "message": "Add support for option `--android-runtime-root` to ART run-test scripts.\n\nAlso have testrunner.py honor `ART_TEST_ANDROID_RUNTIME_ROOT` and pass\nits value via `--android-runtime-root` to art/test/run-test (for\ntarget testing).\n\nThese changes are needed for the interim period where\n- we have code running on the ART Buildbot using\n  `ANDROID_RUNTIME_ROOT` to locate files on device (namely ICU code\n  looking for ICU .dat prebuilt files); and\n- the Runtime APEX is not (yet) available on all environments where\n  ART is running (namely the ART Buildbot).\n\nTest: Rely on the ART Buildbot.\nBug: 121117762\nBug: 119293618\nBug: 113373927\nChange-Id: I83bbb2442f15ed82eee3369dad1d249227bb3442\n"
    },
    {
      "commit": "20802ca8210fb9e86433fcdd5b67dbfc760f82b5",
      "tree": "95a9e76b0599718cb4b74463a012626b99298b1c",
      "parents": [
        "3cd5a75c4fb4ab87baa1699085a664979013a084"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Dec 05 15:36:03 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Dec 10 13:20:56 2018 -0800"
      },
      "message": "Add buildbot target using linux_bionic zipapex\n\nAdds art-linux-bionic-x64-zipapex target config. This target uses\nbinaries from the com.android.runtime.host zipapex to execute the art\nrun-test suite.\n\nTest: ./test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64-zipapex\nBug: 120436895\nChange-Id: Ie0cb1b7489f698dfb4f7f6d01a4c99701343cfff\n"
    },
    {
      "commit": "cbc64c8aa56b93eb87283fea83f871db445fbf60",
      "tree": "5fed50872576b70acf5cb370b9cb94230bf1ba61",
      "parents": [
        "c754cc8e1c2dbcb1331ec2bed3ea0787bdd2b5c3"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 19 05:09:47 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Nov 19 06:00:06 2018 -0800"
      },
      "message": "Revert \"Disable running run-test with linux_bionic\"\n\nThe build_linux_bionic_tests.sh script was using incorrect environment\nvariables causing it to fail to build all required libraries when run\non the bots.\n\nReason for revert: Fixed issue with running linux_bionic run-tests on\n                   the bots.\n\nThis reverts commit 1d77a70bc0e1138dbd4a57375f34854bcdb26780.\n\nTest: cd \u003candroid-root\u003e;  # don\u0027t do envsetup or lunch\n      ./art/test/testrunner/run_build_test_target.py -j80 art-linux-bionic-x64\n\nBug: 119673278\nBug: 119687007\n\nChange-Id: I6f484d0d2e2accbfab6bd90c510915d5e2eeb64d\n"
    },
    {
      "commit": "1d77a70bc0e1138dbd4a57375f34854bcdb26780",
      "tree": "8d19e1ae64a057381f91fbb43ac10bdbed9bc553",
      "parents": [
        "e14294cc489aa5427c3eeede59ab90d0f2b466d6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 16 15:46:42 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Nov 16 15:49:10 2018 -0800"
      },
      "message": "Disable running run-test with linux_bionic\n\nCurrently it is failing due to some issue with library search path.\n\nTest: ./test/testrunner/run_build_test_target.py art-linux-bionic-x86\nBug: 119673278\nBug: 119687007\nChange-Id: I1edda532c1822214a7bcb36850b1a5e450c94491\n"
    },
    {
      "commit": "cbdca728b45a3eae3f6f7da4b499b292ebc42ea5",
      "tree": "056328157334dd17c3e1b7ed4140702e29759f7d",
      "parents": [
        "bad5c9a1f43148dc71f3b8e61cc201bc815fbac6"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:03:02 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Nov 13 14:45:30 2018 -0800"
      },
      "message": "Add art-linux-bionic-x64 target-config\n\nThis config can be used to run linux_bionic tests. Updated\nrun_build_test_target.py to support allowing fully custom build\ninstructions (Linux_Bionic cannot be built with a simple make\ncommand).\n\nTest: ./art/test/testrunner/run_build_test_target.py -j72 art-linux-bionic-x64\nBug: 118778408\nChange-Id: I27d12c508407e318d31fc50e541f7d990118e7b6\n"
    },
    {
      "commit": "8ed45c876077771455d63dd7e315b439230812f8",
      "tree": "239cc6db092fa00908af0be433b80baff16b172e",
      "parents": [
        "a5de05da46e8a93436e68e7e0d242dce46269527"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 15:08:57 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Nov 08 17:09:16 2018 +0000"
      },
      "message": "Add test configuration for the switch interpreter.\n\nBug: 31358597\nTest: ./art/test/testrunner/run_build_test_target.py art-interpreter-cxx\nChange-Id: Iebb7a3a5168a27654984f3749a7b86542422671b\n"
    },
    {
      "commit": "49a01879af54fdbc63dfb8361792437ff1b1e756",
      "tree": "37fd69b213218fb730f400f2b9179356fedf21d0",
      "parents": [
        "89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:46:04 2018 +0000"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Oct 21 19:53:52 2018 +0000"
      },
      "message": "Revert \"Remove DIST_DIR uses in ART.\"\n\nThis reverts commit 89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa.\n\nReason for revert: fixed with https://android-review.googlesource.com/c/platform/build/soong/+/796459\n\nTest: art/test/testrunner/testrunner.py --host -b -t 001-HelloWorld\nChange-Id: Icde2015f110f135f2010d603d764a51aa5ae07a5\n"
    },
    {
      "commit": "89e5a9f0e3dbb33d9dd6be6cffbc74e93a6c8faa",
      "tree": "1322bf3b124063bfd1ed477156173266c08152d8",
      "parents": [
        "fa9abc28c7825040812101210ccf9b99ef3d565a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:02:17 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Sun Oct 21 14:02:17 2018 +0100"
      },
      "message": "Remove DIST_DIR uses in ART.\n\nRequired after https://android-review.googlesource.com/c/platform/build/soong/+/796458\n\nTest: testrunner.py\nChange-Id: I9b4a41c928749b6fc5ff4df5d1b8113103a6e681\n"
    },
    {
      "commit": "d51af9e040e378d0d66b8029f002332c36bdedb9",
      "tree": "50077f7d76726f00df73823136eaecde1e8cd4a5",
      "parents": [
        "e12575640dca5118bf96245f373acda276c22178"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 11 16:07:55 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Oct 11 16:07:55 2018 -0700"
      },
      "message": "Make testrunner runnable from art directory\n\nWe were using a relative path to the soong_ui.bash script in\ntestrunner. This meant testrunner could only be run if you were in the\nANDROID_BUILD_TOP directory. This makes that path absolute by\nprepending ANDROID_BUILD_TOP to it.\n\nTest: ./test/testrunner/testrunner.py --host -b\nChange-Id: I9007d2de79b07bf77a6ddc6a569f553acb20f63e\n"
    },
    {
      "commit": "4519b9d28719a726c09ef8e02b00ea93ea9f6f03",
      "tree": "687ebaa5b5560017f67cc676b25c573d9aa434b0",
      "parents": [
        "a2da9b99fa1ea3d25d52da71308a623b2aae216c"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:21:21 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 18:05:48 2018 +0100"
      },
      "message": "Make the boot image always multi-image.\n\nDeprecate the --multi-image option.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: m test-art-target-gtest\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I01fd02341cb4dc4fa75a388071694b51ba0bc5f7\n"
    },
    {
      "commit": "a2da9b99fa1ea3d25d52da71308a623b2aae216c",
      "tree": "5533be23eee7c24b68b1b72272cbae3f35a708cb",
      "parents": [
        "dc3b4670b170b39a8bd6498d4de69c1513af1db2"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 14:21:55 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 10 15:25:26 2018 +0100"
      },
      "message": "ART: Completely remove the --compile-pic option.\n\nAnd the PIC-related fields from image header.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nTest: testrunner.py --target --optimizing\nBug: 77856493\nChange-Id: I3787369378f12d8cd9003bebeae62830a67def33\n"
    },
    {
      "commit": "acc56ac6a33a23abbf4a9a62528e352ea28c5407",
      "tree": "e1dd4569fd5b49879ec8dfd1b5ef5204a1084407",
      "parents": [
        "4ca6cc7ddcbd568b365c428371ea9675799775af"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Oct 09 08:45:24 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Oct 10 11:10:08 2018 +0100"
      },
      "message": "Introduce a \u0027baseline\u0027 variant for the compiler.\n\nImplemented as a stripped down version of the optimizing compiler,\nnot running any optimization.\n\nAdjust code to still work with expectations in code generators.\n\nbug: 111397239\n\nTest: test.py --baseline\nChange-Id: I4328283825f9a890616e7496ed4c1e77d6bcc5dd\n"
    },
    {
      "commit": "c71f38bdf7dca39a070ba25d436edcd758551f42",
      "tree": "03bc5d32f2f5e346d21b2a1b81205d7e55dc4066",
      "parents": [
        "6359e69d85bf9472f330d01a555e50c6581fb553",
        "2e956ba9368be3e7669f186e8f213aa6192c3fe8"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 20:50:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 20:50:38 2018 +0000"
      },
      "message": "Merge changes I166d5c7b,I15d5a2c2\n\n* changes:\n  Use soong_ui.bash instead of the deprecated make wrapper\n  Stop using DIST_DIR directly, use dist-for-goals\n"
    },
    {
      "commit": "ad694bf3d73379be15b1d2a4cbddafb26d6a4f73",
      "tree": "3b0d15391ab37dca28b1903e5bb1aac4824d9f17",
      "parents": [
        "e0440636201c60d9fdbde656f8a3cd4eee12d3a1"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 09 14:49:15 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 09 15:35:23 2018 +0100"
      },
      "message": "Add a `jit-on-first-use` \"compiler\" option to ART\u0027s testrunner script.\n\nThis can be used to filter tests in test/knownfailures.json.\n\nTest: art/test/testrunner/testrunner.py --jit-on-first-use\nBug: 62611253\nChange-Id: Ie45ee10b794dc9f0749ef8fb0d174cc38653c6ba\n"
    },
    {
      "commit": "2e956ba9368be3e7669f186e8f213aa6192c3fe8",
      "tree": "8a97a3b098035074eb9246c9debf5d89c718825e",
      "parents": [
        "db72e5ec7ca18282fe03bba20494b021fbdaa7c6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Mon Oct 08 17:44:45 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 06:08:40 2018 +0000"
      },
      "message": "Use soong_ui.bash instead of the deprecated make wrapper\n\nTest: ./art/test/testrunner/run_build_test_target.py -j50 art-gtest\nChange-Id: I166d5c7b480289fbe25ba13d0f5e8593125d6160\n"
    },
    {
      "commit": "db72e5ec7ca18282fe03bba20494b021fbdaa7c6",
      "tree": "b44b533354acb58f882061ee67b1bc21a92eb891",
      "parents": [
        "432d280f68d1649b79246228f51188fbee984af3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 02 14:09:21 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 06:07:52 2018 +0000"
      },
      "message": "Stop using DIST_DIR directly, use dist-for-goals\n\nWe\u0027re moving DIST_DIR handling outside of the Kati instance that reads\nthese makefiles. As such, the dist file actually needs to be represented\nin the build graph, not as a side effect of a phony rule. All of the\ndependencies of that phony rule must be actual files in that graph now\ntoo, not other phony rules.\n\nBug: 117463001\nTest: DIST_DIR\u003ddist ./art/test/testrunner/run_build_test_target.py -j50 art-gtest\nChange-Id: I15d5a2c28321ff7f0f8d7d99dc697bd0393380cb\n"
    },
    {
      "commit": "9ec8559bc2e18075cdcd9a2f09206b698d3c1993",
      "tree": "9b323f5532ff8d3cf6e10b7816c585e831cdb0d9",
      "parents": [
        "06cff4c9c057c5c702db87f5f28b211ec03713fb",
        "a497a39fe8830fe7b1c1c23b413753fe4e12923b"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 03 09:28:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 09:28:37 2018 +0000"
      },
      "message": "Merge \"Remove patchoat.\""
    },
    {
      "commit": "a497a39fe8830fe7b1c1c23b413753fe4e12923b",
      "tree": "c1f02f404feefb94fa105a563f0e6c1146ab22b8",
      "parents": [
        "d6266f3292eab5b043262c6366ed6b8131e152c5"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Sep 26 10:52:50 2018 +0100"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Oct 02 08:54:11 2018 +0100"
      },
      "message": "Remove patchoat.\n\nTest: m test-art-host-gtest\nTest: testrunner.py --host --optimizing\nTest: Pixel 2 XL boots.\nBug: 77856493\nChange-Id: I6686ce9d23e02aa8b8ef4081b302dbd860d07718\n"
    },
    {
      "commit": "e9f61035e7077032a17d7d0e9035b6ef3995273f",
      "tree": "e24de0b760ef3848c8d405b4b7fec5a8b630778c",
      "parents": [
        "bb68fda18ef3d7ea183a322831a5afd20b6a8bff"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Sep 24 16:04:51 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Oct 01 15:34:02 2018 -0700"
      },
      "message": "Prevent the JIT from loading classes in debuggable mode\n\nIn debuggable mode the timing and placement of class loads is\nobservable. This causes deopts to be placed in situations where a\nclass would be loaded by the JIT.\n\nThis has negligible impact on performance of compiled code, causing\nonly a handful of classes to be not loaded.\n\nFor example with the it.mvilla.android.fenix2 application of the\n~13000 classes loaded the jit was responsible for 19 of them.\n\nSince the jit is only responsible for a small number of class loads\nand for the class not to have been loaded by the interpreter the path\nmust be cold anyway there is no performance impact on standard paths.\n\nTest: ./test.py --host\nTest: ./test/testrunner/testrunner.py --with-agent\u003dlibjitloadd.so\u003dfatal --host\nTest: Attach libjitload.so to running processes and examine jit-load\n      counts.\n\nBug: 70838465\nBug: 73255278\nBug: 112074977\nBug: 116517081\n\nChange-Id: I030bc8116345af506e83ba78427a7fbda7a7b386\n"
    },
    {
      "commit": "7ab23e4c1aa97290cb5683e3c5b788275ebb9807",
      "tree": "6f1a299475ae2222aa55457fa606d1790fe8d206",
      "parents": [
        "226bee0250b4fe443c56fde8f4ebb431d6bb2f1c"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 17:45:10 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 18:10:56 2018 +0100"
      },
      "message": "Clean up more test configurations (Part 2).\n\nRemove the following configurations, as they are disabled on\nour continuous testing infrastructure:\n- art-interpreter-gcstress\n- art-optimizing-gcstress\n- art-jit-gcstress\n- art-read-barrier\n- art-read-barrier-gcstress\n\nThis CL should not be submitted before cl/213456896 is merged.\n\nTest: n/a\nBug: 62611253\nChange-Id: Ide02a5ea86bd22810d8efa3491fbd670fde2e3f1\n"
    },
    {
      "commit": "226bee0250b4fe443c56fde8f4ebb431d6bb2f1c",
      "tree": "e4b5632357e55c7d6ae0ca7d12fa705b44affb38",
      "parents": [
        "a93364cbd4ebf4b8c309c4c18f30e16c8f9a8997"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 15:57:52 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 18 16:08:31 2018 +0100"
      },
      "message": "Clean up more test configurations (Part 1).\n\n- Start to \"rename\" some configurations: make copies of these\n  configurations under new names and tag the original\n  configurations as to be deleted later (in a follow-up\n  change), when they are no longer used:\n  - Copy art-interpreter-gcstress as art-interpreter-gcstress-gcverify.\n  - Copy art-optimizing-gcstress as art-optimizing-gcstress-gcverify.\n  - Copy art-optimizing-gcstress as art-jit-gcstress-gcverify.\n  - Copy art-read-barrier as art-read-barrier-heap-poisoning.\n- Remove the following configurations, as they are disabled on\n  our continuous testing infrastructure:\n  - art-no-dex2oat\n  - art-relocate-no-patchoat\n- Tag the following configurations for a later removal:\n  - art-read-barrier-gcstress\n- Tag the following configurations for a potential later removal:\n  - art-ss-gc\n  - art-ss-gc-tlab\n  - art-gtest-ss-gc\n  - art-gtest-ss-gc-tlab\n  - art-gss-gc\n  - art-gss-gc-tlab\n  - art-gtest-gss-gc\n  - art-gtest-gss-gc-tlab\n\nAlso fix the indentation of the configuration file.\n\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-optimizing-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-jit-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-read-barrier-heap-poisoning\nBug: 62611253\nChange-Id: I91f99c3af78fdce276c7acbe2fe7b64154d9249d\n"
    },
    {
      "commit": "3d8a78a79aaa47be68162cb3e3fb2544f9b624a3",
      "tree": "0f9790f629c798f5c371e75ae20af60fa39a3203",
      "parents": [
        "c497fca9aa25a331af6428aa0fb6b083c6292089"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Aug 29 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Aug 30 13:37:02 2018 +0100"
      },
      "message": "Revert \"Revert \"Remove OatFileAssistant::MakeUpToDate and friends.\"\"\n\nThis reverts commit baf3761013a30b8c5dc1d6179cddaeee0a764311.\n\nAlso remove the now deprecated --{no-}dex2oat option.\n\nChange-Id: I502c7011877f43f315abffa9b7d482ef13857125\nbug: 111174995\nbug: 111342996\n"
    },
    {
      "commit": "c2291a6bb017b8a4c0e776a0ec4ee106162b8a42",
      "tree": "054c6c2da23ec9714a65be410135eb08941a73b4",
      "parents": [
        "11529ab4cdf06e579182fa4252170aa4541f4ce9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Aug 20 14:24:05 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 14:51:09 2018 +0100"
      },
      "message": "Add an ART test target exercising Generational CC collection.\n\nAdd an `art-generational-cc` test target runing ART run-tests and\ngtests in Generational Concurrent Copying (CC) Garbage Collection\nmode (on host).\n\nTest: art/test/testrunner/run_build_test_target.py art-generational-cc\nBug: 67628039\nChange-Id: Id1a778394b0f30d528606aef3d5e33b41e3c8651\n"
    },
    {
      "commit": "76eb485c321a819c960074a83a42e298af59cec3",
      "tree": "35e810ea86fa7344d64e3d4ee767dc9d834aeb4a",
      "parents": [
        "2a403e51bbe94d742f71aad73d08a26b70824f46"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:24:43 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 22 12:26:49 2018 +0100"
      },
      "message": "Remove the `art-gtest-valgrind64` testrunner configuration.\n\nTest: n/a\nBug: 29282211\nChange-Id: I7af82dc5edcc877e9ed3c1a076542f1a1a406f54\n"
    },
    {
      "commit": "30f3e9ce8150f24154db3fa06d11a3b43df9f77b",
      "tree": "870976e2c9e33f36c9576b8f8d9ac7e43190ebf7",
      "parents": [
        "ca182f2c81e7102d3ccd1c4ec5c96e602ad343fe"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Aug 01 13:37:24 2018 +0100"
      },
      "message": "Run ART run-tests with ASan in interpreter access-checks mode.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 62448488\nBug: 109813469\nChange-Id: I515fedb319e6b9e71724f5e9c87cd722a3936fd3\n"
    },
    {
      "commit": "d8d3adcb2ab08725fcb9477887fb462748a4c6bf",
      "tree": "cb1beaedc39500ea399ad5bb2b9571f7b1d8f26a",
      "parents": [
        "a53cf8740d72fda0cb8e973f4df64f9ec4b9e8d6",
        "e596f1e7d28f2e9e861da959191538e90422c722"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 16:17:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 19 16:17:57 2018 +0000"
      },
      "message": "Merge \"Remove the `art-gtest-valgrind32` testrunner configuration.\""
    },
    {
      "commit": "ce6ed26ae9b078d7ac6782ccbc0713f25dd4932c",
      "tree": "172c175635bc53e374f0f6dafbf3636a6bf07282",
      "parents": [
        "47d165e4e2f11b780cb1b7a0347e7a9313467210"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:18:40 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 15:03:20 2018 +0100"
      },
      "message": "Run ART run-tests with ASan in speed-profile mode.\n\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 62448488\nChange-Id: Ie470006b3249ff456ec3b40c78cfa993dd5505e2\n"
    },
    {
      "commit": "e596f1e7d28f2e9e861da959191538e90422c722",
      "tree": "9fbf18dc005b55530bb834d530ae30679fdaa34f",
      "parents": [
        "47d165e4e2f11b780cb1b7a0347e7a9313467210"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:47:26 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jun 19 14:51:46 2018 +0100"
      },
      "message": "Remove the `art-gtest-valgrind32` testrunner configuration.\n\nTest: n/a\nBug: 29282211\nChange-Id: Ie041bb3cb65ef2688ce911e4faa02d05476cfb6d\n"
    },
    {
      "commit": "0d20d58c0d543a25b2dece1aeccd4c9984c7124c",
      "tree": "0dc566fa347060622c0aa5c4d2841a99ee1ffd10",
      "parents": [
        "ff5d955306660a6f6515967659515717076c1d87"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 16:16:41 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 12 16:42:19 2018 -0700"
      },
      "message": "Add missing spaces in constructing args\n\nWe were missing a few spaces in some argument strings. This could\ncause the testrunner to fail if it is used with a --run-test-option or\nwith multiple target options.\n\nTest: ./test/testrunner/testrunner.py --host --jvm\nTest: ./test/testrunner/testrunner.py --host --run-test-option\u003d\u0027--with-agent libtifast.so\u003dMethodEntry,MethodExit\u0027\nChange-Id: I8b4330c252e2f13f4591bbeadef3532ca7b31d06\n"
    },
    {
      "commit": "2682918b0168d3f47294676547efc0ee1c7a7249",
      "tree": "572fe4f04222c452b188784ce0d5be5aef203aeb",
      "parents": [
        "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 11 11:36:24 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jun 11 23:11:06 2018 +0000"
      },
      "message": "Add support for a --run-test-option to testrunner.\n\nSometimes it is useful to send specific run-test options to every\ntest. This adds a --run-test-option argument to testrunner that will\nlet one pass any run-test options down to run-test with no\nmodification.\n\nTest: ./test/testrunner/testrunner.py \\\n        --host \\\n        --run-test-option\u003d\u0027--with-agent libtifast.so\u003dlog,MethodEntry,MethodExit\u0027 \\\n        -t 001-HelloWorld\n\nChange-Id: Ice8e5b83fce4389b7461f5284c093dd144969640\n"
    },
    {
      "commit": "74f2ccc9fad3cfd8e04d24aceba1c58ce08884dc",
      "tree": "ba0051646cb8e8192f690259475101b61101d5c3",
      "parents": [
        "9fdd0125538fe63458aec68c4a40b025759bcf7c",
        "05e34f4cb8c9db165d1008721e874b9dd3db024b"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 11 15:02:44 2018 +0000"
      },
      "message": "Merge \"Revert^2 \"Remove support for Valgrind in ART.\"\""
    },
    {
      "commit": "05e34f4cb8c9db165d1008721e874b9dd3db024b",
      "tree": "c41d397ef5cfb9d7918fceadcda3195a0d0d91de",
      "parents": [
        "428d80e3a49f732b39bb0c71cfde26451e3fdf4d"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu May 24 13:19:05 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Jun 11 14:03:37 2018 +0100"
      },
      "message": "Revert^2 \"Remove support for Valgrind in ART.\"\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nThis reverts commit 8b362a87d52a6668ffd2283ef6ffc274315f41c8.\n\nChange-Id: I23c76845e6ccf766f19b22b58a0d5161f60842a9\nTest: art/test.py\nTest: art/test/testrunner/run_build_test_target.py art-asan\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "9cb13a66863411e6e885fd387d7908844270f42f",
      "tree": "944bdc205adc5cdb7662a3a8aa36e2d4f16d3695",
      "parents": [
        "693c6d609fe2eb3c5cf4259dc770a5e6bfc93b7b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 13:02:02 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 07 20:08:10 2018 +0000"
      },
      "message": "Add debugging for b/62653020\n\nWe are seeing errors reading out/soong/build.ninja when running\nART tests.  Add a hack to copy out/soong/build.ninja to DIST_DIR\non failure so we can see the contents.\n\nTest: Manually corrupt build.ninja, run testrunner.py with and without\n      DIST_DIR set.\nBug: 62653020\n\nChange-Id: I6d83b87d56b6787a98fec8b244f224d44cb85bc1\n"
    },
    {
      "commit": "1fdd8d899efb2d00ac859318ad150369c30f87c2",
      "tree": "4e868b60b67dfa4cf38af40f0541bad1a7b977f9",
      "parents": [
        "8d97f400f5addaa52f66b804bf031e1005bab3d4",
        "3a0eef03bc02b6e74db8f795cd9fc85164ec133d"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jun 05 16:30:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 05 16:30:11 2018 +0000"
      },
      "message": "Merge \"Run debuggable tests on art-jit\""
    },
    {
      "commit": "3a0eef03bc02b6e74db8f795cd9fc85164ec133d",
      "tree": "ebec7818c2a1ceb1af3093a44352178acdf473f0",
      "parents": [
        "df810b9c8d5013cd6f5799a75b6aaf0f3991210c"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 01 11:10:14 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jun 01 11:10:14 2018 -0700"
      },
      "message": "Run debuggable tests on art-jit\n\nWe were not running jit-debuggable tests anywhere. Adding them to the\nart-jit column should give us coverage for this configuration.\n\nTest: ./test/testrunner/run_build_test_target.py art-jit\nChange-Id: I7df9c017c9237910c4950888f04dd0a45eeac8da\n"
    },
    {
      "commit": "0b7e6c96ea859fa948b4a1973c5d1f17a8b9021a",
      "tree": "bfff0e4d9a4d8e7531b914ecb8bb81ea5f7639b6",
      "parents": [
        "a326807d1ac1e37798c928911777c9d7c1d7ab4d",
        "b0633b2d69b5bae42c4cf97696aa227e2a8750ef"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 25 13:34:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 13:34:40 2018 +0000"
      },
      "message": "Merge \"Have testrunner honor ART_TEST_CHROOT only for target tests.\""
    },
    {
      "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": "8b362a87d52a6668ffd2283ef6ffc274315f41c8",
      "tree": "14b187cd0b4afde501b9cc7a9dc82c997362e888",
      "parents": [
        "8268cb677bd92bfbcfec7e803775c29687494e53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 22 20:54:14 2018 +0000"
      },
      "message": "Revert \"Remove support for Valgrind in ART.\"\n\nThis reverts commit 8268cb677bd92bfbcfec7e803775c29687494e53.\n\nReason for revert: ASAN failures\n\nChange-Id: I7e66d3f3fb461ae4f6dea6ec7d506b7dface3402\nTest: SANITIZE_HOST\u003daddress m test-art-host\nBug: 77856586\nBug: 29282211\n"
    },
    {
      "commit": "8268cb677bd92bfbcfec7e803775c29687494e53",
      "tree": "b63ca42dcd440117187e3c859b4b311b11b8137e",
      "parents": [
        "004b8875b291af5001d384fb1eb76ae0660ff056"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri May 11 15:06:17 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon May 14 18:40:49 2018 +0100"
      },
      "message": "Remove support for Valgrind in ART.\n\n- Disable test configuration art-gtest-valgrind64\n  (art-gtest-valgrind32 was already disabled).\n- Remove Makefile logic regarding testing with Valgrind.\n- Remove occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_VALGRIND`.\n- Replace occurrences of `TEST_DISABLED_FOR_MEMORY_TOOL_ASAN` with\n  `TEST_DISABLED_FOR_MEMORY_TOOL`.\n- Replace the potentially dynamically evaluated\n  `RUNNING_ON_MEMORY_TOOL` expression with constant\n  `kRunningOnMemoryTool`.\n- Simplify and fold the logic of\n  `art::ArenaAllocatorMemoryToolCheckImpl` and\n  `art::ArenaAllocatorMemoryToolCheck` into\n  `art::ArenaAllocatorMemoryTool`.\n- Adjust comments regarding memory tools.\n- Remove Valgrind suppression files.\n- Remove `--callgrind` option from tools/art.\n\nTest: art/test.py\nBug: 77856586\nBug: 29282211\nChange-Id: Ifdcbfccc1830104c455760457df66ede4a4cd135\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": "28be106773d2191019941db795560bdd05ac0081",
      "tree": "1b26fafb150cd7074c2421fe2c1f14e7f1d587ad",
      "parents": [
        "4e9db792c29ccf970cf42d231945dde270b38116"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 10 11:24:30 2018 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Apr 10 11:40:29 2018 +0100"
      },
      "message": "Load-balance gcstress and gcverify ART test configurations.\n\nConfiguration art-gcstress-gcverify is sometimes hitting the build\ntimeout. Move \u0027interpreter\u0027, \u0027optimizing\u0027, and \u0027jit\u0027 coverage to other\ngcstress configurations to balance the load among builders.\n\nTest: art/test/testrunner/run_build_test_target.py -j30 art-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py -j30 art-interpreter-gcstress\nTest: art/test/testrunner/run_build_test_target.py -j30 art-optimizing-gcstress\nTest: art/test/testrunner/run_build_test_target.py -j30 art-jit-gcstress\nBug: 74196452\nBug: 62611253\nChange-Id: I7793256b284a56ce442d2d340405ca810a207dd8\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": "8867ed2f900944ac11051fd0abe8f5ccba93fc0e",
      "tree": "055806c25a3e85f301cd724c4531a807f27f079f",
      "parents": [
        "8fd8cdc43e10a421f6f63afb87f6f99c086058de",
        "a90c68c3a6acb9e47ec316edfa397cb6eb0a9e45"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 29 18:23:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 29 18:23:30 2018 +0000"
      },
      "message": "Merge \"Make testrunner.py --all more useful.\""
    },
    {
      "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": "981d6b58c81c20f7d5f7d5352c30c2d916c2e60b",
      "tree": "a158eb3885264d8adf7fae7bd8f0ad737d1ad291",
      "parents": [
        "d61071f0e4f936819f5c21d503ef6151bf3ad54e",
        "0e3a6addf60cbf006536d05aebe652e7ccddcd70"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 28 10:18:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 28 10:18:01 2018 +0000"
      },
      "message": "Merge \"Revert \"Move most art test off DX\"\""
    },
    {
      "commit": "0e3a6addf60cbf006536d05aebe652e7ccddcd70",
      "tree": "8fd20108950bdb0a28a85b2615b7463bf7e12263",
      "parents": [
        "9222417fdcf7c504fe86fa88b8a77363cb941e11"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 28 09:58:22 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 28 09:58:22 2018 +0000"
      },
      "message": "Revert \"Move most art test off DX\"\n\nReason for revert: 036-finalizer broken for gcstress configs\n\nNote: The run-test script changes do not seem to allow\nfallback to DX. That also puts into question the need\nfor the new \"build\" scripts in many tests.\n\nBug: 65168732\n\nThis reverts commit 9222417fdcf7c504fe86fa88b8a77363cb941e11.\n\nChange-Id: I990167267ac01174cc612cac87dbacd77dec8a45\n"
    },
    {
      "commit": "281caad98f2bd838cfa7fb065039583f03e4ef3a",
      "tree": "d9163ac93fbd3f3ad62792d5ffc61d33bcb04196",
      "parents": [
        "078edb342dcb0117a51503782e5e267c7e776d68",
        "9222417fdcf7c504fe86fa88b8a77363cb941e11"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Mar 27 17:57:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 27 17:57:29 2018 +0000"
      },
      "message": "Merge \"Move most art test off DX\""
    },
    {
      "commit": "9222417fdcf7c504fe86fa88b8a77363cb941e11",
      "tree": "f05543c90e4ca5abe0ba67978ad960856b040327",
      "parents": [
        "2f13276ff44dc56784abf82541c485f1b914d867"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Fri Mar 23 11:30:36 2018 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Mar 27 10:56:12 2018 -0700"
      },
      "message": "Move most art test off DX\n\nWe should move testing to D8 as dexer and prevent further\naccumulation of DX dependent tests from being checked in.\n\nBug: 65168732\nTest: run-test ... 646-checker-hadd-alt-short \u0026\u0026 run_build_test_target.py art-test \u0026\u0026 run_build_test_target.py -jvm\n\nChange-Id: Ibb76eb82b9517ae4bec2b031bab6eb782909d745\n"
    },
    {
      "commit": "f5f9db5276c6570bd349b3bdac9ef5b19fcf3962",
      "tree": "6a79c9159199275a4b2d27a30f086b46c30e8346",
      "parents": [
        "3615a10cef1e82b92dd2a58a594fc9fe2cf73c70"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Mar 14 16:25:10 2018 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Tue Mar 27 14:39:41 2018 +0100"
      },
      "message": "Add jit-on-first-use test configurations.\n\nTest: run_build_test_target.py -j48 art-jit-on-first-use\nTest: run_build_test_target.py -j48 art-jit-on-first-use-gcstress\nBug: 62611253\nChange-Id: I83b84d0dd660198cc712f7d12c4e4f803a5283a0\n"
    },
    {
      "commit": "7ee5371298903e0eda412d08e02d2381f1d5aea8",
      "tree": "714ae55dfcfad19ed6401928da67a695248061ce",
      "parents": [
        "f0edca6df56a60e6129a93b3ab6db13cabeb7c5e",
        "d5cbc56de42b1de0dfe64bbbf3d25b9806811862"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Mar 22 17:49:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 17:49:19 2018 +0000"
      },
      "message": "Merge \"Replace DX DexMerger with D8 in platform\""
    },
    {
      "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": "d5cbc56de42b1de0dfe64bbbf3d25b9806811862",
      "tree": "3389baf78a4daeecc78ec6020a8630e5b0a2a8fb",
      "parents": [
        "753ce1bcf458ad6c6fbb41689901943d44e7738e"
      ],
      "author": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Thu Mar 15 14:02:46 2018 -0700"
      },
      "committer": {
        "name": "Alan Leung",
        "email": "acleung@google.com",
        "time": "Tue Mar 20 15:39:17 2018 -0700"
      },
      "message": "Replace DX DexMerger with D8 in platform\n\nBUG: 73981693\nTest: art/test.py --verbose -j200 --host -b\nChange-Id: Idf7b71807019aca91094f69dba8c6b62e1a6bf16\n"
    },
    {
      "commit": "722093c305de5646759318fdeedc022c08a6723c",
      "tree": "569bfee8d8723e86cbddd1a691604251a59eed35",
      "parents": [
        "55e599a28fb63c1a5dd15937d1de578ccc91a351",
        "695de8dba3053c426f2c7a214b2f3acd06723648"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Mar 15 11:15:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 15 11:15:27 2018 +0000"
      },
      "message": "Merge changes I99269436,I04fe75c0\n\n* changes:\n  Remove superfluous environment variables in test configurations.\n  Move gcstress test configurations to use the CC collector.\n"
    },
    {
      "commit": "695de8dba3053c426f2c7a214b2f3acd06723648",
      "tree": "083ab1eadb7387fd92f78ff8d7c589ddf024bf1f",
      "parents": [
        "bdac3381d88d43afb7d55dc3ba3c8738927034a6"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Mar 13 13:37:47 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 14 13:16:28 2018 +0000"
      },
      "message": "Remove superfluous environment variables in test configurations.\n\nThe read barrier configuration is enabled by default, so we can remove\nall environment definitions setting `ART_USE_READ_BARRIER` to `true`.\n\nTest: art/test/testrunner/run_build_test_target.py art-test\nTest: art/test/testrunner/run_build_test_target.py art-ndebug\nTest: art/test/testrunner/run_build_test_target.py art-interpreter\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-access-checks\nTest: art/test/testrunner/run_build_test_target.py art-jit\nTest: art/test/testrunner/run_build_test_target.py art-pictest\nTest: art/test/testrunner/run_build_test_target.py art-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-read-barrier\nTest: art/test/testrunner/run_build_test_target.py art-read-barrier-gcstress\nTest: art/test/testrunner/run_build_test_target.py art-read-barrier-table-lookup\nTest: art/test/testrunner/run_build_test_target.py art-tracing\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-tracing\nTest: art/test/testrunner/run_build_test_target.py art-forcecopy\nTest: art/test/testrunner/run_build_test_target.py art-no-prebuild\nTest: art/test/testrunner/run_build_test_target.py art-no-image\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-no-image\nTest: art/test/testrunner/run_build_test_target.py art-relocate-no-patchoat\nTest: art/test/testrunner/run_build_test_target.py art-no-dex2oat\nTest: art/test/testrunner/run_build_test_target.py art-preopt\nTest: art/test/testrunner/run_build_test_target.py art-gtest\nTest: art/test/testrunner/run_build_test_target.py art-gtest-read-barrier\nTest: art/test/testrunner/run_build_test_target.py art-gtest-read-barrier-table-lookup\nBug: 62611253\nChange-Id: I9926943631927b2056aa51ebaeb3ace263d50c1c\n"
    },
    {
      "commit": "bdac3381d88d43afb7d55dc3ba3c8738927034a6",
      "tree": "e705234e9c8e479850123567ef126ba072782a23",
      "parents": [
        "86821aca0eff7fb1fff18c0d71acfcc06f5d73f3"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Mar 12 15:08:50 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Mar 14 13:16:23 2018 +0000"
      },
      "message": "Move gcstress test configurations to use the CC collector.\n\nThese test configurations used to use the SS (semi-space) collector:\n- art-gcstress-gcverify\n- art-interpreter-gcstress\n- art-optimizing-gcstress\n- art-jit-gcstress\nHave them use the CC (concurrent copying) collector instead, as it is\nour main collector now.\n\nTest: art/test/testrunner/run_build_test_target.py art-gcstress-gcverify\nTest: art/test/testrunner/run_build_test_target.py art-interpreter-gcstress\nTest: art/test/testrunner/run_build_test_target.py art-optimizing-gcstress\nTest: art/test/testrunner/run_build_test_target.py art-jit-gcstress\nBug: 62611253\nChange-Id: I04fe75c00e10a3a6926460d8728411fac220c7e6\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": "db9d3479f68069bd07c7370035ca682a602b2e52",
      "tree": "fcbaaec597b68fe8e937c79b80893b52af931b76",
      "parents": [
        "c5bfd3d59009b0e9b6494fa221065df4e991e527",
        "787b8d1768ece4e284a03ce1577bfdca260621d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 15:32:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 09 15:32:32 2018 +0000"
      },
      "message": "Merge \"Revert \"Reduce number of tests run in art-gcstress-gcverify.\"\""
    },
    {
      "commit": "787b8d1768ece4e284a03ce1577bfdca260621d9",
      "tree": "64b432c5eebacbd7731cd8baa94e7450922223cd",
      "parents": [
        "4f64fbb782987e48f67bae24fec12719482de97f"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 09 13:22:25 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Mar 09 13:22:25 2018 +0000"
      },
      "message": "Revert \"Reduce number of tests run in art-gcstress-gcverify.\"\n\nThis reverts commit 4f64fbb782987e48f67bae24fec12719482de97f.\n\nReason for revert: The initial issue (timeout on build bots) should\nhave been addressed by https://android-review.googlesource.com/635812.\n\nBug: 74196452\nBug: 74225325\nChange-Id: Ibbbd3f8747f57d0e00bc4bc960eb5b4dc1fa22e0\nTest: Start ./test/testrunner/run_build_test_target.py -j30 art-gcstress-gcverif\n"
    },
    {
      "commit": "1639f65404c77ae6e992faf19617491dbc417dfc",
      "tree": "1b6b075055d28f1c37d2ab45bb0b4810ad6aaec0",
      "parents": [
        "3d0660147f02370fe4b2c7d7337fcf5ca7a4839d",
        "88c68094eec056610208891c237dc074f138b276"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Mar 09 00:23:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 09 00:23:02 2018 +0000"
      },
      "message": "Merge \"test: Cache repeated soong invocations of get_build_var\""
    },
    {
      "commit": "88c68094eec056610208891c237dc074f138b276",
      "tree": "24ded2faaf0784c3ac4c88293ab21edebcd1f58b",
      "parents": [
        "34e992e481044a4a87c30fac368673f63fdacf9e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Mar 07 17:02:51 2018 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 08 13:37:37 2018 -0800"
      },
      "message": "test: Cache repeated soong invocations of get_build_var\n\nThis speeds up testing considerably since every call into soong was\ntaking 10-40s and this had to be done for every run-test to query\nthe javac libcore bootclasspath.\n\nNow it should only call into soong dumpvars once total.\n\nAlso speeds up 674-hiddenapi testrunner time by 2x.\n\nBug: 74196452\nTest: time art/test/testrunner/testrunner.py --host --jit --64 -t 674-hiddenapi\nTest: art/test/testrunner/testrunner.py --host\nTest: # manual check soong isnt taking all the CPU while running above.\nTest: art/test/run-test --host 004-JniTest # or any test really.\nTest: art/test/testrunner/run_build_test_target.py art-test\nChange-Id: I32f9247db76cfd61993b8f6ea1f0fffa1322a2c5\n"
    },
    {
      "commit": "4f64fbb782987e48f67bae24fec12719482de97f",
      "tree": "081c4c3913613d74e81320c1b17ee309c81da2eb",
      "parents": [
        "983eb7e98d5fde69e522de16777e7575728d1488"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 07 10:44:55 2018 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 07 10:49:02 2018 +0000"
      },
      "message": "Reduce number of tests run in art-gcstress-gcverify.\n\nIn particular, remove the --interpreter tests, because it takes too long\nto run them all on the bot.\n\nBug: 74196452\nBug: 74225325\nTest: Start ./test/testrunner/run_build_test_target.py -j30 art-gcstress-gcverify\nChange-Id: I7d61b79a3b8c0057419e5382eebc745d2551648f\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": "413c3cb158b076767312b6165675e2371a489f46",
      "tree": "284fe4cc639ea12cf5602d2c03c782391b5a1f0c",
      "parents": [
        "47ec7ad0f819c171e41d323aff71f5ac425b1ccd"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 30 16:36:20 2018 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Jan 30 16:36:20 2018 +0000"
      },
      "message": "Move the art-gtest-heap-poisoning from Valgrind to ASan.\n\nThe art-gtest-heap-poisoning used to *not* use Valgrind, but\neventually started to use it when the ART build/test configuration\nlist was moved to testrunner.py.\n\nHaving some memory instrumentation when exercising the heap poisoning\nconfiguration makes sense, but Valgrind is expensive. Move this\nconfiguration to using Address Sanitizer instead to save some test\nresources.\n\nTest: art/test/testrunner/run_build_test_target.py art-gtest-heap-poisoning\nBug: 72080484\nChange-Id: I735d1bfa3b15e4939d51dda6d9096ee599586061\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": "ecb8662b817a2f5d6f9c035ca4d0bdc12f865b2c",
      "tree": "7e28af8d410cd96b0768c016eb289a5deb9b387f",
      "parents": [
        "a821bb1a71637dbd2e251795fce26f5f6f937299"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 04 15:30:45 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Jan 04 16:36:15 2018 -0800"
      },
      "message": "Enable compact dex by default\n\nDisabled two testrunner columns to preserve testing of normal dex\nfiles.\n\nBug: 63756964\nTest: test-art-host\n\nChange-Id: Icec758b614f938c1dede079ce86df00a9a4f833e\n"
    },
    {
      "commit": "532246e54787d3016882dfcc9e6d210c48a8c6d9",
      "tree": "dd00ac71906c0efd9db1295ffd718535bc62cc61",
      "parents": [
        "95e5a352efac9c304bec3022da5cfa6be99a4f54"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 15 16:44:21 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Tue Dec 19 10:59:11 2017 -0800"
      },
      "message": "Revert \"Revert \"Move art-heap-poisoning and art-gtest-ss-gc to test cdex\"\"\n\nTemporarily disabled failing test case.\n\nThis reverts commit 7ff53f880f8b17c576924b3b1c4cba7381335444.\n\nBug: 63756964\nTest: test-art-host-gtest\n\nChange-Id: Iebdb405266c051b59b27eb4ad66371bfe07b1e0a\n"
    },
    {
      "commit": "7ff53f880f8b17c576924b3b1c4cba7381335444",
      "tree": "71a162eed854beea4e60e32c6c12a13b90be7cc8",
      "parents": [
        "8a34abcb8a74ecda146af761b390de753092da36"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 15 23:05:02 2017 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Dec 15 23:05:30 2017 +0000"
      },
      "message": "Revert \"Move art-heap-poisoning and art-gtest-ss-gc to test cdex\"\n\nThis reverts commit 8a34abcb8a74ecda146af761b390de753092da36.\n\nReason for revert: Gtests broken, working on it.\n\nBug: 63756964\nChange-Id: Ie3eab9df68035090be875c04cf1a69ea94e1314d\n"
    },
    {
      "commit": "8a34abcb8a74ecda146af761b390de753092da36",
      "tree": "bc5e6cd90e7a218507e75d70cfcd5729821f2737",
      "parents": [
        "ed416f76ae679d92f0bc648581de2684ff93e29a"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Wed Dec 13 15:05:10 2017 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Dec 14 20:14:09 2017 -0800"
      },
      "message": "Move art-heap-poisoning and art-gtest-ss-gc to test cdex\n\nGet some extra automated testing coverage.\n\nBug: 63756964\nTest: test/testrunner/run_build_test_target.py art-heap-poisoning\nTest: test/testrunner/run_build_test_target.py art-gtest-ss-gc-tlab\n\nChange-Id: I32dac955135d433947109eb4300622c590bf9e1d\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"
    }
  ],
  "next": "18085acd2430b8ccb5f397a8f3f8a81d11fa94cf"
}
