)]}'
{
  "commit": "83fafbe970614f89e7e106542bdb9181b0568f0f",
  "tree": "635dd0ed54552a001c1b7b9bb20ebca5e20ad116",
  "parents": [
    "625cadfb85ae46901ee8cbed08638ed3be8d96f5"
  ],
  "author": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu Jan 30 13:21:56 2025 +0100"
  },
  "committer": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu Jan 30 13:21:56 2025 +0100"
  },
  "message": "[gdb/testsuite] Handle unordered dict in gdb.python/py-mi-notify.exp\n\nWith test-case gdb.python/py-mi-notify.exp and python 3.4, I occasionally run\ninto:\n...\npython gdb.notify_mi(\u0027-test-notification\u0027, { \u0027data1\u0027 : 1 , \u0027data2\u0027 : 2 })\n\u0026\"python gdb.notify_mi(\u0027-test-notification\u0027, { \u0027data1\u0027 : 1 , \u0027data2\u0027 : 2 })\\n\"\n\u003d-test-notification,data2\u003d\"2\",data1\u003d\"1\"\n^done\n(gdb)\nFAIL: $exp: python notification, with additional data (unexpected output)\n...\n\nIn contrast, a passing version looks like:\n...\npython gdb.notify_mi(\u0027-test-notification\u0027, { \u0027data1\u0027 : 1 , \u0027data2\u0027 : 2 })\n\u0026\"python gdb.notify_mi(\u0027-test-notification\u0027, { \u0027data1\u0027 : 1 , \u0027data2\u0027 : 2 })\\n\"\n\u003d-test-notification,data1\u003d\"1\",data2\u003d\"2\"\n^done\n(gdb)\nPASS: gdb.python/py-mi-notify.exp: python notification, with additional data\n...\n\nThe python method \"gdb.notify_mi(name, data)\" has parameter data which is a\ndictionary, and it iterates over that dictionary.\n\nThe problem is that dictionaries are only guaranteed to be iterating in\ninsertion order starting python 3.7 (though cpython does this starting python\n3.6).\n\nFix this in the same way as in commit 362a867f2ac (\"[gdb/testsuite] Handle\nunordered dict in gdb.python/py-mi-cmd.exp\"): by allowing the alternative\norder.\n\nTested on x86_64-linux.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f808fb2502ecc4fb802e97c22522c04d5ba872e9",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.python/py-mi-notify.exp",
      "new_id": "7776976613e9a76338a4bc294f6325d45ba43a3b",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.python/py-mi-notify.exp"
    }
  ]
}
