Skip to content

Commit

Permalink
Fixes to make GPU tests run in isolated mode.
Browse files Browse the repository at this point in the history
1) To match the gyp dependencies, move clearkeycdmadapter binaries, plugins/,
   lib32/ and lib64/ from chrome.isolate to browser_tests.isolate.

2) On Windows, include <(version_full).manifest in chrome.isolate to be able
   to execute chrome.exe. Add needed chrome_child.dll and chrome_elf.dll.

3) Add libEGL.dll and libGLESv2.dll dependencies to gpu.gyp:gl_tests and a
   new angle.isolate; refer to it from gl_tests.isolate and
   gles2_conform_test.isolate.

4) Copy run_gpu_test to run_gpu_test.py, and invoke that instead in
   telemetry_gpu_test.isolate, to make this isolate work on Windows.

BUG=321878,334539

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245283 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
kbr@chromium.org committed Jan 16, 2014
1 parent e39bc28 commit eb66d06
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 10 deletions.
4 changes: 4 additions & 0 deletions build/isolate.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
# for more information.

{
'includes': [
'../chrome/version.gypi',
],
'rules': [
{
'rule_name': 'isolate',
Expand Down Expand Up @@ -77,6 +80,7 @@
'--config-variable',
'internal_gles2_conform_tests=<(internal_gles2_conform_tests)',
'--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)',
'--extra-variable', 'version_full=<(version_full)',
'--result', '<@(_outputs)',
'--isolate', '<(RULE_INPUT_PATH)',
],
Expand Down
15 changes: 15 additions & 0 deletions chrome/angle.isolate
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2014 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=="win"', {
'variables': {
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/libEGL.dll',
'<(PRODUCT_DIR)/libGLESv2.dll',
],
},
}],
],
}
9 changes: 9 additions & 0 deletions chrome/browser_tests.isolate
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
],
'isolate_dependency_tracked': [
'../testing/xvfb.py',
'<(PRODUCT_DIR)/libclearkeycdm.so',
'<(PRODUCT_DIR)/libclearkeycdmadapter.so',
'<(PRODUCT_DIR)/libppapi_tests.so',
'<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)',
],
Expand Down Expand Up @@ -90,18 +92,23 @@
],
'isolate_dependency_untracked': [
'../third_party/bidichecker/',
'<(PRODUCT_DIR)/lib64/',
'<(PRODUCT_DIR)/plugins/',
],
},
}],
['OS=="mac"', {
'variables': {
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/clearkeycdmadapter.plugin',
'<(PRODUCT_DIR)/libclearkeycdm.dylib',
'<(PRODUCT_DIR)/ppapi_nacl_tests_glibc_x32.nexe',
'<(PRODUCT_DIR)/ppapi_nacl_tests_newlib_x32.nexe',
'<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_newlib_x32.nexe',
'<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests',
],
'isolate_dependency_untracked': [
'<(PRODUCT_DIR)/lib32/',
'<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/',
'<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/',
],
Expand All @@ -122,6 +129,8 @@
'../native_client/build/build_nexe.py',
'../third_party/cygwin/bin/bash.exe',
'../third_party/cygwin/setup_mount.bat',
'<(PRODUCT_DIR)/clearkeycdm.dll',
'<(PRODUCT_DIR)/clearkeycdmadapter.dll',
'<(PRODUCT_DIR)/ppapi_tests.dll',
'<(PRODUCT_DIR)/security_tests.dll',
'tools/build/repack_locales.py',
Expand Down
12 changes: 3 additions & 9 deletions chrome/chrome.isolate
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
['OS=="linux"', {
'variables': {
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/libclearkeycdm.so',
'<(PRODUCT_DIR)/libclearkeycdmadapter.so',
'<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/libosmesa.so',
'<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so',
Expand Down Expand Up @@ -36,8 +34,6 @@
'<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
],
'isolate_dependency_untracked': [
'<(PRODUCT_DIR)/lib64/',
'<(PRODUCT_DIR)/plugins/',
'<(PRODUCT_DIR)/resources/extension/',
],
},
Expand All @@ -48,25 +44,23 @@
'<(PRODUCT_DIR)/<(mac_product_name).app/Contents/MacOS/<(mac_product_name)',
],
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/clearkeycdmadapter.plugin',
'<(PRODUCT_DIR)/ffmpegsumo.so',
'<(PRODUCT_DIR)/libclearkeycdm.dylib',
],
'isolate_dependency_untracked': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework/',
'<(PRODUCT_DIR)/<(mac_product_name) Helper.app/',
'<(PRODUCT_DIR)/<(mac_product_name).app/',
'<(PRODUCT_DIR)/lib32/',
],
},
}],
['OS=="win"', {
'variables': {
'isolate_dependency_tracked': [
'<(PRODUCT_DIR)/<(version_full).manifest',
'<(PRODUCT_DIR)/D3DCompiler_43.dll',
'<(PRODUCT_DIR)/chrome.dll',
'<(PRODUCT_DIR)/clearkeycdm.dll',
'<(PRODUCT_DIR)/clearkeycdmadapter.dll',
'<(PRODUCT_DIR)/chrome_child.dll',
'<(PRODUCT_DIR)/chrome_elf.dll',
'<(PRODUCT_DIR)/d3dcompiler_46.dll',
'<(PRODUCT_DIR)/ffmpegsumo.dll',
'<(PRODUCT_DIR)/libEGL.dll',
Expand Down
3 changes: 3 additions & 0 deletions chrome/gl_tests.isolate
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'includes': [
'angle.isolate',
],
'conditions': [
['OS=="android" or OS=="linux" or OS=="mac" or OS=="win"', {
'variables': {
Expand Down
3 changes: 3 additions & 0 deletions chrome/gles2_conform_test.isolate
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'includes': [
'angle.isolate',
],
'conditions': [
# TODO(kbr): add Android when these tests are run on those bots.
['OS=="linux" or OS=="mac" or OS=="win"', {
Expand Down
2 changes: 1 addition & 1 deletion chrome/telemetry_gpu_test.isolate
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
'../third_party/webgl/',
],
'command': [
'../content/test/gpu/run_gpu_test',
'../content/test/gpu/run_gpu_test.py',
],
},
}],
Expand Down
14 changes: 14 additions & 0 deletions content/test/gpu/run_gpu_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python
# Copyright 2014 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.
import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__),
os.pardir, os.pardir, os.pardir, 'tools', 'telemetry'))

from telemetry import test_runner

if __name__ == '__main__':
sys.exit(test_runner.Main())
6 changes: 6 additions & 0 deletions gpu/gpu.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,12 @@
'../testing/android/native_test.gyp:native_test_native_code',
],
}],
['OS == "win"', {
'dependencies': [
'../third_party/angle/src/build_angle.gyp:libEGL',
'../third_party/angle/src/build_angle.gyp:libGLESv2',
],
}],
],
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
'msvs_disabled_warnings': [ 4267, ],
Expand Down

0 comments on commit eb66d06

Please sign in to comment.