)]}'
{
  "log": [
    {
      "commit": "a073f46104fbce0482fb759d5ccfb32ee39cc973",
      "tree": "985538ce69fa4d9253725cddaca936ddc3eaea86",
      "parents": [
        "5a19854c682a994729f704806d6c0de1de349631"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 28 12:48:24 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Thu Nov 05 18:15:49 2020 +0000"
      },
      "message": "Rename ART run-tests `expected.txt` files as `expected-stdout.txt`.\n\nThis is in preparation for the addition of `expected-stderr.txt` files\nin all ART run-test directories, which will record the expected\nstandard error for each of these tests, and which will be verified\nalong with `expected-stdout.txt`.\n\nTest: Run ART run-tests on host and device using `testrunner.py`.\nTest: atest --test-mapping art:all\nBug: 171865375\nBug: 147812905\nChange-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4\n"
    },
    {
      "commit": "4258f9e2f19016e04a71ec2b5349b707f8f47a18",
      "tree": "bd587ca13be99c9c8e1d2781719b75a887ca5897",
      "parents": [
        "4b9f86bd04a905e6ee6eaf5363b0967315136096"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Oct 13 12:10:59 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Oct 14 08:01:06 2020 +0000"
      },
      "message": "Only tag supported ART run-tests as part of `art-target-run-test`.\n\nAll ART (target) run-tests supported at the build-level have been\ntagged as part of the `art-target-run-test` TradeFed test suite;\nhowever, only a part of them are actually expected to suceed at run\ntime at the moment, meaning that many tests are currently failing on\nthe postsubmit configuration running tests tagged as\n`art-target-run-test` (currently running only on crosshatch devices).\n\nTo avoid this, use a different test configuration template for test\nexpected to succeed and for test expected to fail, and only have the\nformer test configuration template tag the test as part of the\n`art-target-run-test` test suite.\n\nTest: atest --test-mapping art:all\nTest: Rely on ATP post-submit testing\nBug: 152374989\nBug: 147812905\nChange-Id: I29ecc1d3021765cb5467f3a6f4e9d64afc4caead\n"
    },
    {
      "commit": "6b0b2e711fdb9a1852705318dda2b5139d30f7a5",
      "tree": "6300c21da263373f4a286ae55e9f5b88a09f3965",
      "parents": [
        "6f0c8b976ac84215129fe7cca0b0ef26d9af0554"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Tue Sep 08 16:36:13 2020 +0100"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Wed Sep 09 10:21:47 2020 +0000"
      },
      "message": "Rename the expected-output text file in built TradeFed ART run-tests.\n\nTest suite packages (e.g. `android-mts.zip`) flatten tests artifacts\ninto a single `testcases` directory, therefore each included file must\nhave a unique name. Have the build system rename every `expected.txt`\nfile to a unique name when building TradeFed-style ART run-tests.\n\nTest: atest art-run-test-001-HelloWorld\nBug: 147812905\nChange-Id: I0d433d0a611cb5214ae366e2c1af214e41c127f0\n"
    },
    {
      "commit": "01e5698d5440c2665b7ab6dd924985843be161a2",
      "tree": "580cb03de99c1e7d1c552c9e18e30b1ee9030ca6",
      "parents": [
        "eaf3a920817fcf3b85d80eb16eb2fe91831e1fb9"
      ],
      "author": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Mon Feb 10 12:28:01 2020 +0000"
      },
      "committer": {
        "name": "Roland Levillain",
        "email": "rpl@google.com",
        "time": "Fri Jul 03 19:11:02 2020 +0000"
      },
      "message": "Add Soong module definitions for ART run-tests with default build rules.\n\nIntroduce new Bash script `test/utils/regen-test-files` and use it\nto generate a set of initial Soong module definitions for some ART\nrun-tests matching these conditions:\n1. using default build rules (defined in `test/etc/default-build`), as\n   per the `test/run-test` script;\n2. consisting only of Java source files contained in their `src`\n   directory;\n3. containing no additional build complexity.\n\nAlso disable ErrorProne checks for ART run-tests on `errorprone`\nbuilds.\n\nTest: m $(find art/test \\\n              -regextype egrep \\\n              -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n              -printf \u0027%P\\n\u0027 \\\n            | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n            | sort)\nTest: m javac-check $(find art/test \\\n                          -regextype egrep \\\n                          -regex \u0027art/test/[0-9]{3,}-.*/Android.bp\u0027 \\\n                          -printf \u0027%P\\n\u0027 \\\n                        | sed -r \u0027s,(.*)/Android.bp,art-run-test-\\1,\u0027 \\\n                        | sort) RUN_ERROR_PRONE\u003dtrue\nBug: 147814778\nChange-Id: Ife6b045a88bd18b06a3fc202f3d226e27e0fc03d\n"
    },
    {
      "commit": "23ca8fbcb23fb1eb95d192995a35f4fed53bffbd",
      "tree": "106272f910aad65faec278234555efeba27464b0",
      "parents": [
        "d4f8afb4d8bc7bb5cbaf217c2f0734b880b62689"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri May 10 11:27:02 2019 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 14 16:39:25 2019 +0000"
      },
      "message": "Centralize all the jvmti common test classes\n\nWe share many common JVMTI test classes between our various JVMTI\ntests. We have always shared them by simply copying the .java files to\nany tests that need them. This leads to very large code-reviews and\nrequires manual work if we ever need to update any of the helper\nfiles.\n\nTo ensure everything stays in sync this moves all classes to a single\ntest/ti-common directory that tests then contain symlinks into.\n\nTest: ./test.py --host\nChange-Id: I82238a63d281429196ed0e640e4a9ec3234d954c\n"
    },
    {
      "commit": "3bc3da0f3725ee3b7c6f95faf5266d1d7d178470",
      "tree": "41ee60035612abc29b5058a9377b09b36d07449f",
      "parents": [
        "9c5702582b8f0ce2a0ce536dff7e02de10317163"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Feb 13 16:53:58 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Feb 14 00:56:02 2018 +0000"
      },
      "message": "Make test 1939 not depend on total number of proxies allocated\n\nTest 1939 would previously only pass if no proxies had been allocated\nby the time it started. This made it not work for CTS runs.\n\nWe changed the test to filter its output to prevent this problem.\n\nTest: ./test/run-test --host 1939\nBug: 73252141\nChange-Id: I6643c9ee8e8d57398a2a5baf0871d69941e07dcd\n"
    },
    {
      "commit": "3dea2121a90cc95c215736ef84d093e396f5525f",
      "tree": "6887dbb76c67c6d5102e125d91e4c648a7d8dae7",
      "parents": [
        "432d91004b79c79deebeee6f6197e43adf6caafd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 11 15:56:48 2017 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Oct 11 10:07:52 2017 -0700"
      },
      "message": "Revert \"Revert \"Ensure Proxy frames work with JVMTI stack frame functions\"\"\n\nThis reverts commit d108d9eaae26df9e4480cf46d26e8c75f142bd6a.\n\nIt seems we have a bug somewhere in our proxy or stack-visitor code\ncausing StackVisitor::GetThisObject to return an object with a null\nklass_. Added a temporary skip for the test configurations that expose\nthis until it can be fixed.\n\nBug: 66903662\nBug: 67679263\n\nReason for revert: Added skip for test that exposes a pre-existing bug\nin our stack-visitor/proxy-object support.\n\nTest: ./test.py --host -j40\nTest: ./test/testrunner/testrunner.py --host --gcstress -t 1939\n\nChange-Id: I8a457112af404c3f4c94e3a2029b744d453ced5d\n"
    },
    {
      "commit": "d108d9eaae26df9e4480cf46d26e8c75f142bd6a",
      "tree": "9a9566b73bd916befb9ce1c31c2ff309d63ff28e",
      "parents": [
        "a03a9eeb9d1b2ebca17cc326f52c84a5abca6707"
      ],
      "author": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 11 10:29:19 2017 +0000"
      },
      "committer": {
        "name": "Vladimir Marko",
        "email": "vmarko@google.com",
        "time": "Wed Oct 11 10:29:19 2017 +0000"
      },
      "message": "Revert \"Ensure Proxy frames work with JVMTI stack frame functions\"\n\nReason for revert: gcstress 1914-get-local-instance failures,\n  object-inl.h:163] Check failed: GetClass\u003ckVerifyNone\u003e() !\u003d nullptr\n\nBug: 66903662\n\nThis reverts commit a03a9eeb9d1b2ebca17cc326f52c84a5abca6707.\n\nChange-Id: I5c68616d61566dd4ade713c4dad5e462b76d9af7\n"
    },
    {
      "commit": "a03a9eeb9d1b2ebca17cc326f52c84a5abca6707",
      "tree": "3a52462cba8002df6c086ee57d6b7e71a400c74a",
      "parents": [
        "baeedfee3521c295916e3ae85afa2cb5dee7d6a5"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 10 16:20:10 2017 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Oct 10 16:20:10 2017 -0700"
      },
      "message": "Ensure Proxy frames work with JVMTI stack frame functions\n\nWe were incorrectly returning errors and crashing when stack frame\nJVMTI functions were used with Proxy methods. This fixes those issues\nand adds a test for them.\n\nBug: 66903662\nTest: ./test.py --host -j40\nChange-Id: Ia7c768d631c5ac4d8339d70a9d4761d5b4bc284e\n"
    }
  ]
}
