summaryrefslogtreecommitdiffstats
path: root/chrome/browser/apps/app_crash_browsertest.cc
blob: b03d1200091d446213460e715c70c64abc7e4da4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/apps/app_browsertest_util.h"
#include "chrome/browser/extensions/extension_test_message_listener.h"

// This class of BrowserTests is a helper to create tests related to crashes in
// Chrome Apps. To be tested, the app will have to be placed as any other test
// app (see PlatformAppBrowserTest) and will need to send a "Done" message back.
// When the "Done" message is received, the test succeed. If it is not, it is
// assumed that Chrome has crashed and the test will anyway fail.
//
// The entry in this file should be something like:
// IN_PROC_BROWSER_TEST_F(AppCrashTest, <TEST_NAME>) {
//   ASSERT_TRUE(RunAppCrashTest("<DIRECTORY_TEST_NAME>"));
// }

class AppCrashTest : public extensions::PlatformAppBrowserTest {
public:
  bool RunAppCrashTest(const char* name) {
    ExtensionTestMessageListener listener("Done", false);
    LoadAndLaunchPlatformApp(name);
    return listener.WaitUntilSatisfied();
  }
};

IN_PROC_BROWSER_TEST_F(AppCrashTest, HiddenWindows) {
  ASSERT_TRUE(RunAppCrashTest("crashtest_hidden_windows"));
}