)]}'
{
  "commit": "f6f153710ae2855981b18e915e15069dd9c9e0c1",
  "tree": "a0450d61f8f1b804a0026f019cf26f22ba8e916c",
  "parents": [
    "3e7031425af406102666eeb6f8a95fcdb4b00d05"
  ],
  "author": {
    "name": "Evan Shrubsole",
    "email": "eshr@webrtc.org",
    "time": "Thu Apr 09 11:22:47 2026"
  },
  "committer": {
    "name": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Apr 17 13:23:05 2026"
  },
  "message": "Modernize WebRTC integration tests to support simulated time\n\n- Introduce internal::PeerConnectionIntegrationTestBase to allow\n  injecting TimeController and customizing thread creation.\n- Add PeerConnectionIntegrationTestWithSimulatedTime for tests that run\n  in simulated time.\n- Refactor VirtualSocketServer and FirewallSocketServer management to\n  use std::unique_ptr and make ownership explicit, avoiding leaks.\n- Update FakeAudioCaptureModule to support running on a simulated\n  thread. Note that a task queue does not work - switching to task queue\n  caused timeouts on many bots\n- Update various integration tests to use the new base classes and\n  support simulated time.\n- Add TODO for future unification of NewGetStats implementations\n  (https://issues.webrtc.org/501310910).\n\nBug: webrtc:42223992\nChange-Id: I15a23b30aad728e9fe2c890f5195bff46a6a6964\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/462820\nReviewed-by: Tomas Gunnarsson \u003ctommi@webrtc.org\u003e\nCommit-Queue: Evan Shrubsole \u003ceshr@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#47462}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2204a08536a88c7959d3c1f1c932d763c6a2c56c",
      "old_mode": 33188,
      "old_path": "api/test/time_controller.h",
      "new_id": "03498021cd49139cd268db689d664f312cdcee98",
      "new_mode": 33188,
      "new_path": "api/test/time_controller.h"
    },
    {
      "type": "modify",
      "old_id": "106d380ac152af323f537bdbfe79c1375470465f",
      "old_mode": 33188,
      "old_path": "pc/BUILD.gn",
      "new_id": "3e9699164560007cd12fa16bc0bcaa5447c24bb8",
      "new_mode": 33188,
      "new_path": "pc/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "e2f68f7ef54f5178fae0c1b521e369aebbf9e908",
      "old_mode": 33188,
      "old_path": "pc/peer_connection_integrationtest.cc",
      "new_id": "b108ba9bb4027ec4998727626961b87120837b72",
      "new_mode": 33188,
      "new_path": "pc/peer_connection_integrationtest.cc"
    },
    {
      "type": "modify",
      "old_id": "ee738575603e5704e835d0d848f8380dde37ada1",
      "old_mode": 33188,
      "old_path": "pc/slow_peer_connection_integration_test.cc",
      "new_id": "4a7114cc95b91d258a6e269cdf8c1cf36d0e4af5",
      "new_mode": 33188,
      "new_path": "pc/slow_peer_connection_integration_test.cc"
    },
    {
      "type": "modify",
      "old_id": "29b57ef63dd6b29c55e74462cde6ddede27e5b3f",
      "old_mode": 33188,
      "old_path": "pc/test/fake_audio_capture_module.cc",
      "new_id": "d5a9e86469055d6658d161f4e4834a5af14b10a0",
      "new_mode": 33188,
      "new_path": "pc/test/fake_audio_capture_module.cc"
    },
    {
      "type": "modify",
      "old_id": "0e5578d93dd02f7a61a25901902079df78a253dc",
      "old_mode": 33188,
      "old_path": "pc/test/fake_audio_capture_module.h",
      "new_id": "0bee8f8ea3aa0814d2b2693b3dfde4d97c426366",
      "new_mode": 33188,
      "new_path": "pc/test/fake_audio_capture_module.h"
    },
    {
      "type": "modify",
      "old_id": "127e762cc19453fb7b339fe02110373496300992",
      "old_mode": 33188,
      "old_path": "pc/test/integration_test_helpers.cc",
      "new_id": "2728edb33dbffb01f5a43990e946b0d4bb1947ea",
      "new_mode": 33188,
      "new_path": "pc/test/integration_test_helpers.cc"
    },
    {
      "type": "modify",
      "old_id": "518d7cf61bf684d7cf2df8c0e4685eae6013d8ad",
      "old_mode": 33188,
      "old_path": "pc/test/integration_test_helpers.h",
      "new_id": "28d393f81d96c50ff6a88567622ff71ae81f6218",
      "new_mode": 33188,
      "new_path": "pc/test/integration_test_helpers.h"
    },
    {
      "type": "modify",
      "old_id": "99f2e21706630d4fe27b89bc3a18766589c5ce46",
      "old_mode": 33188,
      "old_path": "test/time_controller/BUILD.gn",
      "new_id": "808bdd5bb151da3100dd097d1e00c7dfa9a81fa4",
      "new_mode": 33188,
      "new_path": "test/time_controller/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "3a9bff9c0d7358007141cc5a31e3eda0f344a494",
      "old_mode": 33188,
      "old_path": "test/time_controller/real_time_controller.cc",
      "new_id": "955c04f00feccbd18152c561c59cacb2153bab19",
      "new_mode": 33188,
      "new_path": "test/time_controller/real_time_controller.cc"
    },
    {
      "type": "modify",
      "old_id": "73650677da17e96f5292476d49dbbcc251039923",
      "old_mode": 33188,
      "old_path": "test/time_controller/real_time_controller.h",
      "new_id": "ce4b05dacb1011cf257af4d1a32c04b560f02adc",
      "new_mode": 33188,
      "new_path": "test/time_controller/real_time_controller.h"
    },
    {
      "type": "modify",
      "old_id": "c32efb1dd39840a382e047b2eb75b7f760bcbb31",
      "old_mode": 33188,
      "old_path": "test/time_controller/simulated_time_controller.cc",
      "new_id": "6c642390f05860c79d5517d854b283c1760c6631",
      "new_mode": 33188,
      "new_path": "test/time_controller/simulated_time_controller.cc"
    },
    {
      "type": "modify",
      "old_id": "0d583ffceedaf6d171f584abc599f2ac42678927",
      "old_mode": 33188,
      "old_path": "test/time_controller/simulated_time_controller.h",
      "new_id": "707582da59741c7cb7d1696d8127b483ae2316aa",
      "new_mode": 33188,
      "new_path": "test/time_controller/simulated_time_controller.h"
    },
    {
      "type": "modify",
      "old_id": "08f5cdc7d42323964900a0dc75eeac05e72f9160",
      "old_mode": 33188,
      "old_path": "test/time_controller/simulated_time_controller_impl.cc",
      "new_id": "8221315a0a9973d605ae414e387e3aec0142e82a",
      "new_mode": 33188,
      "new_path": "test/time_controller/simulated_time_controller_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "ef50c75d645dbf3cfbadecd162e7db589d63d0a7",
      "old_mode": 33188,
      "old_path": "test/time_controller/simulated_time_controller_impl.h",
      "new_id": "26742dc09b705a92b10507c67f3e53fe07593258",
      "new_mode": 33188,
      "new_path": "test/time_controller/simulated_time_controller_impl.h"
    },
    {
      "type": "modify",
      "old_id": "edd5921ae76239080007dbf8ad225a19ed63a3e9",
      "old_mode": 33188,
      "old_path": "test/time_controller/simulated_time_controller_unittest.cc",
      "new_id": "b91f00f48c7ff2df50982e40ad89c93bb3076c1a",
      "new_mode": 33188,
      "new_path": "test/time_controller/simulated_time_controller_unittest.cc"
    }
  ]
}
