summaryrefslogtreecommitdiffstats
path: root/o3d
diff options
context:
space:
mode:
authortschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-21 22:51:31 +0000
committertschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-21 22:51:31 +0000
commit75cdad794f70fd60e0f8cec419f6ee4989e25b55 (patch)
treec895d6101de890f355e21f84260463149344ec87 /o3d
parenta6fe7aa467b034f01cc8e2dd8f8cbd62edb40935 (diff)
downloadchromium_src-75cdad794f70fd60e0f8cec419f6ee4989e25b55.zip
chromium_src-75cdad794f70fd60e0f8cec419f6ee4989e25b55.tar.gz
chromium_src-75cdad794f70fd60e0f8cec419f6ee4989e25b55.tar.bz2
Cut some obsolete dependencies from O3D: scons, grit, and data_pack.
BUG=none TEST=built on Linux; Win & Mac trybots Review URL: http://codereview.chromium.org/4014004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63443 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d')
-rw-r--r--o3d/DEPS13
-rw-r--r--o3d/tests/build.scons784
-rw-r--r--o3d/utils/build.scons47
3 files changed, 0 insertions, 844 deletions
diff --git a/o3d/DEPS b/o3d/DEPS
index 64836a8..c0a5825 100644
--- a/o3d/DEPS
+++ b/o3d/DEPS
@@ -42,9 +42,6 @@ deps = {
"third_party/pdiff":
"http://o3d.googlecode.com/svn/trunk/googleclient/third_party/pdiff@" + Var("o3d_code_rev"),
- "third_party/scons":
- "http://o3d.googlecode.com/svn/trunk/googleclient/third_party/scons@" + Var("o3d_code_rev"),
-
"third_party/zip_utils":
"http://o3d.googlecode.com/svn/trunk/googleclient/third_party/zip_utils@" + Var("o3d_code_rev"),
@@ -165,18 +162,8 @@ deps_os = {
},
"unix": {
# Linux, really.
- "site_scons":
- Var("chromium_trunk") + "/src/site_scons@" + Var("chromium_rev"),
- # TODO(bradnelson): make these optional!!!
- # These are currently required by gyp on linux (even though o3d isn't using
- # data_pack or grit).
- "tools/grit":
- Var("chromium_trunk") + "/src/tools/grit@" + Var("chromium_rev"),
- "tools/data_pack":
- Var("chromium_trunk") + "/src/tools/data_pack@" + Var("chromium_rev"),
"tools/xdisplaycheck":
Var("chromium_trunk") + "/src/tools/xdisplaycheck@" + Var("chromium_rev"),
-
},
}
diff --git a/o3d/tests/build.scons b/o3d/tests/build.scons
deleted file mode 100644
index 7d20e6c..0000000
--- a/o3d/tests/build.scons
+++ /dev/null
@@ -1,784 +0,0 @@
-# Copyright 2009, Google Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-import os
-import sys
-
-Import('env')
-
-env['COMPONENT_TEST_SUBSYSTEM_WINDOWS'] = True
-
-gtest_env = env.Clone()
-gtest_env.Append(
- CPPPATH = ['$GTEST_DIR/include',
- '$GTEST_DIR',
- ]
-)
-gtest_sources = [
- 'gtest-all',
-]
-gtest_objs = [gtest_env.ComponentObject(name, '$GTEST_DIR/src/%s.cc' % name)
- for name in gtest_sources]
-
-gmock_env = gtest_env.Clone()
-gmock_env.Append(CPPPATH = ['$GMOCK_DIR/include',
- '$GMOCK_DIR'])
-gmock_sources = ['gmock-all']
-gtest_objs += [gmock_env.ComponentObject(name, '$GMOCK_DIR/src/%s.cc' % name)
- for name in gmock_sources]
-gtest_lib = gtest_env.Library('gtest', gtest_objs)
-
-env.Append(
- CPPDEFINES = [
- '_USE_MATH_DEFINES',
- ],
- CPPPATH = [
- env.Dir('$COLLADA_DIR'),
- env.Dir('$COLLADA_DIR/LibXML/include'),
- env.Dir('$CG_DIR/include'),
- # Headers for Antlr runtime library
- env.Dir('$ANTLRLIBC_DIR/include'),
- # Headers generated by Antlr for Technique grammar
- env.Dir('$OBJ_ROOT/compiler/technique'),
- '$GTEST_DIR/include',
- '$GMOCK_DIR/include',
- ],
- LIBPATH=[
- env.Dir('.'),
- env.Dir('$NACL_LIB_DIR'),
- env.Dir('$OBJ_ROOT/compiler/technique'), # For technique library
- env.Dir('$OBJ_ROOT/compiler/antlr'), # For antlr3c library
- ],
-)
-# TODO: rearrange coverage so this can be an append.
-
-# NOTE: Do not rearrange or sort these -- order is
-# (apparently) important here on Linux.
-env.Prepend(
- LIBS = [
- 'testing_common',
- 'o3dImportNoConditioner',
- 'o3dCore',
- 'o3dImport',
- 'o3dArchive',
- 'o3dCorePlatform',
- 'o3dSerializationObjects',
- 'o3dSerializer',
- 'o3dUtils',
- 'o3d_base',
- 'FColladaU',
- 'google_nacl_imc',
- 'technique',
- 'antlr3c',
- 'gtest',
- 'skia',
- ] + env['ICU_LIBS'],
-)
-
-# Next, append renderer specific libraries to the linker environment
-env.Append(
- CPPPATH = env['RENDERER_INCLUDE_PATH'],
- LIBPATH = [
- '$CG_DIR/lib',
- ] + env['RENDERER_LIB_PATH'],
- LIBS = env['RENDERER_LIBS'],
-)
-
-# Add libevent on posix platforms.
-if env.Bit('mac') or env.Bit('linux'):
- env.Append(
- LIBS = [
- 'event',
- ],
- )
-
-# Add cocoa framework on mac.
-if env.Bit('mac'):
- env.Append(
- FRAMEWORKS = [
- 'Cocoa',
- ],
- )
-
-run_env = env.Clone()
-if env.Bit('linux'):
- run_env.Append(ENV = os.environ)
- run_env.Append(
- ENV = {'LD_LIBRARY_PATH': run_env.Dir('$ARTIFACTS_DIR').abspath}
- )
-
-run_env.Append(
- ENV = {'MOZ_PLUGIN_PATH': run_env.Dir('$ARTIFACTS_DIR').abspath,
- 'MOZ_CRASHREPORTER_DISABLE': '1'},
- PYTHONPATH = ['$GFLAGS_DIR/python',
- '$SELENIUM_PYTHON_DIR']
-)
-
-# Install runtime files required for the build type.
-gl_requirements = []
-if env.Bit('windows'):
- # The install step for these lives in import/build.scons. the
- # import library always needs the Cg DLLs and executable, even on
- # D3D.
- gl_requirements += [
- '$ARTIFACTS_DIR/cg.dll',
- '$ARTIFACTS_DIR/cgGL.dll',
- '$ARTIFACTS_DIR/glew32.dll',
- ]
-
-# TODO: shouldn't need this.
-# Adding extra line for cleaner formatting.
-env.Help('\n')
-
-swiftshader_install = []
-if env.Bit('windows'):
- # Copy SwiftShader to plugin dir.
- swiftshader_path = env.subst('$SWIFTSHADER_DIR/swiftshader_d3d9.dll')
- if os.path.exists(swiftshader_path):
- swiftshader_install = env.Replicate('$ARTIFACTS_DIR/O3DExtras',
- swiftshader_path)
-
-# -------------------------------------------------------------------------
-# Unit tests
-
-# The basic unit tests
-tests = [
- 'base/cross/bits_test.cc',
- 'compiler/technique/technique_parser_test.cc',
- 'core/cross/bitmap_test.cc',
- 'core/cross/bounding_box_test.cc',
- 'core/cross/buffer_test.cc',
- 'core/cross/class_manager_test.cc',
- 'core/cross/client_test.cc',
- 'core/cross/client_info_test.cc',
- 'core/cross/counter_test.cc',
- 'core/cross/curve_test.cc',
- 'core/cross/draw_element_test.cc',
- 'core/cross/draw_list_test.cc',
- 'core/cross/draw_pass_test.cc',
- 'core/cross/effect_test.cc',
- 'core/cross/element_test.cc',
- 'core/cross/event_manager_test.cc',
- 'core/cross/fake_vertex_source.cc',
- 'core/cross/features_test.cc',
- 'core/cross/field_test.cc',
- 'core/cross/float_n_test.cc',
- 'core/cross/function_test.cc',
- 'core/cross/image_utils_test.cc',
- 'core/cross/material_test.cc',
- 'core/cross/math_utilities_test.cc',
- 'core/cross/matrix4_axis_rotation_test.cc',
- 'core/cross/matrix4_composition_test.cc',
- 'core/cross/matrix4_scale_test.cc',
- 'core/cross/matrix4_translation_test.cc',
- 'core/cross/message_commands_test.cc',
- 'core/cross/message_queue_test.cc',
- 'core/cross/object_base_test.cc',
- 'core/cross/pack_test.cc',
- 'core/cross/param_array_test.cc',
- 'core/cross/param_object_test.cc',
- 'core/cross/param_operation_test.cc',
- 'core/cross/param_test.cc',
- 'core/cross/performance_timer_test.cc',
- 'core/cross/primitive_test.cc',
- 'core/cross/ray_intersection_info_test.cc',
- 'core/cross/render_node_test.cc',
- 'core/cross/render_surface_test.cc',
- 'core/cross/renderer_test.cc',
- 'core/cross/service_locator_test.cc',
- 'core/cross/shape_test.cc',
- 'core/cross/skin_test.cc',
- 'core/cross/smart_ptr_test.cc',
- 'core/cross/state_set_test.cc',
- 'core/cross/state_test.cc',
- 'core/cross/stream_bank_test.cc',
- 'core/cross/stream_test.cc',
- 'core/cross/texture_base_test.cc',
- 'core/cross/texture_test.cc',
- 'core/cross/transform_test.cc',
- 'core/cross/tree_traversal_test.cc',
- 'core/cross/vector_map_test.cc',
- 'core/cross/vertex_source_test.cc',
- 'core/cross/visitor_base_test.cc',
- 'core/cross/weak_ptr_test.cc',
- 'import/cross/camera_info_test.cc',
- 'import/cross/destination_buffer_test.cc',
- 'import/cross/gz_compressor_test.cc',
- 'import/cross/gz_decompressor_test.cc',
- 'import/cross/json_object_test.cc',
- 'import/cross/main_thread_archive_callback_client_test.cc',
- 'import/cross/memory_buffer_test.cc',
- 'import/cross/memory_stream_test.cc',
- 'import/cross/raw_data_test.cc',
- 'import/cross/tar_generator_test.cc',
- 'import/cross/tar_processor_test.cc',
- 'import/cross/targz_generator_test.cc',
- 'import/cross/targz_processor_test.cc',
- 'import/cross/threaded_stream_processor_test.cc',
- 'serializer/cross/serializer_test.cc',
- 'tests/common/cross/test_utils.cc',
- 'utils/cross/base64_test.cc',
- 'utils/cross/dataurl_test.cc',
- 'utils/cross/file_path_utils_test.cc',
- 'utils/cross/file_text_reader_test.cc',
- 'utils/cross/json_writer_test.cc',
- 'utils/cross/math_gtest.cc',
- 'utils/cross/math_gtest_test.cc',
- 'utils/cross/string_reader_test.cc',
- 'utils/cross/string_writer_test.cc',
- 'utils/cross/temporary_file_test.cc',
-]
-
-if env['TARGET_PLATFORM']=='WINDOWS':
- tests += [
- # These are temporarily just being run for windows but should be
- # moved to global when logging is working for the mac.
- 'plugin/cross/plugin_logging_test.cc',
- 'statsreport/aggregator-win32_unittest.cc',
- 'statsreport/aggregator_unittest.cc',
- 'statsreport/formatter_unittest.cc',
- 'statsreport/metrics_unittest.cc',
- 'statsreport/persistent_iterator-win32_unittest.cc',
- 'breakpad/win/bluescreen_detector_test.cc',
- ]
- env.Append(
- LINKFLAGS=['/SUBSYSTEM:WINDOWS'],
- LIBS=[
- 'o3dStatsreport_Common',
- 'o3dStatsreport',
- 'o3dPlugin_logging',
- 'o3dBreakpad',
- 'shlwapi',
- ]
- )
-
-unit_tests = env.Program('unit_tests', tests)
-
-# After building the test executable, force the windows executable to output
-# stdout to a console window
-# TODO: if WinMain/main is handled differently this isn't needed.
-if env['TARGET_PLATFORM'] == 'WINDOWS':
- blessed = env.AddPostAction(unit_tests, 'editbin /SUBSYSTEM:CONSOLE $TARGET')
-else:
- blessed = unit_tests
-
-# Install to artifacts.
-unit_tests_install = env.Replicate('$ARTIFACTS_DIR', blessed)
-
-# Install any data required by the basic unit-tests
-unit_tests_req = []
-
-env['TEST_DATA_DIR'] = '$SCONSTRUCT_DIR/import/test_data'
-unit_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/unittest_data',
- [
- '$TEST_DATA_DIR/crate.dae',
- '$TEST_DATA_DIR/crate.jpg',
- '$TEST_DATA_DIR/rock01.tga',
- '$TEST_DATA_DIR/rock02.tga',
- ])
-
-env['TECHNIQUE_TEST_DATA_DIR'] = '$SCONSTRUCT_DIR/compiler/technique/test_data'
-unit_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/unittest_data',
- [
- '$TECHNIQUE_TEST_DATA_DIR/fur.fx',
- '$TECHNIQUE_TEST_DATA_DIR/lambert.fx',
- '$TECHNIQUE_TEST_DATA_DIR/noshader.fx',
- '$TECHNIQUE_TEST_DATA_DIR/notechnique.fx',
- '$TECHNIQUE_TEST_DATA_DIR/sampler_test.fx',
- '$TECHNIQUE_TEST_DATA_DIR/shadow_map.fx',
- '$TECHNIQUE_TEST_DATA_DIR/simple.fx',
- ])
-
-unit_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/bitmap_test',
- '$SCONSTRUCT_DIR/tests/bitmap_test/*')
-
-unit_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/archive_files',
- '$SCONSTRUCT_DIR/tests/archive_files/*')
-
-# Also require gl related libraries based on variant.
-unit_tests_req += gl_requirements
-unit_tests_req += swiftshader_install
-
-# Add requirements for unit tests.
-env.Requires(unit_tests_install, unit_tests_req)
-
-# TODO: temporarily continue to use aliases to run tests.
-# This need to eventually switch to use ComponentTestProgram once
-# other sections have been adjusted.
-env['PROGRAM_NAME'] = unit_tests_install[0].path
-env['PROGRAM_BASENAME'] = os.path.join('$ARTIFACTS_DIR', 'unit_tests')
-env.AlwaysBuild(run_env.Alias('unit_tests', unit_tests_install,
- env.subst('$COMPONENT_TEST_CMDLINE')))
-
-# Add help.
-env.Help('unit_tests: run unit tests\n')
-
-if env.Bit('mac'):
- env['SHLINKFLAGS'] = ['-F$CG_DIR']
- env['SHLIBPREFIX'] = ['']
- env['SHLIBSUFFIX'] = ['']
-
- env.Append(
- FRAMEWORKS = [
- 'AGL',
- 'Accelerate',
- 'AudioToolbox',
- 'AudioUnit',
- 'Carbon',
- 'Cg',
- 'CoreAudio',
- 'Foundation',
- 'GLUT',
- 'OpenAL',
- 'OpenGL',
- ],
- CCFLAGS = ['-F$CG_DIR'],
- LINKFLAGS = ['-F$CG_DIR'],
- SHLINKFLAGS = ['-F$CG_DIR']
- )
-
- env.AddPostAction(
- unit_tests_install,
- [
- # Change install name reference
- # make Cg.framework point to copy in $THIRD_PARTY
- '/usr/bin/install_name_tool '
- '-change @executable_path/../Library/Frameworks/Cg.framework/Cg '
- '"$CG_DIR/Cg.framework/Cg" '
- '"$ARTIFACTS_DIR/unit_tests"'
- ])
-
-
-#----------------------------------------------------------------------------
-# Install the perceptual diff tool and its requirements.
-
-installed_pdiff = None
-pdiff = None
-pdiff_requirements = []
-if env.Bit('windows'):
- # Install the perceptual-diff utility for lossy image comparisons
- pdiff = '$PDIFF_DIR/bin/win/perceptualdiff.exe'
- # perceptualdiff.exe also needs FreeImage.dll to run
- pdiff_requirements = env.Replicate('$ARTIFACTS_DIR',
- '$PDIFF_DIR/bin/win/FreeImage.dll')
-elif env.Bit("linux"):
- pdiff = '$PDIFF_DIR/bin/linux/perceptualdiff'
-elif env.Bit("mac"):
- pdiff = '$PDIFF_DIR/bin/mac/perceptualdiff'
-
-if pdiff:
- installed_pdiff = env.Replicate('$ARTIFACTS_DIR', pdiff)
- run_env["PDIFF_PATH"] = installed_pdiff[0]
- env.Requires(installed_pdiff, pdiff_requirements)
-
-# -------------------------------------------------------------------------
-# System tests
-
-# Only define and run the system tests if they are enabled.
-if ARGUMENTS.get('SYSTEM_TESTS_ENABLED', False):
- # Build the system tests
- system_testprog = env.Program('system_tests',
- 'basic_system_test/basic_system_test.cc')
-
- # After building the test executable, force the windows executable to output
- # stdout to a console window
- if env.Bit('windows'):
- blessed = env.AddPostAction(system_testprog,
- 'editbin /SUBSYSTEM:CONSOLE $TARGET')
- else:
- blessed = system_testprog
- system_tests_install = env.Replicate('$ARTIFACTS_DIR', blessed)
-
- # Gather requirements for system tests.
- system_tests_req = []
-
- # TODO : The system tests are currently limited to Direct3D.
- if env.Bit('windows') and 'RENDERER_D3D9' in env['CPPDEFINES']:
- system_tests_req += env.Replicate(
- '$ARTIFACTS_DIR',
- ['test_driver.bat', 'test_driver.py'])
-
- # Install the assets required for the basic system test.
- system_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/basic_system_test/reference_frames',
- 'basic_system_test/reference_frames/*')
- system_tests_req += env.Replicate(
- '$ARTIFACTS_DIR/basic_system_test',
- 'basic_system_test/reference_stream.csv')
-
- # Copy the PIX utility and experiment file to the testing build directory.
- if env.Bit('windows') and 'RENDERER_D3D9' in env['CPPDEFINES']:
- # Replicate a script which will package all of the files required,
- # for D3D9-tests.
- pix_requirements = env.Replicate(
- '$ARTIFACTS_DIR',
- [
- '$DIRECTX9_DIR/utilities/bin/x86/PIXWin.exe',
- '$DIRECTX9_DIR/utilities/bin/x86/PIXHelper.dll',
- '$DIRECTX9_DIR/utilities/bin/x86/PIXAdmin.exe',
- '$DIRECTX9_DIR/utilities/bin/x86/Detoured.dll',
- '$DIRECTX9_DIR/runtime/x86/d3dref9.dll',
- 'testing_framework_reference.PIXExp',
- 'testing_framework_hardware.PIXExp',
- 'package_tests.bat',
- ])
- system_tests_req += pix_requirements
-
- if installed_pdiff:
- system_tests_req += installed_pdiff
-
- # Also require gl related libraries based on variant.
- system_tests_req += gl_requirements
-
- # Require SwiftShader (only if it is available).
- system_tests_req += swiftshader_install
-
- # Add requirements for system_tests.
- env.Requires(system_tests_install, system_tests_req)
-
- # Get command line flags for tests driver.
- if int(ARGUMENTS.get('hardware', 1)):
- env.Replace(TEST_DRIVER_FLAGS = '-hardware')
-
- # Create an alias for the execution of the system tests.
- env.Alias('system_tests')
- # Only add actual step if d3d mode (for now).
- if 'RENDERER_D3D9' in env['CPPDEFINES']:
- if env.get('COVERAGE_ENABLED'):
- # TODO: temporarily continue to use aliases to run tests.
- # This need to eventually switch to use ComponentTestProgram once
- # other sections have been adjusted.
- # When running coverage, don't run system_tests thru test_driver.py
- env['PROGRAM_NAME'] = system_tests_install[0].path
- env['PROGRAM_BASENAME'] = os.path.join('$ARTIFACTS_DIR', 'system_tests')
- env.AlwaysBuild(run_env.Alias(
- 'system_tests', system_tests_install,
- env.subst('$COMPONENT_TEST_CMDLINE')))
- else:
- env.AlwaysBuild(run_env.Alias(
- 'system_tests', system_tests_install,
- 'cd $ARTIFACTS_DIR && ' + \
- sys.executable + ' $ARTIFACTS_DIR/test_driver.py $TEST_DRIVER_FLAGS'))
- # Add help.
- env.Help('system_tests: run system tests\n')
-
-
-#----------------------------------------------------------------------------
-# Selenium Tests
-
-run_env.Replace(
- SELENIUM_VERBOSE = ARGUMENTS.get('SELENIUM_VERBOSE', '0'),
- SELENIUM_SERVER_JAR = '$SELENIUM_JAVA_DIR/selenium-server.jar',
- SELENIUM_TEST_PREFIX = ARGUMENTS.get('SELENIUM_TEST_PREFIX', 'Test'),
- SELENIUM_TEST_SUFFIXES = ARGUMENTS.get('SELENIUM_TEST_SUFFIXES',
- 'small,medium,large'),
- SELENIUM_CAPTURE_SCREENSHOTS = ARGUMENTS.get(
- 'SELENIUM_CAPTURE_SCREENSHOTS',
- ''),
- SELENIUM_SAMPLES_DIR = run_env.subst('$ARTIFACTS_DIR')[
- len(run_env.subst('$SCONSTRUCT_DIR')):],
- SELENIUM_FLAGS = ('--verbose=$SELENIUM_VERBOSE '
- '--selenium_server="$SELENIUM_SERVER_JAR" '
- '--product_dir="$ARTIFACTS_DIR" '
- '--testprefix=$SELENIUM_TEST_PREFIX '
- '--testsuffixes=$SELENIUM_TEST_SUFFIXES '
- '--screencompare="${PDIFF_PATH.abspath}" '
- '$SELENIUM_CAPTURE_SCREENSHOTS '
- '$SELENIUM_EXTRA_FLAGS'),
-)
-
-if run_env.Bit('windows'):
- from SCons.Platform.win32 import get_program_files_dir
- path_contents = '%s/Mozilla Firefox;%s' % (
- get_program_files_dir(),
- run_env.Dir('$ARTIFACTS_DIR').abspath)
- run_env.Append(
- ENV = {'PATH': '%s/Mozilla Firefox;%s' % (
- get_program_files_dir(),
- run_env.Dir('$ARTIFACTS_DIR').abspath)},
- )
- run_env.Append(
- ENV = {'USERPROFILE': os.environ['USERPROFILE']}
- )
-
-# The Macintosh Firefox apparently does not support the MOZ_PLUGIN_PATH.
-# On the Mac we can run a hermetic version of Firefox and allow it to find
-# the O3D plugin by adding a symlink to it inside the plugins directory
-# inside the Firefox.app bundle. We then instruct selenium to run this
-# specific version of Firefox. All of this avoids having to install
-# the plugin in a system directory which could be bad on
-# auto-build machines, etc.
-plugin_path = '$ARTIFACTS_DIR/${LIBPREFIX}npo3dautoplugin$SHLIBSUFFIX'
-browser_path = ''
-plugin_install_steps = []
-cleanup_steps = []
-selenium_good_to_go = True
-
-if run_env.Bit('mac'):
- plugin_path = '$ARTIFACTS_DIR/O3D.plugin'
-
- if run_env['MAC_HERMETIC_FIREFOX_DIR']:
- # if we have a hermetic version of Firefox, then run it
- if os.path.exists(run_env.subst('$MAC_HERMETIC_FIREFOX_DIR')):
- run_env['MAC_FIREFOX_DIR'] = '$MAC_HERMETIC_FIREFOX_DIR'
- run_env['MAC_FIREFOX_APP'] = '$MAC_FIREFOX_DIR/Firefox.app'
- run_env['MAC_FIREFOX_TGZ'] = '$MAC_FIREFOX_DIR/firefox.tgz'
- browser_path = '$MAC_FIREFOX_APP/Contents/MacOS/firefox-bin'
- plugin_install_steps = [
- 'rm -rf "$MAC_FIREFOX_APP"',
- 'cd $MAC_FIREFOX_DIR && tar xfz "$MAC_FIREFOX_TGZ"',
- 'ln -fs "' + plugin_path + '" "$MAC_FIREFOX_APP/Contents/MacOS/plugins"',
- ]
- cleanup_steps = [
- 'rm -rf "$MAC_FIREFOX_APP"',
- ]
- else:
- # No hermetic version, look for Firefox.app in /Applications
- run_env['MAC_FIREFOX_ORIG_DIR'] = '/Applications'
- run_env['MAC_FIREFOX_ORIG_APP'] = '$MAC_FIREFOX_ORIG_DIR/Firefox.app'
-
- if not os.path.exists(run_env.subst('$MAC_FIREFOX_ORIG_APP')):
- selenium_good_to_go = False
- else:
- run_env['MAC_FIREFOX_DIR'] = '$TARGET_ROOT/firefox_selenium'
- run_env['MAC_FIREFOX_APP'] = '$MAC_FIREFOX_DIR/Firefox.app'
- browser_path = '$MAC_FIREFOX_APP/Contents/MacOS/firefox-bin'
- plugin_install_steps = [
- # copy user's version of Firefox into $MAC_FIREFOX_DIR
- 'rm -rf "$MAC_FIREFOX_DIR"',
- 'mkdir "$MAC_FIREFOX_DIR"',
- 'ditto "$MAC_FIREFOX_ORIG_APP" "$MAC_FIREFOX_APP"',
- 'ln -fs "' + plugin_path + '" "$MAC_FIREFOX_APP/Contents/MacOS/plugins"',
- ]
- cleanup_steps = [
- 'rm -rf "$MAC_FIREFOX_DIR"',
- ]
-
-def DeferSeleniumTestsInstall(env):
- manifest = []
- sconstruct_dir = env.subst('$SCONSTRUCT_DIR')
- for root, dirs, files in \
- os.walk(sconstruct_dir + '/tests/selenium/tests'):
- if '.svn' in dirs:
- dirs.remove('.svn')
- for file in files:
- manifest.append(os.path.join(root[len(sconstruct_dir) + 1:], file))
- for manifest_item in manifest:
- result = env.Command('$ARTIFACTS_DIR/' + manifest_item,
- '$MAIN_DIR/' + manifest_item,
- [Delete('$TARGET'),
- Copy('$TARGET', '$SOURCE'),
- Chmod('$TARGET', 0777)])
- env.Publish('selenium', 'tests', result);
-
-env.Defer(DeferSeleniumTestsInstall)
-
-def DeferSelenium(env):
- if not selenium_good_to_go:
- run_selenium_firefox = run_env.Alias(
- 'selenium_firefox', [],
- 'echo "******* Firefox.app MUST be installed in /Applications!!!"'
- )
- else:
- run_selenium_firefox = run_env.Alias(
- 'selenium_firefox',
- [plugin_path, env.GetPublished('samples', 'asset_files'),
- env.GetPublished('selenium', 'tests')],
- # TODO: have a cleaner way to do this.
- [Delete('$ARTIFACTS_DIR/selenium/screenshots_firefox'),
- Mkdir('$ARTIFACTS_DIR/selenium/screenshots_firefox')] +
- plugin_install_steps +
- [run_env.Python([
- 'tests/selenium/main.py',
- '$SELENIUM_FLAGS',
- '--browser=*firefox',
- '--browserpath="' + browser_path + '"',
- '--referencedir=$TEST_REFERENCE_IMAGES',
- '--screenshotsdir=$ARTIFACTS_DIR/selenium/screenshots_firefox'])] +
- cleanup_steps,
- )
-
- # Require SwiftShader (only if it is available).
- run_env.Requires(run_selenium_firefox, swiftshader_install)
-
- if run_env.Bit('windows'):
- run_selenium_ie = run_env.Alias(
- 'selenium_ie',
- ['$ARTIFACTS_DIR/${LIBPREFIX}npo3dautoplugin$SHLIBSUFFIX',
- '$ARTIFACTS_DIR/${LIBPREFIX}o3d_host$SHLIBSUFFIX',
- env.GetPublished('samples', 'asset_files')],
- # TODO: have a cleaner way to do this.
- [Delete('$ARTIFACTS_DIR/selenium/screenshots_ie'),
- Mkdir('$ARTIFACTS_DIR/selenium/screenshots_ie'),
- run_env.Python([
- 'tests/selenium/main.py',
- '$SELENIUM_FLAGS',
- '--browser=*iexplore',
- '--servertimeout=80',
- '--referencedir=$TEST_REFERENCE_IMAGES',
- '--screenshotsdir=$ARTIFACTS_DIR/selenium/screenshots_ie'])],
- )
- run_env.Requires(run_selenium_ie, '$IE_PLUGIN_DIR')
-
- run_selenium_chrome = run_env.Alias(
- 'selenium_chrome',
- ['$ARTIFACTS_DIR/${LIBPREFIX}npo3dautoplugin$SHLIBSUFFIX',
- env.GetPublished('samples', 'asset_files')],
- # TODO: have a cleaner way to do this.
- [Delete('$ARTIFACTS_DIR/selenium/screenshots_chrome'),
- Mkdir('$ARTIFACTS_DIR/selenium/screenshots_chrome'),
- run_env.Python([
- 'tests/selenium/main.py',
- '$SELENIUM_FLAGS',
- '--browser=*googlechrome',
- '--referencedir=$TEST_REFERENCE_IMAGES',
- '--screenshotsdir=$ARTIFACTS_DIR/selenium/screenshots_chrome'])],
- )
- # Chrome requires that the plug-in be located in the install path.
- env.Requires(run_selenium_chrome, env.Alias('install'))
-
- if installed_pdiff:
- env.Requires(run_selenium_firefox, installed_pdiff)
- if run_env.Bit('windows'):
- env.Requires(run_selenium_ie, installed_pdiff)
- env.Requires(run_selenium_chrome, installed_pdiff)
-
- env.AlwaysBuild(run_selenium_firefox)
- if run_env.Bit('windows'):
- env.AlwaysBuild(run_selenium_ie)
- env.AlwaysBuild(run_selenium_chrome)
-
- run_env.Alias('selenium', run_selenium_firefox)
-
-run_env.Defer(DeferSelenium)
-
-# Add help.
-env.Help('selenium_{firefox|ie|chrome): run selenium tests in the given browser\n')
-
-
-# Add generation of lump for hive selenium tests.
-if env.AnyBits('mac', 'windows'):
- selenium_env = env.Clone()
- selenium_env.AppendENVPath('PATH',
- os.environ.get('PRESCONS_PATH', '').split(';'))
-
- # Pull in all pulse related environment variables.
- for k in os.environ:
- if k.startswith('PULSE_') or k == 'BUILD_NUMBER':
- selenium_env['ENV'][k] = os.environ[k]
-
- selenium_env['PREP_SELENIUM_ARCHIVE'] = (
- '$TARGET_ROOT/${PREP_SELENIUM_ARCHIVE_NAME}.zip')
-
- if int(ARGUMENTS.get('O3D_ENABLE_BREAKPAD', 0)):
- selenium_env['O3D_BRANCH'] = 'release'
- else:
- selenium_env['O3D_BRANCH'] = 'trunk'
-
- if env.Bit('mac'):
- selenium_env['PREP_SELENIUM_ARCHIVE_NAME'] = 'O3Dtests_mac'
- selenium_env['GNU_SETUP_EXTRAS'] = ''
- selenium_env['SETUP_SCRIPTS'] = (
- # PYTHONPATH env needed to import python modules used on Buildbot.
- 'export PYTHONPATH=' + os.environ.get('PYTHONPATH', ''))
- else:
- selenium_env['PREP_SELENIUM_ARCHIVE_NAME'] = 'O3Dtests'
- selenium_env['GNU_SETUP_EXTRAS'] = r'..\o3d-internal\third_party\gnu\setup_env.bat && '
- # PYTHONPATH env needed to import python modules used on Buildbot.
- selenium_env['SETUP_SCRIPTS'] = (
- 'set PYTHONPATH=' + os.environ.get('PYTHONPATH', ''))
-
- selenium_env['ENV']['DXSDK_DIR'] = os.environ.get('DXSDK_DIR', '')
-
- selenium_env.AlwaysBuild(selenium_env.Alias('prep_selenium', [],
- [Delete('$TARGET_ROOT/${PREP_SELENIUM_ARCHIVE_NAME}'),
- '$SETUP_SCRIPTS && '
- 'cd .. && cd o3d-internal && cd tests && cd lab_automation && ' +
- sys.executable + ' prepare_selenium_tests.py '
- '$TARGET_ROOT/${PREP_SELENIUM_ARCHIVE_NAME}',
- Delete('$PREP_SELENIUM_ARCHIVE'),
- '${GNU_SETUP_EXTRAS}'
- 'cd $TARGET_ROOT && '
- 'zip -9 -r $PREP_SELENIUM_ARCHIVE ${PREP_SELENIUM_ARCHIVE_NAME}',
- ]))
-
-
-
-#--------------------------------------------------------------------------
-# General stuff
-
-presubmit_tests = [
- env.Alias('unit_tests'),
-]
-
-if ARGUMENTS.get('SYSTEM_TESTS_ENABLED', False):
- presubmit_tests += [
- env.Alias('system_tests'),
- ]
-
-# TODO: Make presubmit run selenium once the OpenGL build is
-# completely working.
-if 'RENDERER_D3D9' in env['CPPDEFINES']:
- presubmit_tests += [
- env.Alias('selenium_firefox'),
- ]
-
-env.Alias('presubmit', presubmit_tests)
-env.Help('presubmit: run unit tests and selenium integration tests.\n')
-
-# Add an alias for what to run on Pulse.
-pulse_tests = [env.Alias('presubmit')]
-# OpenGL tests don't work with selenium yet.
-if 'RENDERER_D3D9' in env['CPPDEFINES']:
- pulse_tests += [env.Alias('selenium_firefox'),
- env.Alias('selenium_ie'),
- env.Alias('selenium_chrome')]
-# Add selenium for mac.
-if env.Bit('mac'):
- pulse_tests += [env.Alias('selenium')]
-
-env.Alias('pulse_tests', pulse_tests)
-env.Help('pulse_tests: the test target that automatic builds use.\n')
-
-# TODO: shouldn't need this.
-# Adding extra line for cleaner formatting.
-env.Help('\n')
-
-
-#--------------------------------------------------------------------------
-# Other odds and ends
-
-# Install presubmit_tests batch file.
-# TODO: is this really needed anymore?
-env.Replicate('$ARTIFACTS_DIR', 'presubmit_tests.bat')
diff --git a/o3d/utils/build.scons b/o3d/utils/build.scons
deleted file mode 100644
index 0255261..0000000
--- a/o3d/utils/build.scons
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2009, Google Inc.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following disclaimer
-# in the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-Import('env')
-
-inputs = [
- 'cross/base64.cc',
- 'cross/dataurl.cc',
- 'cross/file_path_utils.cc',
- 'cross/file_text_reader.cc',
- 'cross/file_text_writer.cc',
- 'cross/json_writer.cc',
- 'cross/string_reader.cc',
- 'cross/string_writer.cc',
- 'cross/temporary_file.cc',
- 'cross/text_reader.cc',
- 'cross/text_writer.cc',
-]
-
-lib = env.ComponentLibrary('o3dUtils', inputs)