Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: webrtc/modules/desktop_capture/screen_capturer_integration_test.cc

Issue 2444583002: Move ScreenCapturer 'real' tests out of screen_capturer_unittest.cc. (Closed)
Patch Set: Resolve review comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/desktop_capture/BUILD.gn ('k') | webrtc/modules/desktop_capture/screen_capturer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/desktop_capture/screen_capturer_integration_test.cc
diff --git a/webrtc/modules/desktop_capture/screen_capturer_unittest.cc b/webrtc/modules/desktop_capture/screen_capturer_integration_test.cc
similarity index 62%
copy from webrtc/modules/desktop_capture/screen_capturer_unittest.cc
copy to webrtc/modules/desktop_capture/screen_capturer_integration_test.cc
index ce18812fd5fa18369ee79aae64fcd3ebe34cc40b..f208f14f595b719259045c552a3c431723cdfc96 100644
--- a/webrtc/modules/desktop_capture/screen_capturer_unittest.cc
+++ b/webrtc/modules/desktop_capture/screen_capturer_integration_test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
+ * Copyright (c) 2016 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
@@ -28,17 +28,12 @@
#include "webrtc/modules/desktop_capture/desktop_region.h"
#include "webrtc/modules/desktop_capture/screen_capturer_mock_objects.h"
#include "webrtc/modules/desktop_capture/screen_drawer.h"
-#include "webrtc/system_wrappers/include/sleep.h"
#if defined(WEBRTC_WIN)
#include "webrtc/modules/desktop_capture/win/screen_capturer_win_directx.h"
#endif // defined(WEBRTC_WIN)
using ::testing::_;
-using ::testing::AnyNumber;
-using ::testing::Return;
-
-const int kTestSharedMemoryId = 123;
namespace webrtc {
@@ -79,7 +74,7 @@ bool ArePixelsColoredBy(const DesktopFrame& frame,
} // namespace
-class ScreenCapturerTest : public testing::Test {
+class ScreenCapturerIntegrationTest : public testing::Test {
public:
void SetUp() override {
capturer_.reset(
@@ -226,82 +221,11 @@ class ScreenCapturerTest : public testing::Test {
}
};
-class FakeSharedMemory : public SharedMemory {
- public:
- FakeSharedMemory(char* buffer, size_t size)
- : SharedMemory(buffer, size, 0, kTestSharedMemoryId),
- buffer_(buffer) {
- }
- virtual ~FakeSharedMemory() {
- delete[] buffer_;
- }
- private:
- char* buffer_;
- RTC_DISALLOW_COPY_AND_ASSIGN(FakeSharedMemory);
-};
-
-class FakeSharedMemoryFactory : public SharedMemoryFactory {
- public:
- FakeSharedMemoryFactory() {}
- ~FakeSharedMemoryFactory() override {}
-
- std::unique_ptr<SharedMemory> CreateSharedMemory(size_t size) override {
- return std::unique_ptr<SharedMemory>(
- new FakeSharedMemory(new char[size], size));
- }
-
- private:
- RTC_DISALLOW_COPY_AND_ASSIGN(FakeSharedMemoryFactory);
-};
-
-TEST_F(ScreenCapturerTest, GetScreenListAndSelectScreen) {
- webrtc::ScreenCapturer::ScreenList screens;
- EXPECT_TRUE(capturer_->GetScreenList(&screens));
- for (webrtc::ScreenCapturer::ScreenList::iterator it = screens.begin();
- it != screens.end(); ++it) {
- EXPECT_TRUE(capturer_->SelectScreen(it->id));
- }
-}
-
-TEST_F(ScreenCapturerTest, StartCapturer) {
- capturer_->Start(&callback_);
-}
-
-TEST_F(ScreenCapturerTest, Capture) {
- // Assume that Start() treats the screen as invalid initially.
- std::unique_ptr<DesktopFrame> frame;
- EXPECT_CALL(callback_,
- OnCaptureResultPtr(DesktopCapturer::Result::SUCCESS, _))
- .WillOnce(SaveUniquePtrArg(&frame));
-
- capturer_->Start(&callback_);
- capturer_->CaptureFrame();
-
- ASSERT_TRUE(frame);
- EXPECT_GT(frame->size().width(), 0);
- EXPECT_GT(frame->size().height(), 0);
- EXPECT_GE(frame->stride(),
- frame->size().width() * DesktopFrame::kBytesPerPixel);
- EXPECT_TRUE(frame->shared_memory() == NULL);
-
- // Verify that the region contains whole screen.
- EXPECT_FALSE(frame->updated_region().is_empty());
- DesktopRegion::Iterator it(frame->updated_region());
- ASSERT_TRUE(!it.IsAtEnd());
- EXPECT_TRUE(it.rect().equals(DesktopRect::MakeSize(frame->size())));
- it.Advance();
- EXPECT_TRUE(it.IsAtEnd());
-}
-
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_CaptureUpdatedRegion) {
+TEST_F(ScreenCapturerIntegrationTest, CaptureUpdatedRegion) {
TestCaptureUpdatedRegion();
}
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_TwoCapturers) {
+TEST_F(ScreenCapturerIntegrationTest, TwoCapturers) {
std::unique_ptr<ScreenCapturer> capturer2 = std::move(capturer_);
SetUp();
TestCaptureUpdatedRegion({capturer_.get(), capturer2.get()});
@@ -309,72 +233,7 @@ TEST_F(ScreenCapturerTest, DISABLED_TwoCapturers) {
#if defined(WEBRTC_WIN)
-TEST_F(ScreenCapturerTest, UseSharedBuffers) {
- std::unique_ptr<DesktopFrame> frame;
- EXPECT_CALL(callback_,
- OnCaptureResultPtr(DesktopCapturer::Result::SUCCESS, _))
- .WillOnce(SaveUniquePtrArg(&frame));
-
- capturer_->Start(&callback_);
- capturer_->SetSharedMemoryFactory(
- std::unique_ptr<SharedMemoryFactory>(new FakeSharedMemoryFactory()));
- capturer_->CaptureFrame();
-
- ASSERT_TRUE(frame);
- ASSERT_TRUE(frame->shared_memory());
- EXPECT_EQ(frame->shared_memory()->id(), kTestSharedMemoryId);
-}
-
-TEST_F(ScreenCapturerTest, UseMagnifier) {
- CreateMagnifierCapturer();
-
- std::unique_ptr<DesktopFrame> frame;
- EXPECT_CALL(callback_,
- OnCaptureResultPtr(DesktopCapturer::Result::SUCCESS, _))
- .WillOnce(SaveUniquePtrArg(&frame));
-
- capturer_->Start(&callback_);
- capturer_->CaptureFrame();
- ASSERT_TRUE(frame);
-}
-
-TEST_F(ScreenCapturerTest, UseDirectxCapturer) {
- if (!CreateDirectxCapturer()) {
- return;
- }
-
- std::unique_ptr<DesktopFrame> frame;
- EXPECT_CALL(callback_,
- OnCaptureResultPtr(DesktopCapturer::Result::SUCCESS, _))
- .WillOnce(SaveUniquePtrArg(&frame));
-
- capturer_->Start(&callback_);
- capturer_->CaptureFrame();
- ASSERT_TRUE(frame);
-}
-
-TEST_F(ScreenCapturerTest, UseDirectxCapturerWithSharedBuffers) {
- if (!CreateDirectxCapturer()) {
- return;
- }
-
- std::unique_ptr<DesktopFrame> frame;
- EXPECT_CALL(callback_,
- OnCaptureResultPtr(DesktopCapturer::Result::SUCCESS, _))
- .WillOnce(SaveUniquePtrArg(&frame));
-
- capturer_->Start(&callback_);
- capturer_->SetSharedMemoryFactory(
- std::unique_ptr<SharedMemoryFactory>(new FakeSharedMemoryFactory()));
- capturer_->CaptureFrame();
- ASSERT_TRUE(frame);
- ASSERT_TRUE(frame->shared_memory());
- EXPECT_EQ(frame->shared_memory()->id(), kTestSharedMemoryId);
-}
-
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_CaptureUpdatedRegionWithDirectxCapturer) {
+TEST_F(ScreenCapturerIntegrationTest, CaptureUpdatedRegionWithDirectxCapturer) {
if (!CreateDirectxCapturer()) {
return;
}
@@ -382,9 +241,7 @@ TEST_F(ScreenCapturerTest, DISABLED_CaptureUpdatedRegionWithDirectxCapturer) {
TestCaptureUpdatedRegion();
}
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_TwoDirectxCapturers) {
+TEST_F(ScreenCapturerIntegrationTest, TwoDirectxCapturers) {
if (!CreateDirectxCapturer()) {
return;
}
@@ -394,26 +251,21 @@ TEST_F(ScreenCapturerTest, DISABLED_TwoDirectxCapturers) {
TestCaptureUpdatedRegion({capturer_.get(), capturer2.get()});
}
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_CaptureUpdatedRegionWithMagnifierCapturer) {
+TEST_F(ScreenCapturerIntegrationTest,
+ CaptureUpdatedRegionWithMagnifierCapturer) {
CreateMagnifierCapturer();
TestCaptureUpdatedRegion();
}
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest, DISABLED_TwoMagnifierCapturers) {
+TEST_F(ScreenCapturerIntegrationTest, TwoMagnifierCapturers) {
CreateMagnifierCapturer();
std::unique_ptr<ScreenCapturer> capturer2 = std::move(capturer_);
CreateMagnifierCapturer();
TestCaptureUpdatedRegion({capturer_.get(), capturer2.get()});
}
-// Disabled due to being flaky due to the fact that it uses rendering / UI, see
-// webrtc/6366.
-TEST_F(ScreenCapturerTest,
- DISABLED_MaybeCaptureUpdatedRegionWithDirectxCapturer) {
+TEST_F(ScreenCapturerIntegrationTest,
+ MaybeCaptureUpdatedRegionWithDirectxCapturer) {
// Even DirectX capturer is not supported in current system, we should be able
// to select a usable capturer.
MaybeCreateDirectxCapturer();
« no previous file with comments | « webrtc/modules/desktop_capture/BUILD.gn ('k') | webrtc/modules/desktop_capture/screen_capturer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698