Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1844)

Unified Diff: chrome/chrome_tests.gypi

Issue 304793002: Support automatically resolving dependencies in javascript tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: rebase on top of Dominic's submitted test. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/chrome_tests.gypi
diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi
index 1e404e157fe7855b8e70202e884c893ee706fe04..d0e71a3eb8dbf99753dc784f6d61bdaf66cdff63 100644
--- a/chrome/chrome_tests.gypi
+++ b/chrome/chrome_tests.gypi
@@ -5,6 +5,9 @@
'includes': [
'js_unittest_vars.gypi',
],
+ 'variables': {
+ 'chromevox_deps_js_file': '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/chromeos/chromevox/deps.js',
dmazzoni 2014/05/30 17:03:42 I think it'd make sense to move these into a new g
+ },
'targets': [
{
'target_name': 'interactive_ui_tests',
@@ -792,6 +795,7 @@
'chrome_resources.gyp:chrome_strings',
'chrome_resources.gyp:packed_extra_resources',
'chrome_resources.gyp:packed_resources',
+ 'chromevox_generated_browser_tests',
'common/extensions/api/api.gyp:chrome_api',
'renderer',
'test/perf/perf_test.gyp:*',
@@ -847,6 +851,7 @@
'HAS_OUT_OF_PROC_TEST_RUNNER',
],
'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/browser/resources/chromeos/chromevox/common/aria_util_test-gen.cc',
'../apps/app_restore_service_browsertest.cc',
'../apps/app_window_browsertest.cc',
'../apps/app_shim/app_shim_host_manager_browsertest_mac.mm',
@@ -1326,7 +1331,6 @@
'browser/renderer_host/render_process_host_chrome_browsertest.cc',
'browser/renderer_host/web_cache_manager_browsertest.cc',
'browser/repost_form_warning_browsertest.cc',
- 'browser/resources/chromeos/chromevox/common/aria_util_test.js',
'browser/safe_browsing/local_safebrowsing_test_server.cc',
'browser/safe_browsing/safe_browsing_blocking_page_test.cc',
'browser/safe_browsing/safe_browsing_service_browsertest.cc',
@@ -1609,7 +1613,6 @@
'<(gypv8sh)',
'<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
'<(mock_js)',
- '<(accessibility_audit_js)',
'<(test_api_js)',
'<(js2gtest)',
],
@@ -2043,6 +2046,63 @@
], # conditions
}, # target browser_tests
{
+ # This library gets included in the browser_tests executable.
+ # It is separated out because the rule to convert js to C++ is
+ # different for ChromeVox tests and it is not possible to have conditions
+ # based on the actual rule input file.
+ # NOTE: This is not a static library because tests in static libraries
+ # are stripped by the linker. Therefore, sources mentioned in tihis
David Tseng 2014/05/30 17:08:46 this
+ # target must have a corresponding -gen.cc source mentioned in the
+ # browser_tests target above.
+ 'target_name': 'chromevox_generated_browser_tests',
+ 'type': 'none',
+ 'dependencies': [
+ '../testing/gtest.gyp:gtest',
+ ],
+ 'defines': [
+ 'HAS_OUT_OF_PROC_TEST_RUNNER',
+ ],
+ 'include_dirs': [
+ '..',
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ 'rules': [
+ {
+ 'rule_name': 'js2webui',
+ 'extension': 'js',
+ 'msvs_external_rule': 1,
+ 'inputs': [
+ '<(gypv8sh)',
+ '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
+ '<(mock_js)',
+ '<(test_api_js)',
+ '<(js2gtest)',
+ '<(chromevox_deps_js_file)',
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT)-gen.cc',
+ '<(PRODUCT_DIR)/test_data/chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
+ ],
+ 'action': [
+ 'python',
+ '<(gypv8sh)',
+ '<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
+ '--deps_js', '<(chromevox_deps_js_file)',
+ '<(mock_js)',
+ '<(test_api_js)',
+ '<(js2gtest)',
+ 'webui',
+ '<(RULE_INPUT_PATH)',
+ 'chrome/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).js',
+ '<@(_outputs)',
+ ],
+ },
+ ],
+ 'sources': [
+ 'browser/resources/chromeos/chromevox/common/aria_util_test.js',
+ ],
+ }, # target chromevox_browser_tests_lib
+ {
# Executable that runs each perf browser test in a new process.
'target_name': 'performance_browser_tests',
'type': 'executable',
@@ -2112,7 +2172,6 @@
'<(gypv8sh)',
'<(PRODUCT_DIR)/d8<(EXECUTABLE_SUFFIX)',
'<(mock_js)',
- '<(accessibility_audit_js)',
'<(test_api_js)',
'<(js2gtest)',
],
@@ -2598,6 +2657,35 @@
'..,'
],
},
+ {
+ 'target_name': 'chromevox_deps_js',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'action_name': 'deps_js',
+ 'message': 'Generate test ChromeVox deps.js',
+ 'variables': {
+ 'closure_dir': 'third_party/chromevox/third_party/closure-library/closure/goog',
+ 'cvox_dir': 'browser/resources/chromeos/chromevox',
+ 'depswriter_path': 'third_party/chromevox/third_party/closure-library/closure/bin/build/depswriter.py',
+ },
+ 'inputs': [
+ '<!@(python browser/resources/chromeos/chromevox/tools/find_js_files.py <(closure_dir) <(cvox_dir))',
+ '<(depswriter_path)',
+ ],
+ 'outputs': [
+ '<(chromevox_deps_js_file)',
+ ],
+ 'action': [
+ 'python',
+ '<(depswriter_path)',
+ '--root_with_prefix', '<(closure_dir) chrome/<(closure_dir)',
+ '--root_with_prefix', '<(cvox_dir) chrome/<(cvox_dir)',
+ '--output_file', '<(chromevox_deps_js_file)',
+ ],
+ },
+ ],
+ },
],
'conditions': [
['OS=="mac"', {

Powered by Google App Engine
This is Rietveld 408576698