diff options
Diffstat (limited to 'contrib/jemalloc/scripts/gen_travis.py')
-rwxr-xr-x | contrib/jemalloc/scripts/gen_travis.py | 153 |
1 files changed, 0 insertions, 153 deletions
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 |