1 // Copyright 2021 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/test/base/in_process_browser_test.h"
6 #include "content/public/test/browser_test.h"
7 #include "ui/ozone/public/ozone_platform.h"
11 // Configures the ozone platform so it would return an error early at the stage
12 // of initialisation. In such event, the browser should gracefully exit.
13 // See https://crbug.com/1280138.
14 class OzonePlatformTest : public InProcessBrowserTest {
17 OzonePlatform::SetFailInitializeUIForTest(true);
18 set_expected_exit_code(1);
21 ~OzonePlatformTest() override {
22 OzonePlatform::SetFailInitializeUIForTest(false);
26 // TODO(crbug.com/1430388) Flaky during teardown on linux ASan/LSan builder.
27 #if BUILDFLAG(IS_LINUX) && \
28 (defined(ADDRESS_SANITIZER) || defined(LEAK_SANITIZER))
29 #define MAYBE_ExitsGracefullyOnPlatormInitFailure \
30 DISABLED_ExitsGracefullyOnPlatormInitFailure
32 #define MAYBE_ExitsGracefullyOnPlatormInitFailure \
33 ExitsGracefullyOnPlatormInitFailure
35 IN_PROC_BROWSER_TEST_F(OzonePlatformTest,
36 MAYBE_ExitsGracefullyOnPlatormInitFailure) {
37 // This should never be hit. The browser is expected to exit before entering