)]}'
{
  "commit": "bf6250b121cd610c3280cd748b5702a2be040f41",
  "tree": "86fcc07a848bcfa37886b2ecc21e0344ad1187da",
  "parents": [
    "f737189ea7a2d4b97048a2f4e37609e293b03546"
  ],
  "author": {
    "name": "T. Wouters",
    "email": "thomas@python.org",
    "time": "Mon Aug 05 17:10:58 2019 -0700"
  },
  "committer": {
    "name": "Gregory P. Smith",
    "email": "greg@krypto.org",
    "time": "Mon Aug 05 17:10:58 2019 -0700"
  },
  "message": "Make portpicker_test more robust, especially when run on a busy CI host. For (#15)\n\ntests that use portpiker without server, don\u0027t fail on the first failure to\r\ngrab a port; try a few times. For testIsPortFree, don\u0027t fail outright when a\r\nport is stolen after portpicker guessed it was free, but try a few times. As\r\na general measure, expecting \u003e95% success rate seems rasonable.\r\n\r\nRewrite testPickPortsWithError, which appeared to be trying to test the two\r\nparts of _pick_unused_port_without_server by playing chance games (that\r\nfailed ~10-15% of the time), so that it explicitly covers both parts by\r\nmocking out the right function. The actual picking of the port can still\r\nfail, since portpicker without server is inherently flaky, so try a few\r\ntimes before giving up.\r\n\r\nWith these changes, there were no failures in 10000 runs of the test (many\r\nin parallel).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ccc55004959a78ec589c7b92d663d6344ea21d2a",
      "old_mode": 33188,
      "old_path": "src/tests/portpicker_test.py",
      "new_id": "b82d7bf43619acd10a884f0545ac025398853f54",
      "new_mode": 33188,
      "new_path": "src/tests/portpicker_test.py"
    }
  ]
}
