)]}'
{
  "commit": "08d9e597c8ef5a2b26375ac954fdf224f5d82c3c",
  "tree": "826ab666bc04c51a9606adf8975405361d0196cc",
  "parents": [
    "7e246a3a7b43762480ee4fe0cfb859e8e997a8c8"
  ],
  "author": {
    "name": "Serhiy Storchaka",
    "email": "storchaka@gmail.com",
    "time": "Mon Aug 30 16:25:59 2021"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Aug 30 16:25:59 2021"
  },
  "message": "bpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)\n\n* Functions registered with addModuleCleanup() were not called unless\r\n  the user defines tearDownModule() in their test module.\r\n* Functions registered with addClassCleanup() were not called if\r\n  tearDownClass is set to None.\r\n* Buffering in TestResult did not work with functions registered\r\n  with addClassCleanup() and addModuleCleanup().\r\n* Errors in functions registered with addClassCleanup() and\r\n  addModuleCleanup() were not handled correctly in buffered and\r\n  debug modes.\r\n* Errors in setUpModule() and functions registered with\r\n  addModuleCleanup() were reported in wrong order.\r\n* And several lesser bugs.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "41993f9cf69afce0144dc720443fa536d5803598",
      "old_mode": 33188,
      "old_path": "Lib/unittest/suite.py",
      "new_id": "6f45b6fe5f6039b94725b732e18eab5c01f4494b",
      "new_mode": 33188,
      "new_path": "Lib/unittest/suite.py"
    },
    {
      "type": "modify",
      "old_id": "a4af67bd8d56de2b2d2eb50ebebf0db146eb4006",
      "old_mode": 33188,
      "old_path": "Lib/unittest/test/test_result.py",
      "new_id": "d6efc7ef0662a42a5493d715c050ddd122172c04",
      "new_mode": 33188,
      "new_path": "Lib/unittest/test/test_result.py"
    },
    {
      "type": "modify",
      "old_id": "dd9a1b6d9aeddf296cb3e93e30d0c8a4e9817e03",
      "old_mode": 33188,
      "old_path": "Lib/unittest/test/test_runner.py",
      "new_id": "453e6c3d11cfaa246a119ba47254d138eee59fe7",
      "new_mode": 33188,
      "new_path": "Lib/unittest/test/test_runner.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf3d5ee0e456f1433c5d7f8cc87045f591e87522",
      "new_mode": 33188,
      "new_path": "Misc/NEWS.d/next/Library/2021-08-27-23-40-51.bpo-43913.Uo1Gt5.rst"
    }
  ]
}
