Skip to content

Commit

Permalink
Added unittest for ui/gl.
Browse files Browse the repository at this point in the history
This CL adds a unit testing harness for ui/gl tests.

In order to ensure that the bots do not break once they start running
these unit tests, gl_unittests currently it does not run any tests.
Once the bots successfully run gl_unittests, we can safely add tests
using the trybots to make sure the added tests actually work.

R=danakj@chromium.org, sievers@chromium.org
BUG=482067

Review URL: https://codereview.chromium.org/1121353002

Cr-Commit-Position: refs/heads/master@{#328407}
  • Loading branch information
dyen authored and Commit bot committed May 5, 2015
1 parent d2561bb commit 781489a
Show file tree
Hide file tree
Showing 7 changed files with 165 additions and 0 deletions.
3 changes: 3 additions & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ group("both_gn_and_gyp") {
"//ui/display:display_unittests",
"//ui/events:events_unittests",
"//ui/gfx:gfx_unittests",
"//ui/gl:gl_unittests",
"//ui/touch_selection:ui_touch_selection_unittests",
"//url:url_unittests",
]
Expand Down Expand Up @@ -775,6 +776,7 @@ if (is_linux) {
"//ui/display:display_unittests", # PASSES 2/25/2015
"//ui/events:events_unittests", # PASSES 2/25/2015
"//ui/gfx:gfx_unittests", # PASSES 2/25/2015
"//ui/gl:gl_unittests",
"//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015
"//ui/views:views_unittests", # PASSES (*) 2/25/2015
"//ui/wm:wm_unittests", # PASSES 2/25/2015
Expand Down Expand Up @@ -846,6 +848,7 @@ if (is_linux) {
"//ui/display:display_unittests", # PASSES 4/20/2015
"//ui/events:events_unittests", # PASSES 4/20/2015
"//ui/gfx:gfx_unittests", # PASSES (with assertion failure?) 4/20/2015
"//ui/gl:gl_unittests",
"//ui/message_center:message_center_unittests", # PASSES 4/20/2015
"//ui/touch_selection:ui_touch_selection_unittests", # PASSES 4/20/2015
"//ui/views:views_unittests", # TooltipControllerTest failures
Expand Down
9 changes: 9 additions & 0 deletions build/all.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/display/display.gyp:display_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../url/url.gyp:url_unittests',
],
'conditions': [
Expand Down Expand Up @@ -860,6 +861,7 @@
'../ui/base/ui_base_tests.gyp:ui_base_unittests_apk',
'../ui/events/events.gyp:events_unittests_apk',
'../ui/gfx/gfx_tests.gyp:gfx_unittests_apk',
'../ui/gl/gl_tests.gyp:gl_unittests_apk',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests_apk',
],
'conditions': [
Expand Down Expand Up @@ -952,6 +954,7 @@
'../tools/telemetry/telemetry.gyp:*',
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../url/url.gyp:url_unittests',
],
},
Expand Down Expand Up @@ -991,6 +994,7 @@
'../tools/telemetry/telemetry.gyp:*',
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../url/url.gyp:url_unittests',
],
},
Expand Down Expand Up @@ -1042,6 +1046,7 @@
'../third_party/libphonenumber/libphonenumber.gyp:libphonenumber_unittests',
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../url/url.gyp:url_unittests',
],
},
Expand Down Expand Up @@ -1096,6 +1101,7 @@
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/events/events.gyp:events_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
'../ui/views/views.gyp:views_unittests',
'../url/url.gyp:url_unittests',
Expand Down Expand Up @@ -1200,6 +1206,7 @@
'../ui/display/display.gyp:display_unittests',
'../ui/events/events.gyp:events_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../ui/keyboard/keyboard.gyp:keyboard_unittests',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
'../url/url.gyp:url_unittests',
Expand Down Expand Up @@ -1255,6 +1262,7 @@
'../sync/sync.gyp:sync_unit_tests',
'../ui/base/ui_base_tests.gyp:ui_base_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
'../ui/views/views.gyp:views_unittests',
'../url/url.gyp:url_unittests',
Expand Down Expand Up @@ -1288,6 +1296,7 @@
'../ui/display/display.gyp:display_unittests',
'../ui/events/events.gyp:*',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../ui/keyboard/keyboard.gyp:*',
'../ui/snapshot/snapshot.gyp:snapshot_unittests',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
Expand Down
1 change: 1 addition & 0 deletions build/gn_migration.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@
'../ui/display/display.gyp:display_unittests',
'../ui/events/events.gyp:events_unittests',
'../ui/gfx/gfx_tests.gyp:gfx_unittests',
'../ui/gl/gl_tests.gyp:gl_unittests',
'../ui/message_center/message_center.gyp:message_center_unittests',
'../ui/snapshot/snapshot.gyp:snapshot_unittests',
'../ui/touch_selection/ui_touch_selection.gyp:ui_touch_selection_unittests',
Expand Down
15 changes: 15 additions & 0 deletions ui/gl/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
# found in the LICENSE file.

