)]}'
{
  "commit": "4648d84ec126c540678b462ceb57ae099f943a81",
  "tree": "284362b268cbca96ab5bfef89599b0e88adac4c2",
  "parents": [
    "aec11cc05e08545a465a031562ec01cab5671647"
  ],
  "author": {
    "name": "Robert Mu",
    "email": "dbx_c@hotmail.com",
    "time": "Wed Oct 15 18:01:19 2025 +0800"
  },
  "committer": {
    "name": "Max Yang",
    "email": "79948451+my-ship-it@users.noreply.github.com",
    "time": "Fri Oct 17 17:49:19 2025 +0800"
  },
  "message": "fix(test): Prevent panic in AfterSuite when BeforeSuite fails\n\nIf the BeforeSuite hook fails before the database connection is\ninitialized, the `connectionPool` variable remains nil. A common cause\nis a misconfigured test environment, such as when `greenplum_path.sh`\nis not sourced, leading to a \"command not found\" error for `createdb`.\n\nThe previous AfterSuite logic would then attempt to dereference this\nnil pointer, causing a panic.\n\n```\nRunning Suite: database query tests - /home/cbdb/Projects/gpbackup/integration\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nRandom Seed: 1760521199 - will randomize all specs\n\nWill run 549 of 552 specs\n------------------------------\n[BeforeSuite] [FAILED] [0.003 seconds]\n[BeforeSuite]\n/home/cbdb/Projects/gpbackup/integration/integration_suite_test.go:54\n\n  [FAILED] Cannot create database testdb; is GPDB running?\n  In [BeforeSuite] at: /home/cbdb/Projects/gpbackup/integration/integration_suite_test.go:58 @ 10/15/25 17:40:06.839\n------------------------------\n[AfterSuite] [PANICKED] [0.000 seconds]\n[AfterSuite]\n/home/cbdb/Projects/gpbackup/integration/integration_suite_test.go:127\n\n  [PANICKED] Test Panicked\n  In [AfterSuite] at: /usr/lib/go-1.23/src/runtime/panic.go:262 @ 10/15/25 17:40:06.839\n\n  runtime error: invalid memory address or nil pointer dereference\n\n  Full Stack Trace\n    github.com/apache/cloudberry-backup/integration.init.func10()\n    \t/home/cbdb/Projects/gpbackup/integration/integration_suite_test.go:129 +0x26\n------------------------------\n\nSummarizing 2 Failures:\n  [FAIL] [BeforeSuite]\n  /home/cbdb/Projects/gpbackup/integration/integration_suite_test.go:58\n  [PANICKED!] [AfterSuite]\n  /usr/lib/go-1.23/src/runtime/panic.go:262\n\nRan 0 of 552 Specs in 0.023 seconds\nFAIL! -- A BeforeSuite node failed so all tests were skipped.\n--- FAIL: TestQueries (0.03s)\nFAIL\n\nGinkgo ran 1 suite in 7.163251311s\n```\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "15de88ea7eb15a7d547fd4fa6a57b918b50729f7",
      "old_mode": 33188,
      "old_path": "integration/integration_suite_test.go",
      "new_id": "da5627b53741b42563e4f4eda2360f93927da1f9",
      "new_mode": 33188,
      "new_path": "integration/integration_suite_test.go"
    }
  ]
}
