)]}'
{
  "commit": "fbf7fce12e12d98989c5cce5603c038ce5d31091",
  "tree": "c5ecd2156f42c128527a7858e1ddc1ac735870c5",
  "parents": [
    "fd4ce1fc7f15b6d0efcfb96062c9b611f0e12ccb"
  ],
  "author": {
    "name": "Jonathan Hui",
    "email": "jonhui@google.com",
    "time": "Wed Sep 02 20:18:14 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Sep 02 20:18:14 2026"
  },
  "message": "[tests] support container in dbus_join and wait_for_device_role (#3570)\n\nIn NCP mode integration tests running inside Docker containers\n(ncp_border_routing.exp, ncp_srp_server.exp, ncp_border_agent.exp,\nncp_epskc.exp, and ncp_backbone_multicast_forwarding.exp), the tests\npreviously sent raw \u0027dbus-send ... Join\u0027 commands to the interactive\nshell and waited for the shell prompt using the default 10s expect\ntimeout.\n\nUnder CI runner load, NcpHost::Join (which executes three sequential\nSpinel round-trips: DatasetSetActiveTlvs, Ip6SetEnabled, and\nThreadSetEnabled) can exceed the implicit 10-second expect timeout,\ncausing expect to time out spuriously with exit code 1. Furthermore,\nfixed sleep intervals race with leader and router formation.\n\nThis commit updates dbus_join and wait_for_device_role in _common.exp\nto accept an optional container argument, relaxes polling timeouts in\nwait_for_device_role to accommodate container execution latency, and\nupdates Docker-based NCP expect scripts to use these helpers while\npreserving the post-attach delays needed for asynchronous service\nupdates (such as mDNS publication and OMR prefix dissemination).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3455bd41346374dc424947a798ff38a60c36c79",
      "old_mode": 33188,
      "old_path": "tests/scripts/expect/_common.exp",
      "new_id": "796948e73eca0bdf4ac82029d82db5ec6b1557b3",
      "new_mode": 33188,
      "new_path": "tests/scripts/expect/_common.exp"
    },
    {
      "type": "modify",
      "old_id": "eae8751780fa435e6a2f375248a6712584b93a87",
      "old_mode": 33261,
      "old_path": "tests/scripts/expect/ncp_backbone_multicast_forwarding.exp",
      "new_id": "6968a232a3a56abb622d05c27ce1344533486d3a",
      "new_mode": 33261,
      "new_path": "tests/scripts/expect/ncp_backbone_multicast_forwarding.exp"
    },
    {
      "type": "modify",
      "old_id": "8faabe0a31e64bee888c388673eb2bebaf1f5839",
      "old_mode": 33188,
      "old_path": "tests/scripts/expect/ncp_border_agent.exp",
      "new_id": "0b84359f7f79d2c04e86ca2342e6476c00065c05",
      "new_mode": 33188,
      "new_path": "tests/scripts/expect/ncp_border_agent.exp"
    },
    {
      "type": "modify",
      "old_id": "1e5c5bb6e4f9b323d5f8ed51770ea6fdafd20084",
      "old_mode": 33261,
      "old_path": "tests/scripts/expect/ncp_border_routing.exp",
      "new_id": "31b94f9ae1791f3aed4fb18b03dc91bc0e9f40f2",
      "new_mode": 33261,
      "new_path": "tests/scripts/expect/ncp_border_routing.exp"
    },
    {
      "type": "modify",
      "old_id": "3ed629f7c69a19eed29e4008d959f67ae7076cd8",
      "old_mode": 33188,
      "old_path": "tests/scripts/expect/ncp_epskc.exp",
      "new_id": "c3fc81a2f95b3ed59f9ee65977c647419b644f8f",
      "new_mode": 33188,
      "new_path": "tests/scripts/expect/ncp_epskc.exp"
    },
    {
      "type": "modify",
      "old_id": "b7d6ab245296a980f3240ddf3eb52c47bb169af5",
      "old_mode": 33261,
      "old_path": "tests/scripts/expect/ncp_srp_server.exp",
      "new_id": "68a9021f22b1eefc5bac646c54f48467bc406d95",
      "new_mode": 33261,
      "new_path": "tests/scripts/expect/ncp_srp_server.exp"
    }
  ]
}