import("//build/config/ui.gni")
import("//testing/test.gni")

if (is_android) {
import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
Expand Down Expand Up @@ -276,6 +278,19 @@ source_set("gl_unittest_utils") {
]
}

test("gl_unittests") {
sources = [
"test/run_all_unittests.cc",
]

deps = [
":gl",
"//base",
"//base/test:test_support",
"//testing/gtest",
]
}

if (is_android) {
generate_jar_jni("surface_jni_headers") {
jni_package = "ui/gl"
Expand Down
71 changes: 71 additions & 0 deletions ui/gl/gl_tests.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Copyright 2015 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.

{
'variables': {
'chromium_code': 1,
},
'targets': [
{
'target_name': 'gl_unittests',
'type': '<(gtest_target_type)',
'sources': [
'test/run_all_unittests.cc',
],
'dependencies': [
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/base/base.gyp:test_support_base',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'conditions': [
['OS == "android"', {
'dependencies': [
'<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
],
}],
],
}
],
'conditions': [
['OS == "android"', {
'targets': [
{
'target_name': 'gl_unittests_apk',
'type': 'none',
'dependencies': [
'gl_unittests',
],
'variables': {
'test_suite_name': 'gl_unittests',
},
'includes': [ '../../build/apk_test.gypi' ],
},
],
}],
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'gl_unittests_run',
'type': 'none',
'dependencies': [
'gl_unittests',
],
'includes': [
'../../build/isolate.gypi',
],
'sources': [
'gl_unittests.isolate',
],
'conditions': [
['use_x11 == 1', {
'dependencies': [
'<(DEPTH)/tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
],
}],
],
},
],
}],
],
}
20 changes: 20 additions & 0 deletions ui/gl/gl_unittests.isolate
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2015 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.
{
'conditions': [
['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
'variables': {
'command': [
'<(PRODUCT_DIR)/gl_unittests<(EXECUTABLE_SUFFIX)',
],
'files': [
'<(PRODUCT_DIR)/gl_unittests<(EXECUTABLE_SUFFIX)',
],
},
}],
],
'includes': [
'../../base/base.isolate',
],
}
46 changes: 46 additions & 0 deletions ui/gl/test/run_all_unittests.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Copyright 2015 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 "base/bind.h"
#include "base/test/launcher/unit_test_launcher.h"
#include "base/test/test_suite.h"

#if defined(OS_MACOSX) && !defined(OS_IOS)
#include "base/test/mock_chrome_application_mac.h"
#endif

namespace {

class GlTestSuite : public base::TestSuite {
public:
GlTestSuite(int argc, char** argv) : base::TestSuite(argc, argv) {
}

protected:
void Initialize() override {
base::TestSuite::Initialize();

#if defined(OS_MACOSX) && !defined(OS_IOS)
mock_cr_app::RegisterMockCrApp();
#endif
}

void Shutdown() override {
base::TestSuite::Shutdown();
}

private:
DISALLOW_COPY_AND_ASSIGN(GlTestSuite);
};

} // namespace

int main(int argc, char** argv) {
GlTestSuite test_suite(argc, argv);

return base::LaunchUnitTests(
argc,
argv,
base::Bind(&GlTestSuite::Run, base::Unretained(&test_suite)));
}

0 comments on commit 781489a

Please sign in to comment.