diff options
author | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-21 22:51:31 +0000 |
---|---|---|
committer | tschmelcher@chromium.org <tschmelcher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-21 22:51:31 +0000 |
commit | 75cdad794f70fd60e0f8cec419f6ee4989e25b55 (patch) | |
tree | c895d6101de890f355e21f84260463149344ec87 | |
parent | a6fe7aa467b034f01cc8e2dd8f8cbd62edb40935 (diff) | |
download | chromium_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
-rw-r--r-- | o3d/DEPS | 13 | ||||
-rw-r--r-- | o3d/tests/build.scons | 784 | ||||
-rw-r--r-- | o3d/utils/build.scons | 47 |
3 files changed, 0 insertions, 844 deletions
@@ -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) |