)]}'
{
  "commit": "0fd1878b62e5bc1a6336fb36811689aace9e5c42",
  "tree": "81996063f3ee8dd6b786890c0f96294e0a6fc644",
  "parents": [
    "c1407df81c49b771301bfb993ca7a2c7595824f1"
  ],
  "author": {
    "name": "lberki",
    "email": "lberki@google.com",
    "time": "Fri Jun 14 00:24:04 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Jun 14 00:25:13 2019 -0700"
  },
  "message": "Deflake test_build_fail_terse_summary.\n\nThe flakiness results from an actual race condition that makes it indeterminate whether CompletionFunction is called for the tests that depend on an artifact that fails to build.\n\nAs far as I understand, it should not be, since it depends on a SkyValue in error in a --nokeep_going build; however, according to the comment in AbstractParallelEvaluator.Evaluate.run() (\"there is a race-like opportunity for the error to be used\"), it\u0027s a known quirk of Skyframe.\n\nprintf-style debugging supports this theory: on flakes, CompletionFunction and AggregatingTestListener.targetComplete()) are called, on successful test runs, they are not.\n\nIs sadness.\n\nRELNOTES: None.\nPiperOrigin-RevId: 253178762\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "924abe97af949fa0f41cd2744901d495a1fb321d",
      "old_mode": 33261,
      "old_path": "src/test/shell/integration/test_test.sh",
      "new_id": "54f3a543bd20d4bef2731e1597a022f06bcbd897",
      "new_mode": 33261,
      "new_path": "src/test/shell/integration/test_test.sh"
    }
  ]
}
