summaryrefslogtreecommitdiff
path: root/scripts/gen_run_tests.py
diff options
context:
space:
mode:
authorJason Evans <jasone@canonware.com>2017-05-22 17:15:57 -0700
committerJason Evans <jasone@canonware.com>2017-05-23 15:31:29 -0700
commit067b97013018211b39e9911ae528ff54edd8fe5e (patch)
treedfed8f83d427b61ac775263b57d67c1e0c92d227 /scripts/gen_run_tests.py
parent9b1038d19c998b8c219eb08d083ca0328b7941f1 (diff)
Add dss:primary testing.
Generalize the run_tests.sh and .travis.yml test generation to handle combinations of arguments to the --with-malloc-conf configure option, and merge "dss:primary" into the existing "tcache:false" testing.
Diffstat (limited to 'scripts/gen_run_tests.py')
-rwxr-xr-xscripts/gen_run_tests.py45
1 files changed, 27 insertions, 18 deletions
diff --git a/scripts/gen_run_tests.py b/scripts/gen_run_tests.py
index 0446c65c..9fbf71e5 100755
--- a/scripts/gen_run_tests.py
+++ b/scripts/gen_run_tests.py
@@ -20,6 +20,10 @@ possible_config_opts = [
'--disable-stats',
'--with-malloc-conf=tcache:false',
]
+possible_malloc_conf_opts = [
+ 'tcache:false',
+ 'dss:primary',
+]
print 'set -e'
print 'autoconf'
@@ -28,21 +32,26 @@ print 'unamestr=`uname`'
for cc, cxx in possible_compilers:
for compiler_opts in powerset(possible_compiler_opts):
for config_opts in powerset(possible_config_opts):
- if cc is 'clang' \
- and '-m32' in possible_compiler_opts \
- and '--enable-prof' in config_opts:
- continue
- config_line = (
- 'EXTRA_CFLAGS=-Werror EXTRA_CXXFLAGS=-Werror ./configure '
- + 'CC="{} {}" '.format(cc, " ".join(compiler_opts))
- + 'CXX="{} {}" '.format(cxx, " ".join(compiler_opts))
- + " ".join(config_opts)
- )
- # Heap profiling is not supported on OS X.
- if '--enable-prof' in config_opts:
- print 'if [[ "$unamestr" != "Darwin" ]]; then'
- print config_line
- print "make clean"
- print "make -j" + str(MAKE_J_VAL) + " check"
- if '--enable-prof' in config_opts:
- print 'fi'
+ for malloc_conf_opts in powerset(possible_malloc_conf_opts):
+ if cc is 'clang' \
+ and '-m32' in possible_compiler_opts \
+ and '--enable-prof' in config_opts:
+ continue
+ config_line = (
+ 'EXTRA_CFLAGS=-Werror EXTRA_CXXFLAGS=-Werror ./configure '
+ + 'CC="{} {}" '.format(cc, " ".join(compiler_opts))
+ + 'CXX="{} {}" '.format(cxx, " ".join(compiler_opts))
+ + " ".join(config_opts) + (' --with-malloc-conf=' +
+ ",".join(malloc_conf_opts) if len(malloc_conf_opts) > 0
+ else '')
+ )
+ # Heap profiling and dss are not supported on OS X.
+ darwin_unsupported = ('--enable-prof' in config_opts or \
+ 'dss:primary' in malloc_conf_opts)
+ if darwin_unsupported:
+ print 'if [[ "$unamestr" != "Darwin" ]]; then'
+ print config_line
+ print "make clean"
+ print "make -j" + str(MAKE_J_VAL) + " check"
+ if darwin_unsupported:
+ print 'fi'