diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-03 06:27:57 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-03 06:27:57 +0000 |
commit | 5d6c69626c90ffce59fcb13eb8e66a29d400907b (patch) | |
tree | 38886242d045dc2b5a6e928c7726fa16789a2766 /chrome/test/unit | |
parent | 38d8d15aa79cbb9cd08ddfa11b3121121f44f84f (diff) | |
download | chromium_src-5d6c69626c90ffce59fcb13eb8e66a29d400907b.zip chromium_src-5d6c69626c90ffce59fcb13eb8e66a29d400907b.tar.gz chromium_src-5d6c69626c90ffce59fcb13eb8e66a29d400907b.tar.bz2 |
Refactor building unit_tests with SCons for the new structure:
* Rename SConscript.unit_tests to test/unit/unit_tests.scons.
* Add a new chrome/chrome.scons "master" for building everything
chrome. Have it just load the existing SConscript file, and
the new test/unit/unit_tests.scons file. We'll move things from
SConscript (or elsewhere) into chrome.scons as they get convertd.
* Change build/SConscript.main to load chrome/chrome.scons.
* Add new using_libjpeg.scons, using_libxml.scons, and using_libxslt.scons
"properties" files.
* Convert test/unit/unit_tests.scons to use the available using_*.scons files.
* Combine settings that were scattered throught test/unit/unit_tests.scons
to make it a little more readable.
* Add $CHROME_DIR/ to the beginning of the file listed in
test/unit/unit_tests.scons, since they're now being interpreted
from a SConscript file down two directory levels.
Review URL: http://codereview.chromium.org/9005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4448 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/unit')
-rw-r--r-- | chrome/test/unit/unit_tests.scons | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/chrome/test/unit/unit_tests.scons b/chrome/test/unit/unit_tests.scons new file mode 100644 index 0000000..1e9fc1e --- /dev/null +++ b/chrome/test/unit/unit_tests.scons @@ -0,0 +1,239 @@ +# Copyright (c) 2006-2008 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('env') + +env = env.Clone() + +env.SConscript([ + '$BASE_DIR/gfx/using_base_gfx.scons', + '$BASE_DIR/using_base.scons', + '$BZIP2_DIR/using_bzip2.scons', + '$CHROME_SRC_DIR/build/using_googleurl.scons', + '$GTEST_DIR/../using_gtest.scons', + '$ICU38_DIR/using_icu38.scons', + '$LIBJPEG_DIR/using_libjpeg.scons', + '$LIBPNG_DIR/using_libpng.scons', + '$LIBXML_DIR/using_libxml.scons', + '$LIBXSLT_DIR/using_libxslt.scons', + '$MODP_B64_DIR/using_modp_b64.scons', + '$NET_DIR/using_net.scons', + '$SKIA_DIR/using_skia.scons', + '$ZLIB_DIR/using_zlib.scons', +], {'env':env}) + +if env['PLATFORM'] == 'win32': + env.SConscript([ + '$SDCH_DIR/using_sdch.scons', + ], {'env':env}) + +if env['PLATFORM'] in ('posix', 'darwin'): + env.SConscript([ + '$LIBEVENT_DIR/using_libevent.scons', + ], {'env':env}) + +env.Prepend( + CPPPATH = [ + 'third_party/wtl/include', + 'tools/build/win', + '$CHROME_DIR/app/resources', + '$CHROME_SRC_DIR', + ], + CPPDEFINES = [ + 'USE_HUNSPELL', + 'HUNSPELL_CHROME_CLIENT', + ], + LIBS = [ + 'browser', + 'common', + 'hunspell', + 'plugin', + 'renderer', + 'sqlite', + 'util', + 'v8', + 'v8_snapshot', + + 'WTF', + 'V8Bindings', + 'default_plugin', + 'glue', + 'JavaScriptCore_pcre', + 'port', + 'WebCore', + ], +) + +if env['PLATFORM'] == 'win32': + # TODO(port): Port or mark as Windows-specific. + env.Prepend( + LIBS = [ + # TODO(port): to be ported to Mac and Linux, or else + # moved to the Windows-specific list below. + 'browser_views', + 'debugger', + 'jscre', + 'test_chrome_plugin', + 'views', + 'WebCore', + + # Windows-specific libraries. + 'activex_shim', + + 'winmm', + 'rpcrt4', + 'oleacc', + 'comsupp', + ], + LINKFLAGS = [ + '/INCREMENTAL', + + '/safeseh', + '/dynamicbase', + '/ignore:4199', + '/nxcompat', + + '/MANIFEST', + '/DELAYLOAD:"ws2_32.dll"', + '/DELAYLOAD:"dwmapi.dll"', + '/DELAYLOAD:"uxtheme.dll"', + + '/DEBUG', + '/MACHINE:X86', + '/FIXED:No', + ], + ) + +unit_test_files = [] + +if env['PLATFORM'] in ('posix', 'win32'): + # TODO(port): Port to Mac. + unit_test_files.extend([ + 'run_all_unittests.cc', + + '$CHROME_DIR/browser/chrome_thread_unittest.cc', + '$CHROME_DIR/browser/history/history_types_unittest.cc', + '$CHROME_DIR/browser/history/text_database_unittest.cc', + '$CHROME_DIR/browser/history/visit_tracker_unittest.cc', + '$CHROME_DIR/browser/metrics_response_unittest.cc', + '$CHROME_DIR/browser/net/dns_host_info_unittest.cc', + '$CHROME_DIR/browser/printing/page_range_unittest.cc', + '$CHROME_DIR/browser/printing/page_setup_unittest.cc', + '$CHROME_DIR/browser/printing/units_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/bloom_filter_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/chunk_range_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/safe_browsing_database_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/safe_browsing_database_impl_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/protocol_parser_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/safe_browsing_util_unittest.cc', + '$CHROME_DIR/common/animation_unittest.cc', + '$CHROME_DIR/common/bzip2_unittest.cc', + '$CHROME_DIR/common/jpeg_codec_unittest.cc', + '$CHROME_DIR/common/json_value_serializer_unittest.cc', + ]) + +if env['PLATFORM'] == 'win32': + # TODO(port): Port these. + unit_test_files.extend([ + '$CHROME_DIR/browser/autocomplete/autocomplete_unittest.cc', + '$CHROME_DIR/browser/autocomplete/history_contents_provider_unittest.cc', + '$CHROME_DIR/browser/autocomplete/history_url_provider_unittest.cc', + '$CHROME_DIR/browser/autocomplete/keyword_provider_unittest.cc', + '$CHROME_DIR/browser/back_forward_menu_model_unittest.cc', + '$CHROME_DIR/browser/bookmarks/bookmark_context_menu_test.cc', + '$CHROME_DIR/browser/bookmarks/bookmark_drag_data_unittest.cc', + '$CHROME_DIR/browser/bookmarks/bookmark_folder_tree_model_unittest.cc', + '$CHROME_DIR/browser/bookmarks/bookmark_model_unittest.cc', + '$CHROME_DIR/browser/bookmarks/bookmark_table_model_unittest.cc', + '$CHROME_DIR/browser/cache_manager_host_unittest.cc', + '$CHROME_DIR/browser/controller_unittest.cc', + '$CHROME_DIR/browser/download/download_manager_unittest.cc', + '$CHROME_DIR/browser/download/download_request_manager_unittest.cc', + '$CHROME_DIR/browser/download/save_package_unittest.cc', + '$CHROME_DIR/browser/encryptor_unittest.cc', + '$CHROME_DIR/browser/google_url_tracker_unittest.cc', + '$CHROME_DIR/browser/history/expire_history_backend_unittest.cc', + '$CHROME_DIR/browser/history/history_backend_unittest.cc', + '$CHROME_DIR/browser/history/history_querying_unittest.cc', + '$CHROME_DIR/browser/history/history_unittest.cc', + '$CHROME_DIR/browser/history/query_parser_unittest.cc', + '$CHROME_DIR/browser/history/snippet_unittest.cc', + '$CHROME_DIR/browser/history/starred_url_database_unittest.cc', + '$CHROME_DIR/browser/history/text_database_manager_unittest.cc', + '$CHROME_DIR/browser/history/thumbnail_database_unittest.cc', + '$CHROME_DIR/browser/history/url_database_unittest.cc', + '$CHROME_DIR/browser/history/visit_database_unittest.cc', + '$CHROME_DIR/browser/importer/firefox_importer_unittest.cc', + '$CHROME_DIR/browser/importer/importer_unittest.cc', + '$CHROME_DIR/browser/metrics_log_unittest.cc', + '$CHROME_DIR/browser/navigation_controller_unittest.cc', + '$CHROME_DIR/browser/net/dns_master_unittest.cc', + '$CHROME_DIR/browser/password_form_manager_unittest.cc', + '$CHROME_DIR/browser/printing/page_number_unittest.cc', + '$CHROME_DIR/browser/printing/page_overlays_unittest.cc', + '$CHROME_DIR/browser/printing/win_printing_context_unittest.cc', + '$CHROME_DIR/browser/profile_manager_unittest.cc', + '$CHROME_DIR/browser/renderer_security_policy_unittest.cc', + '$CHROME_DIR/browser/resource_dispatcher_host_unittest.cc', + '$CHROME_DIR/browser/rlz/rlz_unittest.cc', + '$CHROME_DIR/browser/safe_browsing/protocol_manager_unittest.cc', + '$CHROME_DIR/browser/session_backend_unittest.cc', + '$CHROME_DIR/browser/session_service_test_helper.cc', + '$CHROME_DIR/browser/session_service_unittest.cc', + '$CHROME_DIR/browser/site_instance_unittest.cc', + '$CHROME_DIR/browser/spellcheck_unittest.cc', + '$CHROME_DIR/browser/tabs/tab_strip_model_unittest.cc', + '$CHROME_DIR/browser/template_url_model_unittest.cc', + '$CHROME_DIR/browser/template_url_parser_unittest.cc', + '$CHROME_DIR/browser/template_url_unittest.cc', + '$CHROME_DIR/browser/url_fetcher_unittest.cc', + '$CHROME_DIR/browser/url_fixer_upper_unittest.cc', + '$CHROME_DIR/browser/views/bookmark_editor_view_unittest.cc', + '$CHROME_DIR/browser/views/keyword_editor_view_unittest.cc', + '$CHROME_DIR/browser/visitedlink_unittest.cc', + '$CHROME_DIR/browser/web_contents_unittest.cc', + '$CHROME_DIR/browser/webdata/web_database_unittest.cc', + '$CHROME_DIR/browser/window_sizer_unittest.cc', + '$CHROME_DIR/common/chrome_plugin_unittest.cc', + '$CHROME_DIR/common/gfx/emf_unittest.cc', + '$CHROME_DIR/common/gfx/icon_util_unittest.cc', + '$CHROME_DIR/common/gfx/url_elider_unittest.cc', + '$CHROME_DIR/common/ipc_message_unittest.cc', + '$CHROME_DIR/common/ipc_sync_channel_unittest.cc', + '$CHROME_DIR/common/ipc_sync_message_unittest.cc', + '$CHROME_DIR/common/l10n_util_unittest.cc', + '$CHROME_DIR/common/mru_cache_unittest.cc', + '$CHROME_DIR/common/notification_service_unittest.cc', + '$CHROME_DIR/common/os_exchange_data_unittest.cc', + '$CHROME_DIR/common/pref_member_unittest.cc', + '$CHROME_DIR/common/pref_service_unittest.cc', + '$CHROME_DIR/common/resource_dispatcher_unittest.cc', + '$CHROME_DIR/common/time_format_unittest.cc', + '$CHROME_DIR/common/win_util_unittest.cc', + '$CHROME_DIR/renderer/net/render_dns_master_unittest.cc', + '$CHROME_DIR/renderer/net/render_dns_queue_unittest.cc', + '$CHROME_DIR/test/test_notification_tracker.cc', + '$CHROME_DIR/test/test_tab_contents.cc', + '$CHROME_DIR/test/testing_profile.cc', + '$CHROME_DIR/views/focus_manager_unittest.cc', + '$CHROME_DIR/views/grid_layout_unittest.cc', + '$CHROME_DIR/views/table_view_unittest.cc', + '$CHROME_DIR/views/view_unittest.cc', + + # Commented out for now because googleurl_tests doesn't build with + # gtest; see ../build/SConscript.googleurl. + #'$GOOGLEURL_DIR/googleurl_tests.lib', + '$NET_DIR/url_request/url_request_test_job$OBJSUFFIX', + + env['BROWSER_RES'], + env['TEST_DATA_RES'], + ]) + +if env['PLATFORM'] in ('posix', 'win32'): + # TODO(port): This should work on all platforms. + + unit_tests = env.ChromeTestProgram('unit_tests', unit_test_files) + + i = env.Install('$TARGET_ROOT', unit_tests) + Alias('chrome', i) |