summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 19:34:46 +0000
committerkbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-16 19:34:46 +0000
commiteb66d06bc0295f8ba67298feed2bffee9f89fcd2 (patch)
tree21cadeb78fcf808cb24aaed59f0a131a19ada565
parente39bc28661717b73d7966913be7a9eec844f840e (diff)
downloadchromium_src-eb66d06bc0295f8ba67298feed2bffee9f89fcd2.zip
chromium_src-eb66d06bc0295f8ba67298feed2bffee9f89fcd2.tar.gz
chromium_src-eb66d06bc0295f8ba67298feed2bffee9f89fcd2.tar.bz2
Fixes to make GPU tests run in isolated mode.
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
-rw-r--r--build/isolate.gypi4
-rw-r--r--chrome/angle.isolate15
-rw-r--r--chrome/browser_tests.isolate9
-rw-r--r--chrome/chrome.isolate12
-rw-r--r--chrome/gl_tests.isolate3
-rw-r--r--chrome/gles2_conform_test.isolate3
-rw-r--r--chrome/telemetry_gpu_test.isolate2
-rwxr-xr-xcontent/test/gpu/run_gpu_test.py14
-rw-r--r--gpu/gpu.gyp6
9 files changed, 58 insertions, 10 deletions
diff --git a/build/isolate.gypi b/build/isolate.gypi
index cecf9b2..3d23655 100644
--- a/build/isolate.gypi
+++ b/build/isolate.gypi
@@ -38,6 +38,9 @@
# for more information.
{
+ 'includes': [
+ '../chrome/version.gypi',
+ ],
'rules': [
{
'rule_name': 'isolate',
@@ -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)',
],
diff --git a/chrome/angle.isolate b/chrome/angle.isolate
new file mode 100644
index 0000000..6ff0518
--- /dev/null
+++ b/chrome/angle.isolate
@@ -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',
+ ],
+ },
+ }],
+ ],
+}
diff --git a/chrome/browser_tests.isolate b/chrome/browser_tests.isolate
index 50aa107..9872040 100644
--- a/chrome/browser_tests.isolate
+++ b/chrome/browser_tests.isolate
@@ -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)',
],
@@ -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/',
],
@@ -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',
diff --git a/chrome/chrome.isolate b/chrome/chrome.isolate
index cc09a26..6a92211 100644
--- a/chrome/chrome.isolate
+++ b/chrome/chrome.isolate
@@ -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',
@@ -36,8 +34,6 @@
'<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
],
'isolate_dependency_untracked': [
- '<(PRODUCT_DIR)/lib64/',
- '<(PRODUCT_DIR)/plugins/',
'<(PRODUCT_DIR)/resources/extension/',
],
},
@@ -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',
diff --git a/chrome/gl_tests.isolate b/chrome/gl_tests.isolate
index bd96664..1afc399 100644
--- a/chrome/gl_tests.isolate
+++ b/chrome/gl_tests.isolate
@@ -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': {
diff --git a/chrome/gles2_conform_test.isolate b/chrome/gles2_conform_test.isolate
index b2711bb..d19ca74 100644
--- a/chrome/gles2_conform_test.isolate
+++ b/chrome/gles2_conform_test.isolate
@@ -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"', {
diff --git a/chrome/telemetry_gpu_test.isolate b/chrome/telemetry_gpu_test.isolate
index c9e0535..647a850 100644
--- a/chrome/telemetry_gpu_test.isolate
+++ b/chrome/telemetry_gpu_test.isolate
@@ -20,7 +20,7 @@
'../third_party/webgl/',
],
'command': [
- '../content/test/gpu/run_gpu_test',
+ '../content/test/gpu/run_gpu_test.py',
],
},
}],
diff --git a/content/test/gpu/run_gpu_test.py b/content/test/gpu/run_gpu_test.py
new file mode 100755
index 0000000..554ef9e
--- /dev/null
+++ b/content/test/gpu/run_gpu_test.py
@@ -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())
diff --git a/gpu/gpu.gyp b/gpu/gpu.gyp
index 3aeedfc1..a185ba5 100644
--- a/gpu/gpu.gyp
+++ b/gpu/gpu.gyp
@@ -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, ],