diff options
Diffstat (limited to 'contrib/jemalloc/scripts')
-rwxr-xr-x | contrib/jemalloc/scripts/gen_run_tests.py | 130 | ||||
-rwxr-xr-x | contrib/jemalloc/scripts/gen_travis.py | 153 |
2 files changed, 0 insertions, 283 deletions
diff --git a/contrib/jemalloc/scripts/gen_run_tests.py b/contrib/jemalloc/scripts/gen_run_tests.py index 698d3bce4bbf..7c3075f9f6a6 100755 --- a/contrib/jemalloc/scripts/gen_run_tests.py +++ b/contrib/jemalloc/scripts/gen_run_tests.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD #!/usr/bin/env python3 import sys @@ -129,132 +128,3 @@ chmod 755 run_test_%(ind)d.sh""" % {'ind': ind, 'config_line': config_line, print('for i in `seq 0 %(last_ind)d` ; do echo run_test_${i}.sh ; done | xargs' ' -P %(nparallel)d -n 1 sh' % {'last_ind': ind-1, 'nparallel': nparallel}) -||||||| dec341af7695 -======= -#!/usr/bin/env python - -import sys -from itertools import combinations -from os import uname -from multiprocessing import cpu_count -from subprocess import call - -# Later, we want to test extended vaddr support. Apparently, the "real" way of -# checking this is flaky on OS X. -bits_64 = sys.maxsize > 2**32 - -nparallel = cpu_count() * 2 - -uname = uname()[0] - -if "BSD" in uname: - make_cmd = 'gmake' -else: - make_cmd = 'make' - -def powerset(items): - result = [] - for i in xrange(len(items) + 1): - result += combinations(items, i) - return result - -possible_compilers = [] -for cc, cxx in (['gcc', 'g++'], ['clang', 'clang++']): - try: - cmd_ret = call([cc, "-v"]) - if cmd_ret == 0: - possible_compilers.append((cc, cxx)) - except: - pass -possible_compiler_opts = [ - '-m32', -] -possible_config_opts = [ - '--enable-debug', - '--enable-prof', - '--disable-stats', - '--enable-opt-safety-checks', -] -if bits_64: - possible_config_opts.append('--with-lg-vaddr=56') - -possible_malloc_conf_opts = [ - 'tcache:false', - 'dss:primary', - 'percpu_arena:percpu', - 'background_thread:true', -] - -print 'set -e' -print 'if [ -f Makefile ] ; then %(make_cmd)s relclean ; fi' % {'make_cmd': make_cmd} -print 'autoconf' -print 'rm -rf run_tests.out' -print 'mkdir run_tests.out' -print 'cd run_tests.out' - -ind = 0 -for cc, cxx in possible_compilers: - for compiler_opts in powerset(possible_compiler_opts): - for config_opts in powerset(possible_config_opts): - 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 ' - + 'CC="{} {}" '.format(cc, " ".join(compiler_opts)) - + 'CXX="{} {}" '.format(cxx, " ".join(compiler_opts)) - + '../../configure ' - + " ".join(config_opts) + (' --with-malloc-conf=' + - ",".join(malloc_conf_opts) if len(malloc_conf_opts) > 0 - else '') - ) - - # We don't want to test large vaddr spaces in 32-bit mode. - if ('-m32' in compiler_opts and '--with-lg-vaddr=56' in - config_opts): - continue - - # Per CPU arenas are only supported on Linux. - linux_supported = ('percpu_arena:percpu' in malloc_conf_opts \ - or 'background_thread:true' in malloc_conf_opts) - # 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 (uname == 'Linux' and linux_supported) \ - or (not linux_supported and (uname != 'Darwin' or \ - not darwin_unsupported)): - print """cat <<EOF > run_test_%(ind)d.sh -#!/bin/sh - -set -e - -abort() { - echo "==> Error" >> run_test.log - echo "Error; see run_tests.out/run_test_%(ind)d.out/run_test.log" - exit 255 # Special exit code tells xargs to terminate. -} - -# Environment variables are not supported. -run_cmd() { - echo "==> \$@" >> run_test.log - \$@ >> run_test.log 2>&1 || abort -} - -echo "=> run_test_%(ind)d: %(config_line)s" -mkdir run_test_%(ind)d.out -cd run_test_%(ind)d.out - -echo "==> %(config_line)s" >> run_test.log -%(config_line)s >> run_test.log 2>&1 || abort - -run_cmd %(make_cmd)s all tests -run_cmd %(make_cmd)s check -run_cmd %(make_cmd)s distclean -EOF -chmod 755 run_test_%(ind)d.sh""" % {'ind': ind, 'config_line': config_line, 'make_cmd': make_cmd} - ind += 1 - -print 'for i in `seq 0 %(last_ind)d` ; do echo run_test_${i}.sh ; done | xargs -P %(nparallel)d -n 1 sh' % {'last_ind': ind-1, 'nparallel': nparallel} ->>>>>>> main diff --git a/contrib/jemalloc/scripts/gen_travis.py b/contrib/jemalloc/scripts/gen_travis.py index c306744e6a65..4366a066eeab 100755 --- a/contrib/jemalloc/scripts/gen_travis.py +++ b/contrib/jemalloc/scripts/gen_travis.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD #!/usr/bin/env python3 from itertools import combinations, chain @@ -326,155 +325,3 @@ def main(): if __name__ == '__main__': main() -||||||| dec341af7695 -======= -#!/usr/bin/env python - -from itertools import combinations - -travis_template = """\ -language: generic -dist: precise - -matrix: - include: -%s - -before_script: - - autoconf - - scripts/gen_travis.py > travis_script && diff .travis.yml travis_script - - ./configure ${COMPILER_FLAGS:+ \ - CC="$CC $COMPILER_FLAGS" \ - CXX="$CXX $COMPILER_FLAGS" } \ - $CONFIGURE_FLAGS - - make -j3 - - make -j3 tests - -script: - - make check -""" - -# The 'default' configuration is gcc, on linux, with no compiler or configure -# flags. We also test with clang, -m32, --enable-debug, --enable-prof, -# --disable-stats, and --with-malloc-conf=tcache:false. To avoid abusing -# travis though, we don't test all 2**7 = 128 possible combinations of these; -# instead, we only test combinations of up to 2 'unusual' settings, under the -# hope that bugs involving interactions of such settings are rare. -# Things at once, for C(7, 0) + C(7, 1) + C(7, 2) = 29 -MAX_UNUSUAL_OPTIONS = 2 - -os_default = 'linux' -os_unusual = 'osx' - -compilers_default = 'CC=gcc CXX=g++' -compilers_unusual = 'CC=clang CXX=clang++' - -compiler_flag_unusuals = ['-m32'] - -configure_flag_unusuals = [ - '--enable-debug', - '--enable-prof', - '--disable-stats', - '--disable-libdl', - '--enable-opt-safety-checks', -] - -malloc_conf_unusuals = [ - 'tcache:false', - 'dss:primary', - 'percpu_arena:percpu', - 'background_thread:true', -] - -all_unusuals = ( - [os_unusual] + [compilers_unusual] + compiler_flag_unusuals - + configure_flag_unusuals + malloc_conf_unusuals -) - -unusual_combinations_to_test = [] -for i in xrange(MAX_UNUSUAL_OPTIONS + 1): - unusual_combinations_to_test += combinations(all_unusuals, i) - -gcc_multilib_set = False -# Formats a job from a combination of flags -def format_job(combination): - global gcc_multilib_set - - os = os_unusual if os_unusual in combination else os_default - compilers = compilers_unusual if compilers_unusual in combination else compilers_default - - compiler_flags = [x for x in combination if x in compiler_flag_unusuals] - configure_flags = [x for x in combination if x in configure_flag_unusuals] - malloc_conf = [x for x in combination if x in malloc_conf_unusuals] - - # Filter out unsupported configurations on OS X. - if os == 'osx' and ('dss:primary' in malloc_conf or \ - 'percpu_arena:percpu' in malloc_conf or 'background_thread:true' \ - in malloc_conf): - return "" - if len(malloc_conf) > 0: - configure_flags.append('--with-malloc-conf=' + ",".join(malloc_conf)) - - # Filter out an unsupported configuration - heap profiling on OS X. - if os == 'osx' and '--enable-prof' in configure_flags: - return "" - - # We get some spurious errors when -Warray-bounds is enabled. - env_string = ('{} COMPILER_FLAGS="{}" CONFIGURE_FLAGS="{}" ' - 'EXTRA_CFLAGS="-Werror -Wno-array-bounds"').format( - compilers, " ".join(compiler_flags), " ".join(configure_flags)) - - job = "" - job += ' - os: %s\n' % os - job += ' env: %s\n' % env_string - if '-m32' in combination and os == 'linux': - job += ' addons:' - if gcc_multilib_set: - job += ' *gcc_multilib\n' - else: - job += ' &gcc_multilib\n' - job += ' apt:\n' - job += ' packages:\n' - job += ' - gcc-multilib\n' - gcc_multilib_set = True - return job - -include_rows = "" -for combination in unusual_combinations_to_test: - include_rows += format_job(combination) - -# Development build -include_rows += '''\ - # Development build - - os: linux - env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --disable-cache-oblivious --enable-stats --enable-log --enable-prof" EXTRA_CFLAGS="-Werror -Wno-array-bounds" -''' - -# Enable-expermental-smallocx -include_rows += '''\ - # --enable-expermental-smallocx: - - os: linux - env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="--enable-debug --enable-experimental-smallocx --enable-stats --enable-prof" EXTRA_CFLAGS="-Werror -Wno-array-bounds" -''' - -# Valgrind build bots -include_rows += ''' - # Valgrind - - os: linux - env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="" EXTRA_CFLAGS="-Werror -Wno-array-bounds" JEMALLOC_TEST_PREFIX="valgrind" - addons: - apt: - packages: - - valgrind -''' - -# To enable valgrind on macosx add: -# -# - os: osx -# env: CC=gcc CXX=g++ COMPILER_FLAGS="" CONFIGURE_FLAGS="" EXTRA_CFLAGS="-Werror -Wno-array-bounds" JEMALLOC_TEST_PREFIX="valgrind" -# install: brew install valgrind -# -# It currently fails due to: https://github.com/jemalloc/jemalloc/issues/1274 - -print travis_template % include_rows ->>>>>>> main |