webrtc_m130/pc/test/integration_test_helpers.cc

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

102 lines
3.1 KiB
C++
Raw Normal View History

Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
/*
* Copyright 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "pc/test/integration_test_helpers.h"
namespace webrtc {
PeerConnectionInterface::RTCOfferAnswerOptions IceRestartOfferAnswerOptions() {
PeerConnectionInterface::RTCOfferAnswerOptions options;
options.ice_restart = true;
return options;
}
void RemoveSsrcsAndMsids(cricket::SessionDescription* desc) {
for (ContentInfo& content : desc->contents()) {
content.media_description()->mutable_streams().clear();
}
desc->set_msid_supported(false);
desc->set_msid_signaling(0);
}
void RemoveSsrcsAndKeepMsids(cricket::SessionDescription* desc) {
for (ContentInfo& content : desc->contents()) {
std::string track_id;
std::vector<std::string> stream_ids;
if (!content.media_description()->streams().empty()) {
const StreamParams& first_stream =
content.media_description()->streams()[0];
track_id = first_stream.id;
stream_ids = first_stream.stream_ids();
}
content.media_description()->mutable_streams().clear();
StreamParams new_stream;
new_stream.id = track_id;
new_stream.set_stream_ids(stream_ids);
content.media_description()->AddStream(new_stream);
}
}
int FindFirstMediaStatsIndexByKind(
const std::string& kind,
const std::vector<const webrtc::RTCMediaStreamTrackStats*>&
media_stats_vec) {
for (size_t i = 0; i < media_stats_vec.size(); i++) {
if (media_stats_vec[i]->kind.ValueToString() == kind) {
return i;
}
}
return -1;
}
TaskQueueMetronome::TaskQueueMetronome(TaskQueueFactory* factory,
TimeDelta tick_period)
: tick_period_(tick_period),
queue_(factory->CreateTaskQueue("MetronomeQueue",
TaskQueueFactory::Priority::HIGH)) {
tick_task_ = RepeatingTaskHandle::Start(queue_.Get(), [this] {
MutexLock lock(&mutex_);
for (auto* listener : listeners_) {
listener->OnTickTaskQueue()->PostTask(
ToQueuedTask([listener] { listener->OnTick(); }));
}
return tick_period_;
});
}
TaskQueueMetronome::~TaskQueueMetronome() {
RTC_DCHECK(listeners_.empty());
rtc::Event stop_event;
queue_.PostTask([this, &stop_event] {
tick_task_.Stop();
stop_event.Set();
});
stop_event.Wait(1000);
}
void TaskQueueMetronome::AddListener(TickListener* listener) {
MutexLock lock(&mutex_);
auto [it, inserted] = listeners_.insert(listener);
RTC_DCHECK(inserted);
}
void TaskQueueMetronome::RemoveListener(TickListener* listener) {
MutexLock lock(&mutex_);
auto it = listeners_.find(listener);
RTC_DCHECK(it != listeners_.end());
listeners_.erase(it);
}
TimeDelta TaskQueueMetronome::TickPeriod() const {
return tick_period_;
}
Reland "Reland "Split peer_connection_integrationtest.cc into pieces"" This reverts commit 89c40e246e39372390f0f843545d4e56aa657040. Reason for revert: Added missing INSTANTIATE Original change's description: > Revert "Reland "Split peer_connection_integrationtest.cc into pieces"" > > This reverts commit 772066bf16b125c1346a4d1b3e28c6e6f21cc1a7. > > Reason for revert: Did not catch all missing INSTANTIATE_TEST_SUITE_P > > Original change's description: > > Reland "Split peer_connection_integrationtest.cc into pieces" > > > > This reverts commit 8644f2b7632cff5e46560c2f5cf7c0dc071aa32d. > > > > Reason for revert: Fixed the bugs > > > > Original change's description: > > > Revert "Split peer_connection_integrationtest.cc into pieces" > > > > > > This reverts commit cae4656d4a7439e25160ff4d94e50949ff87cebe. > > > > > > Reason for revert: Breaks downstream build (missing INSTANTIATE_TEST_SUITE_P in pc/data_channel_integrationtest.cc). > > > > > > Original change's description: > > > > Split peer_connection_integrationtest.cc into pieces > > > > > > > > This creates two integration tests: One for datachannel, the other > > > > for every test that is not datachannel. > > > > > > > > It separates out the common framework to a new file in pc/test. > > > > Also applies some fixes to IWYU. > > > > > > > > Bug: None > > > > Change-Id: I919def1c360ffce205c20bec2d864aad9b179c3a > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207060 > > > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > > > Cr-Commit-Position: refs/heads/master@{#33244} > > > > > > TBR=hbos@webrtc.org,hta@webrtc.org > > > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > > > No-Try: True > > > Bug: None > > > Change-Id: I7dbedd3256cb7ff47eb5f8cd46c7c044ed0aa1e0 > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207283 > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > > > Cr-Commit-Position: refs/heads/master@{#33255} > > > > # Not skipping CQ checks because original CL landed > 1 day ago. > > > > Bug: None > > Change-Id: I1bb6186d7f898de82d26f4cd3d8a88014140c518 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/207864 > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > > Reviewed-by: Henrik Boström <hbos@webrtc.org> > > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#33283} > > Bug: None > Change-Id: I2b09b57c2477e52301ac30ec12ed69f2555ba7f8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208021 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Harald Alvestrand <hta@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#33286} Bug: None Change-Id: I6e362ac2234ae6c69dc9bbf886ee7dece8484202 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208022 Reviewed-by: Henrik Boström <hbos@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33289}
2021-02-17 09:05:31 +00:00
} // namespace webrtc