0

[headless] Moved headless mode tests into headless namespace.

There are no functional changes.

Change-Id: I8f70868c0fbc6a05382cd3987d8bf08943310285
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4190356
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Commit-Queue: Peter Kvitek <kvitekp@chromium.org>
Auto-Submit: Peter Kvitek <kvitekp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096257}
This commit is contained in:
Peter Kvitek
2023-01-24 17:54:07 +00:00
committed by Chromium LUCI CQ
parent 4edbe698b9
commit 1034c08db2
5 changed files with 41 additions and 8 deletions

@ -37,6 +37,8 @@
#include "testing/multiprocess_func_list.h"
#include "ui/gfx/switches.h"
namespace headless {
namespace switches {
// This switch runs tests in headful mode, intended for experiments only because
// not all tests are expected to pass in headful mode.
@ -60,7 +62,8 @@ void HeadlessModeBrowserTest::SetUpCommandLine(
if (command_line->HasSwitch(switches::kHeadfulMode)) {
headful_mode_ = true;
} else {
command_line->AppendSwitchASCII(switches::kHeadless, kHeadlessSwitchValue);
command_line->AppendSwitchASCII(::switches::kHeadless,
kHeadlessSwitchValue);
headless::SetUpCommandLine(command_line);
}
}
@ -79,10 +82,10 @@ void HeadlessModeBrowserTestWithStartWindowMode::SetUpCommandLine(
case kStartWindowNormal:
break;
case kStartWindowMaximized:
command_line->AppendSwitch(switches::kStartMaximized);
command_line->AppendSwitch(::switches::kStartMaximized);
break;
case kStartWindowFullscreen:
command_line->AppendSwitch(switches::kStartFullscreen);
command_line->AppendSwitch(::switches::kStartFullscreen);
break;
}
}
@ -93,6 +96,8 @@ void ToggleFullscreenModeSync(Browser* browser) {
observer.Wait();
}
namespace {
class HeadlessModeBrowserTestWithUserDataDir : public HeadlessModeBrowserTest {
public:
HeadlessModeBrowserTestWithUserDataDir() = default;
@ -110,7 +115,7 @@ class HeadlessModeBrowserTestWithUserDataDir : public HeadlessModeBrowserTest {
ASSERT_TRUE(user_data_dir_.CreateUniqueTempDir());
ASSERT_TRUE(base::IsDirectoryEmpty(user_data_dir()));
command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir());
command_line->AppendSwitchPath(::switches::kUserDataDir, user_data_dir());
}
const base::FilePath& user_data_dir() const {
@ -128,7 +133,7 @@ IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTestWithUserDataDir,
// expected to fail.
base::CommandLine command_line(
base::GetMultiProcessTestChildBaseCommandLine());
command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir());
command_line.AppendSwitchPath(::switches::kUserDataDir, user_data_dir());
base::Process child_process =
base::SpawnMultiProcessTestChild("ChromeProcessSingletonChildProcessMain",
@ -147,7 +152,7 @@ MULTIPROCESS_TEST_MAIN(ChromeProcessSingletonChildProcessMain) {
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
const base::FilePath user_data_dir =
command_line->GetSwitchValuePath(switches::kUserDataDir);
command_line->GetSwitchValuePath(::switches::kUserDataDir);
if (user_data_dir.empty())
return kErrorResultCode;
@ -158,4 +163,8 @@ MULTIPROCESS_TEST_MAIN(ChromeProcessSingletonChildProcessMain) {
return static_cast<int>(notify_result);
}
} // namespace
} // namespace headless
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)

@ -10,6 +10,8 @@
#include "content/public/test/browser_test.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace headless {
class HeadlessModeBrowserTest : public InProcessBrowserTest {
public:
static constexpr char kHeadlessSwitchValue[] = "new";
@ -55,4 +57,6 @@ class HeadlessModeBrowserTestWithStartWindowMode
// Toggles browser fullscreen mode synchronously.
void ToggleFullscreenModeSync(Browser* browser);
} // namespace headless
#endif // CHROME_BROWSER_HEADLESS_HEADLESS_MODE_BROWSERTEST_H_

@ -13,6 +13,8 @@
#include "ui/platform_window/platform_window_delegate.h"
#include "ui/platform_window/platform_window_init_properties.h"
namespace headless {
namespace {
// Mock platform window delegate for platform window creation.
@ -42,8 +44,6 @@ class MockPlatformWindowDelegate : public ui::PlatformWindowDelegate {
void OnMouseEnter() override {}
};
} // namespace
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, OzonePlatformHeadless) {
// On Linux, the Native Headless Chrome uses Ozone/Headless.
ASSERT_NE(ui::OzonePlatform::GetInstance(), nullptr);
@ -76,3 +76,7 @@ IN_PROC_BROWSER_TEST_P(HeadlessModeBrowserTestWithStartWindowMode,
// visible.
EXPECT_TRUE(browser()->window()->IsVisible());
}
} // namespace
} // namespace headless

@ -11,6 +11,10 @@
#include "chrome/browser/ui/browser_window.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace headless {
namespace {
INSTANTIATE_TEST_SUITE_P(HeadlessModeBrowserTestWithStartWindowMode,
HeadlessModeBrowserTestWithStartWindowMode,
testing::Values(kStartWindowNormal,
@ -74,3 +78,7 @@ IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest,
EXPECT_TRUE(browser()->window()->IsVisible());
EXPECT_FALSE(ns_window.visible);
}
} // namespace
} // namespace headless

@ -9,6 +9,10 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h"
namespace headless {
namespace {
// A class to expose a protected method for testing purposes.
class DesktopWindowTreeHostWinWrapper : public views::DesktopWindowTreeHostWin {
public:
@ -107,3 +111,7 @@ IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest,
EXPECT_TRUE(browser()->window()->IsVisible());
EXPECT_FALSE(::IsWindowVisible(desktop_window_hwnd));
}
} // namespace
} // namespace headless