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

Side by Side Diff: SConstruct

Issue 8439032: Add option to command tester for running a test multiple times. Use that (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: precommit Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | tests/browser_startup_time/nacl.scons » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #! -*- python -*- 1 #! -*- python -*-
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import atexit 6 import atexit
7 import glob 7 import glob
8 import os 8 import os
9 import platform 9 import platform
10 import shutil 10 import shutil
(...skipping 1528 matching lines...) Expand 10 before | Expand all | Expand 10 after
1539 filter_group_only = params.get('filter_group_only', False) 1539 filter_group_only = params.get('filter_group_only', False)
1540 post_actions.append( 1540 post_actions.append(
1541 GoldenFileCheckAction( 1541 GoldenFileCheckAction(
1542 env, stream_file, golden_file, 1542 env, stream_file, golden_file,
1543 filter_regex, filter_inverse, filter_group_only)) 1543 filter_regex, filter_inverse, filter_group_only))
1544 1544
1545 if ShouldUseVerboseOptions(extra): 1545 if ShouldUseVerboseOptions(extra):
1546 env.MakeVerboseExtraOptions(target, log_verbosity, extra) 1546 env.MakeVerboseExtraOptions(target, log_verbosity, extra)
1547 # Heuristic for when to capture output... 1547 # Heuristic for when to capture output...
1548 capture_output = (extra.pop('capture_output', False) 1548 capture_output = (extra.pop('capture_output', False)
1549 or 'process_output' in extra) 1549 or 'process_output_single' in extra)
1550 node = env.CommandTest(target, 1550 node = env.CommandTest(target,
1551 command, 1551 command,
1552 # Set to 'huge' so that the browser tester's timeout 1552 # Set to 'huge' so that the browser tester's timeout
1553 # takes precedence over the default of the test_suite. 1553 # takes precedence over the default of the test_suite.
1554 size='huge', 1554 size='huge',
1555 capture_output=capture_output, 1555 capture_output=capture_output,
1556 **extra) 1556 **extra)
1557 # We can't check output if the test is not run. 1557 # We can't check output if the test is not run.
1558 if not env.Bit('do_not_run_tests'): 1558 if not env.Bit('do_not_run_tests'):
1559 for action in post_actions: 1559 for action in post_actions:
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
1811 log_file = env.MakeNaClLogOption(target) 1811 log_file = env.MakeNaClLogOption(target)
1812 extra['log_file'] = log_file 1812 extra['log_file'] = log_file
1813 extra_env = ['NACLLOG=%s' % log_file, 1813 extra_env = ['NACLLOG=%s' % log_file,
1814 'NACLVERBOSITY=%d' % log_verbosity] 1814 'NACLVERBOSITY=%d' % log_verbosity]
1815 extra['osenv'] = extra.get('osenv', []) + extra_env 1815 extra['osenv'] = extra.get('osenv', []) + extra_env
1816 1816
1817 pre_base_env.AddMethod(MakeVerboseExtraOptions) 1817 pre_base_env.AddMethod(MakeVerboseExtraOptions)
1818 1818
1819 def ShouldUseVerboseOptions(extra): 1819 def ShouldUseVerboseOptions(extra):
1820 """ Heuristic for setting up Verbose NACLLOG options. """ 1820 """ Heuristic for setting up Verbose NACLLOG options. """
1821 return ('process_output' in extra or 1821 return ('process_output_single' in extra or
1822 'log_golden' in extra) 1822 'log_golden' in extra)
1823 1823
1824 # ---------------------------------------------------------- 1824 # ----------------------------------------------------------
1825 DeclareBit('tests_use_irt', 'Non-browser tests also load the IRT image', False) 1825 DeclareBit('tests_use_irt', 'Non-browser tests also load the IRT image', False)
1826 1826
1827 def CommandSelLdrTestNacl(env, name, nexe, 1827 def CommandSelLdrTestNacl(env, name, nexe,
1828 args = None, 1828 args = None,
1829 log_verbosity=2, 1829 log_verbosity=2,
1830 sel_ldr_flags=None, 1830 sel_ldr_flags=None,
1831 loader=None, 1831 loader=None,
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1891 env.Alias('irt_tests', node) 1891 env.Alias('irt_tests', node)
1892 return node 1892 return node
1893 1893
1894 pre_base_env.AddMethod(CommandSelLdrTestNacl) 1894 pre_base_env.AddMethod(CommandSelLdrTestNacl)
1895 1895
1896 # ---------------------------------------------------------- 1896 # ----------------------------------------------------------
1897 TEST_EXTRA_ARGS = ['stdin', 'log_file', 1897 TEST_EXTRA_ARGS = ['stdin', 'log_file',
1898 'stdout_golden', 'stderr_golden', 'log_golden', 1898 'stdout_golden', 'stderr_golden', 'log_golden',
1899 'filter_regex', 'filter_inverse', 'filter_group_only', 1899 'filter_regex', 'filter_inverse', 'filter_group_only',
1900 'osenv', 'arch', 'subarch', 'exit_status', 'track_cmdtime', 1900 'osenv', 'arch', 'subarch', 'exit_status', 'track_cmdtime',
1901 'process_output', 'using_nacl_signal_handler'] 1901 'num_runs', 'process_output_single',
1902 'process_output_combined', 'using_nacl_signal_handler']
1902 1903
1903 TEST_TIME_THRESHOLD = { 1904 TEST_TIME_THRESHOLD = {
1904 'small': 2, 1905 'small': 2,
1905 'medium': 10, 1906 'medium': 10,
1906 'large': 60, 1907 'large': 60,
1907 'huge': 1800, 1908 'huge': 1800,
1908 } 1909 }
1909 1910
1910 # Valgrind handles SIGSEGV in a way our testing tools do not expect. 1911 # Valgrind handles SIGSEGV in a way our testing tools do not expect.
1911 UNSUPPORTED_VALGRIND_EXIT_STATUS = ['sigabrt', 1912 UNSUPPORTED_VALGRIND_EXIT_STATUS = ['sigabrt',
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2003 assert flag_name in TEST_EXTRA_ARGS, repr(flag_name) 2004 assert flag_name in TEST_EXTRA_ARGS, repr(flag_name)
2004 if isinstance(flag_value, list): 2005 if isinstance(flag_value, list):
2005 # Options to command_tester.py which are actually lists must not be 2006 # Options to command_tester.py which are actually lists must not be
2006 # separated by whitespace. This stringifies the lists with a separator 2007 # separated by whitespace. This stringifies the lists with a separator
2007 # char to satisfy command_tester. 2008 # char to satisfy command_tester.
2008 flag_value = command_tester.StringifyList(flag_value) 2009 flag_value = command_tester.StringifyList(flag_value)
2009 # do not add --flag + |flag_name| |flag_value| if 2010 # do not add --flag + |flag_name| |flag_value| if
2010 # |flag_value| is false (empty). 2011 # |flag_value| is false (empty).
2011 if flag_value: 2012 if flag_value:
2012 script_flags.append('--' + flag_name) 2013 script_flags.append('--' + flag_name)
2014 # Make sure flag values are strings (or SCons objects) when building
2015 # up the command. Right now, this only means convert ints to strings.
2016 if isinstance(flag_value, int):
2017 flag_value = str(flag_value)
2013 script_flags.append(flag_value) 2018 script_flags.append(flag_value)
2014 2019
2015 # Other extra flags 2020 # Other extra flags
2016 if not capture_output: 2021 if not capture_output:
2017 script_flags.extend(['--capture_output', '0']) 2022 script_flags.extend(['--capture_output', '0'])
2018 2023
2019 test_script = env.File('${SCONSTRUCT_DIR}/tools/command_tester.py') 2024 test_script = env.File('${SCONSTRUCT_DIR}/tools/command_tester.py')
2020 command = ['${PYTHON}', test_script] + script_flags + command 2025 command = ['${PYTHON}', test_script] + script_flags + command
2021 return AutoDepsCommand(env, name, command, 2026 return AutoDepsCommand(env, name, command,
2022 extra_deps=extra_deps, posix_path=posix_path, 2027 extra_deps=extra_deps, posix_path=posix_path,
(...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after
3649 nacl_env.ValidateSdk() 3654 nacl_env.ValidateSdk()
3650 3655
3651 if BROKEN_TEST_COUNT > 0: 3656 if BROKEN_TEST_COUNT > 0:
3652 msg = "There are %d broken tests." % BROKEN_TEST_COUNT 3657 msg = "There are %d broken tests." % BROKEN_TEST_COUNT
3653 if GetOption('brief_comstr'): 3658 if GetOption('brief_comstr'):
3654 msg += " Add --verbose to the command line for more information." 3659 msg += " Add --verbose to the command line for more information."
3655 print msg 3660 print msg
3656 3661
3657 # separate warnings from actual build output 3662 # separate warnings from actual build output
3658 Banner('B U I L D - O U T P U T:') 3663 Banner('B U I L D - O U T P U T:')
OLDNEW
« no previous file with comments | « no previous file | tests/browser_startup_time/nacl.scons » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698