diff options
11 files changed, 614 insertions, 691 deletions
diff --git a/src/third_party/wiredtiger/cmake/configs/modes.cmake b/src/third_party/wiredtiger/cmake/configs/modes.cmake index ee2a265742e..edb1f03875c 100644 --- a/src/third_party/wiredtiger/cmake/configs/modes.cmake +++ b/src/third_party/wiredtiger/cmake/configs/modes.cmake @@ -142,8 +142,8 @@ set(tsan_compiler_cxx_flag "-fsanitize=thread") # Define our custom build variants. define_build_mode(ASan - C_COMPILER_FLAGS ${asan_compiler_c_flag} - CXX_COMPILER_FLAGS ${asan_compiler_cxx_flag} + C_COMPILER_FLAGS ${asan_compiler_c_flag} ${no_omit_frame_flag} + CXX_COMPILER_FLAGS ${asan_compiler_cxx_flag} ${no_omit_frame_flag} LINK_FLAGS ${asan_link_flags} LIBS ${asan_lib_flags} ) diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 00c669edc59..b98c82bdaa9 100644 --- a/src/third_party/wiredtiger/import.data +++ b/src/third_party/wiredtiger/import.data @@ -2,5 +2,5 @@ "vendor": "wiredtiger", "github": "wiredtiger/wiredtiger.git", "branch": "mongodb-master", - "commit": "ca27d1c1f1c616bf016d0e3854a59b91a5dec908" + "commit": "9e7795c75ac0b8d98786c9956d670df6748f6be9" } diff --git a/src/third_party/wiredtiger/test/checkpoint/recovery-test.sh b/src/third_party/wiredtiger/test/checkpoint/recovery-test.sh index c776156ddec..d5500f83f79 100755 --- a/src/third_party/wiredtiger/test/checkpoint/recovery-test.sh +++ b/src/third_party/wiredtiger/test/checkpoint/recovery-test.sh @@ -4,11 +4,11 @@ set -x usage () { cat << EOF -Usage: recovery_test.sh {config} {home directory} +Usage: recovery_test.sh {config} {home directory} [test binary] EOF } -if [ "$#" -ne 2 ]; then +if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then echo "Illegal number of parameters." usage exit 1 @@ -16,11 +16,17 @@ fi config=$1 home=$2 +if [ -z "$3" ]; then + bin="t" +else + bin=$3 +fi backup=$home.backup recovery=$home.recovery + #./t -t r -W 3 -D -X -n 100000 -k 100000 -C cache_size=100MB -h $home > $home.out 2>&1 & -./t ${config} -h ${home} > $home.out 2>&1 & +./${bin} ${config} -h ${home} > $home.out 2>&1 & pid=$! trap "kill -9 $pid" 0 1 2 3 13 15 @@ -37,7 +43,7 @@ while kill -STOP $pid ; do cp $home/* $backup kill -CONT $pid cp $backup/* $recovery - ./t -t r -D -v -h $recovery || exit 1 + ./${bin} -t r -D -v -h $recovery || exit 1 done # Clean the home directory once the test is completed. Note that once we fail to send the signal to diff --git a/src/third_party/wiredtiger/test/csuite/time_shift_test.sh b/src/third_party/wiredtiger/test/csuite/time_shift_test.sh index 247a411e995..6d92afe426a 100755 --- a/src/third_party/wiredtiger/test/csuite/time_shift_test.sh +++ b/src/third_party/wiredtiger/test/csuite/time_shift_test.sh @@ -43,7 +43,7 @@ then fi # Locate Wiredtiger home directory. -RW_LOCK_FILE=$(git rev-parse --show-toplevel)/build_posix/test/csuite/test_rwlock +: ${RW_LOCK_FILE:=$(git rev-parse --show-toplevel)/build_posix/test/csuite/test_rwlock} SEC1=`date +%s` if [ "$RUN_OS" = "Darwin" ] diff --git a/src/third_party/wiredtiger/test/evergreen.yml b/src/third_party/wiredtiger/test/evergreen.yml index 00a29408a0b..675207e2ae2 100755 --- a/src/third_party/wiredtiger/test/evergreen.yml +++ b/src/third_party/wiredtiger/test/evergreen.yml @@ -46,7 +46,7 @@ functions: aws_secret: ${aws_secret} remote_file: wiredtiger/${endian_format}/${revision}/artifacts/${remote_file}.tgz bucket: build_external - extract_to: wiredtiger/build_posix/test/format + extract_to: wiredtiger/cmake_build/test/format "fetch mongo-tests repo" : command: shell.exec params: @@ -90,36 +90,30 @@ functions: script: | # Fetch the gperftools library. if [[ "${posix_configure_flags|}" =~ (tcmalloc|TCMALLOC) ]]; then + is_cmake_build=true git clone git@github.com:wiredtiger/automation-scripts.git - . automation-scripts/evergreen/find_gperftools.sh ${s3_access_key} ${s3_secret_key} ${build_variant} ${is_cmake_build|false} + . automation-scripts/evergreen/find_gperftools.sh ${s3_access_key} ${s3_secret_key} ${build_variant} $is_cmake_build fi set -o errexit set -o verbose - # Check if the build variant has specified a build type, always default to - # Autoconf/Libtool if $is_cmake_build is not declared. - if [ ${is_cmake_build|false} = true ]; then - if [ "$OS" = "Windows_NT" ]; then - # Use the Windows powershell script to configure the CMake build. - # We execute it in a powershell environment as its easier to detect and source the Visual Studio - # toolchain in a native Windows environment. We can't easily execute the build in a cygwin environment. - powershell.exe -NonInteractive '.\test\evergreen\build_windows.ps1' -configure 1 ${windows_configure_flags|} - else - # Compiling with CMake. - . test/evergreen/find_cmake.sh - mkdir -p cmake_build - cd cmake_build - $CMAKE \ - ${posix_configure_flags|-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake -DCMAKE_C_FLAGS="-ggdb" -DHAVE_DIAGNOSTIC=1 -DENABLE_PYTHON=1 -DENABLE_ZLIB=1 -DENABLE_STATIC=1 -DENABLE_STRICT=1 -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL} -G "${cmake_generator|Ninja}" ./.. - fi - elif [ "$OS" != "Windows_NT" ]; then - # Compiling with Autoconf/Libtool. - cd build_posix - sh reconf - ${configure_env_vars|CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-ggdb -fPIC"} PYTHON="python3" \ - ../configure ${configure_python_setting|} \ - ${posix_configure_flags|--enable-silent-rules --enable-diagnostic --enable-python --enable-zlib --enable-strict --enable-static --prefix=$(pwd)/LOCAL_INSTALL} + if [ "$OS" = "Windows_NT" ]; then + # Use the Windows powershell script to configure the CMake build. + # We execute it in a powershell environment as its easier to detect and source the Visual Studio + # toolchain in a native Windows environment. We can't easily execute the build in a cygwin environment. + powershell.exe -NonInteractive '.\test\evergreen\build_windows.ps1' -configure 1 ${windows_configure_flags|} + else + # Compiling with CMake. + . test/evergreen/find_cmake.sh + # If we've fetched the wiredtiger artifact from a previous compilation/build, it's best to remove + # the previous build directory so we can create a fresh configuration. We can't use the the previous + # CMake Cache configuration as its likely it will have absolute paths related to the previous build machine. + if [ -d cmake_build ]; then rm -r cmake_build; fi + mkdir -p cmake_build + cd cmake_build + $CMAKE \ + ${posix_configure_flags|-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake -DCMAKE_C_FLAGS="-ggdb" -DHAVE_DIAGNOSTIC=1 -DENABLE_PYTHON=1 -DENABLE_ZLIB=1 -DENABLE_STATIC=1 -DENABLE_STRICT=1 -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL} -G "${cmake_generator|Ninja}" ./.. fi "make wiredtiger": &make_wiredtiger command: shell.exec @@ -129,34 +123,13 @@ functions: script: | set -o errexit set -o verbose - if [ ${is_cmake_build|false} = true ]; then - if [ "$OS" = "Windows_NT" ]; then - # Use the Windows powershell script to execute Ninja build (can't execute directly in a cygwin environment). - powershell.exe '.\test\evergreen\build_windows.ps1 -build 1' - else - # Compiling with CMake generated Ninja file. - cd cmake_build - ${make_command|ninja} ${smp_command|} 2>&1 - fi - elif [ "Windows_NT" == "$OS" ]; then - export "PATH=/cygdrive/c/Python39:/cygdrive/c/Python39/Scripts:$PATH" - - python --version - python -m pip install scons==3.1.1 - scons-3.1.1.bat "LIBPATH=c:\\python\\Python39\\libs" --enable-python=c:\\swigwin-3.0.2\\swig.exe --enable-diagnostic ${scons_smp_command|} + if [ "$OS" = "Windows_NT" ]; then + # Use the Windows powershell script to execute Ninja build (can't execute directly in a cygwin environment). + powershell.exe '.\test\evergreen\build_windows.ps1 -build 1' else - # Compiling with Autoconf/Libtool Makefiles. - cd build_posix - ${make_command|make} ${smp_command|} 2>&1 - - # On macOS, change the binary location with install_name_tool since DYLD_LIBRARY_PATH - # appears not to work for dynamic modules loaded by python. For wt, the libtool generated - # script has the wrong path for running on test machines. - if [ "$(uname -s)" == "Darwin" ]; then - WT_VERSION=$(m4 aclocal/version.m4) - install_name_tool -change /usr/local/lib/libwiredtiger-$WT_VERSION.dylib $(pwd)/.libs/libwiredtiger-$WT_VERSION.dylib lang/python/_wiredtiger*.so - install_name_tool -change /usr/local/lib/libwiredtiger-$WT_VERSION.dylib $(pwd)/.libs/libwiredtiger-$WT_VERSION.dylib .libs/wt - fi + # Compiling with CMake generated Ninja file. + cd cmake_build + ${make_command|ninja} ${smp_command|} 2>&1 fi "compile wiredtiger": - *configure_wiredtiger @@ -165,47 +138,55 @@ functions: - *configure_wiredtiger - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" shell: bash script: | set -o errexit set -o verbose - echo '#undef HAVE_FTRUNCATE' >> wiredtiger_config.h + echo '#undef HAVE_FTRUNCATE' >> config/wiredtiger_config.h - *make_wiredtiger "compile wiredtiger address sanitizer": - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger" shell: bash script: | set -o errexit set -o verbose - sh reconf if [ "$OS" != "Windows_NT" ]; then - CC=/opt/mongodbtoolchain/v3/bin/clang CXX=/opt/mongodbtoolchain/v3/bin/clang++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH CFLAGS="-ggdb -fPIC -fno-omit-frame-pointer -fsanitize=address" CXXFLAGS="-fsanitize=address -fno-omit-frame-pointer -ggdb -fPIC" \ - ../configure ${configure_python_setting|} \ - --enable-diagnostic --with-builtins=lz4,snappy,zlib,zstd + . test/evergreen/find_cmake.sh + if [ -d cmake_build ]; then rm -r cmake_build; fi + mkdir -p cmake_build + cd cmake_build + $CMAKE -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_clang.cmake -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 \ + -DHAVE_DIAGNOSTIC=1 -DCMAKE_BUILD_TYPE=ASan \ + -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 ${configure_python_setting|} \ + -G "${cmake_generator|Ninja}" ../. fi - *make_wiredtiger "compile wiredtiger with builtins": - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger" shell: bash script: | set -o errexit set -o verbose - sh reconf if [ "$OS" != "Windows_NT" ]; then - CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-ggdb -fPIC" \ - ../configure ${configure_python_setting|} \ - --enable-strict --enable-diagnostic --with-builtins=lz4,snappy,zlib + . test/evergreen/find_cmake.sh + if [ -d cmake_build ]; then rm -r cmake_build; fi + mkdir -p cmake_build + cd cmake_build + $CMAKE -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 \ + -DHAVE_DIAGNOSTIC=1 -DENABLE_STRICT=1 \ + -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 ${configure_python_setting|} \ + -G "${cmake_generator|Ninja}" ../. fi - *make_wiredtiger "compile wiredtiger docs": - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger" shell: bash script: | set -o errexit @@ -226,21 +207,33 @@ functions: echo "Checking out branch $branch ..." git checkout $branch - sh reconf # Java API is removed in newer branches via WT-6675. if [ $branch == "mongodb-4.2" ] || [ $branch == "mongodb-4.0" ]; then + pushd build_posix + sh reconf ../configure CFLAGS="-DMIGHT_NOT_RUN -Wno-error" --enable-java --enable-python --enable-strict (cd lang/python && make ../../../lang/python/wiredtiger_wrap.c) (cd lang/java && make ../../../lang/java/wiredtiger_wrap.c) - else + elif [ $branch == "mongodb-5.0" ] || [ $branch == "mongodb-4.4" ]; then + pushd build_posix + sh reconf ../configure CFLAGS="-DMIGHT_NOT_RUN -Wno-error" --enable-python --enable-strict (cd lang/python && make ../../../lang/python/wiredtiger_wrap.c) + else + . test/evergreen/find_cmake.sh + if [ -d cmake_build ]; then rm -r cmake_build; fi + mkdir -p cmake_build + pushd cmake_build + $CMAKE -DCMAKE_C_FLAGS="-DMIGHT_NOT_RUN -Wno-error" -DENABLE_PYTHON=1 -DENABLE_STRICT=1 ../. + make -C lang/python ${smp_command|} fi - - (cd ../dist && sh s_docs && echo "The documentation for $branch was successfully generated.") + # Pop to root project directory. + popd + # Generate WiredTiger documentation. + (cd dist && sh s_docs && echo "The documentation for $branch was successfully generated.") # Save generated documentation - (cd .. && mv docs docs-$branch) + mv docs docs-$branch done "update wiredtiger docs": @@ -303,12 +296,13 @@ functions: "make check directory": command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger" script: | set -o errexit set -o verbose - - ${test_env_vars|} ${make_command|make} VERBOSE=1 check -C ${directory} ${smp_command|} 2>&1 + . test/evergreen/find_cmake.sh + cd cmake_build/${directory} + ${test_env_vars|} $CTEST ${smp_command|} --output-on-failure 2>&1 "make check all": command: shell.exec params: @@ -316,21 +310,16 @@ functions: script: | set -o errexit set -o verbose - if [ ${is_cmake_build|false} = true ]; then - . test/evergreen/find_cmake.sh - cd cmake_build - ${test_env_vars|} $CTEST -L check ${smp_command|} --output-on-failure 2>&1 - else - cd build_posix - ${test_env_vars|} ${make_command|make} VERBOSE=1 check ${smp_command|} 2>&1 - fi + . test/evergreen/find_cmake.sh + cd cmake_build + ${test_env_vars|} $CTEST -L check ${smp_command|} --output-on-failure ${check_args|} 2>&1 "cppsuite test": command: shell.exec params: # The tests need to be executed in the cppsuite directory as some required libraries have # their paths defined relative to this directory. - working_dir: "wiredtiger/build_posix/test/cppsuite" + working_dir: "wiredtiger/cmake_build/test/cppsuite" script: | set -o errexit set -o verbose @@ -343,16 +332,12 @@ functions: script: | set -o errexit set -o verbose - if [ ${is_cmake_build|false} = true ]; then - cd cmake_build - else - cd build_posix - fi + cd cmake_build ${test_env_vars|} ${python_binary|python3} ../test/suite/run.py ${unit_test_args|-v 2} ${smp_command|} 2>&1 "format test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/format" + working_dir: "wiredtiger/cmake_build/test/format" script: | set -o errexit set -o verbose @@ -362,7 +347,7 @@ functions: "format test script": command: shell.exec params: - working_dir: "wiredtiger/test/format" + working_dir: "wiredtiger/cmake_build/test/format" script: | set -o errexit set -o verbose @@ -373,15 +358,15 @@ functions: "many dbs test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/manydbs" + working_dir: "wiredtiger/cmake_build/test/manydbs" script: | set -o errexit set -o verbose - ${test_env_vars|} ./t ${many_db_args|} 2>&1 + ${test_env_vars|} ./test_manydbs ${many_db_args|} 2>&1 "thread test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/thread" + working_dir: "wiredtiger/cmake_build/test/thread" script: | set -o errexit set -o verbose @@ -389,7 +374,7 @@ functions: "random abort test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/csuite" + working_dir: "wiredtiger/cmake_build/test/csuite/random_abort" script: | set -o errexit set -o verbose @@ -397,7 +382,7 @@ functions: "tiered abort test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/csuite" + working_dir: "wiredtiger/cmake_build/test/csuite/tiered_abort" script: | set -o errexit set -o verbose @@ -405,7 +390,7 @@ functions: "timestamp abort test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/csuite" + working_dir: "wiredtiger/cmake_build/test/csuite/timestamp_abort" script: | set -o errexit set -o verbose @@ -413,15 +398,15 @@ functions: "truncated log test": command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build/test/csuite/truncated_log" script: | set -o errexit set -o verbose - ${test_env_vars|} ./test/csuite/test_truncated_log ${truncated_log_args|} 2>&1 + ${test_env_vars|} ./test_truncated_log ${truncated_log_args|} 2>&1 "recovery stress test script": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/csuite" + working_dir: "wiredtiger/cmake_build/test/csuite" script: | set -o errexit set -o verbose @@ -436,22 +421,22 @@ functions: fi # Run current version with write-no-sync txns. - ${test_env_vars|} ./test_random_abort 2>&1 - ${test_env_vars|} ./test_timestamp_abort $test_timestamp_abort_args 2>&1 + ${test_env_vars|} ./random_abort/test_random_abort 2>&1 + ${test_env_vars|} ./timestamp_abort/test_timestamp_abort $test_timestamp_abort_args 2>&1 # Current version with memory-based txns (MongoDB usage). - ${test_env_vars|} ./test_random_abort -m 2>&1 - ${test_env_vars|} ./test_timestamp_abort -m $test_timestamp_abort_args 2>&1 + ${test_env_vars|} ./random_abort/test_random_abort -m 2>&1 + ${test_env_vars|} ./timestamp_abort/test_timestamp_abort -m $test_timestamp_abort_args 2>&1 # V1 log compatibility mode with write-no-sync txns. - ${test_env_vars|} ./test_random_abort -C 2>&1 - ${test_env_vars|} ./test_timestamp_abort -C $test_timestamp_abort_args 2>&1 + ${test_env_vars|} ./random_abort/test_random_abort -C 2>&1 + ${test_env_vars|} ./timestamp_abort/test_timestamp_abort -C $test_timestamp_abort_args 2>&1 # V1 log compatibility mode with memory-based txns. - ${test_env_vars|} ./test_random_abort -C -m 2>&1 - ${test_env_vars|} ./test_timestamp_abort -C -m $test_timestamp_abort_args 2>&1 + ${test_env_vars|} ./random_abort/test_random_abort -C -m 2>&1 + ${test_env_vars|} ./timestamp_abort/test_timestamp_abort -C -m $test_timestamp_abort_args 2>&1 - ${test_env_vars|} ./test_truncated_log ${truncated_log_args|} 2>&1 + ${test_env_vars|} ./truncated_log/test_truncated_log ${truncated_log_args|} 2>&1 # Just let the system take a breath sleep 10s @@ -494,7 +479,7 @@ functions: "run wt hang analyzer": command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o verbose @@ -508,7 +493,7 @@ functions: - command: archive.targz_pack params: target: "wt-hang-analyzer.tgz" - source_dir: "wiredtiger/build_posix" + source_dir: "wiredtiger/cmake_build" include: - "./*core*" - "./debugger*.*" @@ -526,7 +511,7 @@ functions: "dump stderr/stdout": command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose @@ -539,23 +524,23 @@ functions: "checkpoint test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" script: | set -o errexit set -o verbose - ./t ${checkpoint_args} 2>&1 + ${test_env_vars|} ./test_checkpoint ${checkpoint_args} 2>&1 "checkpoint stress test": command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose export WIREDTIGER_CONFIG='checkpoint_sync=0,transaction_sync=(method=none)' - CMD='./t -h WT_TEST.$i.$t -t r -r 2 -W 3 -n 1000000 -k 1000000 -C "cache_size=100MB"' + CMD='./test_checkpoint -h WT_TEST.$i.$t -t r -r 2 -W 3 -n 1000000 -k 1000000 -C "cache_size=100MB"' for i in $(seq ${times|1}); do for t in $(seq ${no_of_procs|1}); do @@ -720,7 +705,7 @@ variables: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-strict --enable-diagnostic --with-builtins=lz4,snappy,zlib + posix_configure_flags: -DENABLE_STRICT=1 -DHAVE_DIAGNOSTIC=1 -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 - func: "recovery stress test script" vars: times: 25 @@ -747,7 +732,7 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-strict --disable-shared + posix_configure_flags: -DENABLE_STRICT=1 -DENABLE_SHARED=0 -DENABLE_STATIC=1 - func: "upload artifact" - func: "cleanup" @@ -758,16 +743,16 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-strict --disable-static --enable-lz4 --enable-snappy --enable-zlib --enable-zstd --enable-python + posix_configure_flags: -DENABLE_SHARED=1 -DENABLE_STATIC=0 -DENABLE_STRICT=1 -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1 -DENABLE_PYTHON=1 - func: "upload artifact" - func: "cleanup" - name: compile-linux-no-ftruncate commands: - func: "get project" - - func: "compile wiredtiger no linux ftruncate" + - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-diagnostic --enable-strict --enable-python + posix_configure_flags: -DHAVE_DIAGNOSTIC=1 -DENABLE_STRICT=1 -DENABLE_PYTHON=1 -DHAVE_FTRUNCATE=0 - func: "upload artifact" - func: "cleanup" @@ -776,7 +761,7 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-strict --enable-diagnostic + posix_configure_flags: -DENABLE_STRICT=1 -DHAVE_DIAGNOSTIC=1 - func: "upload artifact" - func: "cleanup" @@ -786,13 +771,13 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - configure_env_vars: CC=gcc-7 CXX=g++-7 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/gcc.cmake -DGNU_C_VERSION=7 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - func: "compile wiredtiger" vars: - configure_env_vars: CC=gcc-8 CXX=g++-8 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/gcc.cmake -DGNU_C_VERSION=8 -DGNU_CXX_VERSION=8 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - func: "compile wiredtiger" vars: - configure_env_vars: CC=gcc-9 CXX=g++-9 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/gcc.cmake -DGNU_C_VERSION=9 -DGNU_CXX_VERSION=9 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - name: compile-clang tags: ["pull_request", "pull_request_compilers"] @@ -800,13 +785,13 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - configure_env_vars: CC=clang-6.0 CXX=clang++-6.0 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake -DCLANG_C_VERSION=6.0 -DCLANG_CXX_VERSION=6.0 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - func: "compile wiredtiger" vars: - configure_env_vars: CC=clang-7 CXX=clang++-7 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake -DCLANG_C_VERSION=7 -DCLANG_CXX_VERSION=7 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - func: "compile wiredtiger" vars: - configure_env_vars: CC=clang-8 CXX=clang++-8 ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake -DCLANG_C_VERSION=8 -DCLANG_CXX_VERSION=8 -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 - name: make-check-test depends_on: @@ -823,9 +808,9 @@ tasks: - func: "fetch artifacts" vars: dependent_task: compile-linux-no-ftruncate - - func: "compile wiredtiger no linux ftruncate" + - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-diagnostic --enable-strict --enable-python + posix_configure_flags: -DHAVE_DIAGNOSTIC=1 -DENABLE_STRICT=1 -DENABLE_PYTHON=1 -DHAVE_FTRUNCATE=0 - func: "make check all" # Start of normal make check test tasks @@ -862,7 +847,7 @@ tasks: dependent_task: compile-production-disable-shared - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-strict --disable-shared + posix_configure_flags: -DENABLE_STRICT=1 -DENABLE_SHARED=0 -DENABLE_STATIC=1 - func: "make check directory" vars: directory: examples/c @@ -877,7 +862,7 @@ tasks: dependent_task: compile-production-disable-static - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-silent-rules --enable-strict --disable-static --enable-lz4 --enable-snappy --enable-zlib --enable-zstd --enable-python + posix_configure_flags: -DENABLE_SHARED=1 -DENABLE_STATIC=0 -DENABLE_STRICT=1 -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1 -DENABLE_PYTHON=1 - func: "make check directory" vars: directory: examples/c @@ -1018,7 +1003,7 @@ tasks: # Start of cppsuite test tasks. # All cppsuite pull request tasks must supply the relative path to the config file as we are in - # the build_posix working directory and the LD_LIBRARY_PATH is .libs. + # the cmake build working directory and the LD_LIBRARY_PATH is .libs. - name: cppsuite-base-test-default tags: ["pull_request"] @@ -1138,12 +1123,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_incr_backup 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/incr_backup/test_incr_backup 2>&1 - name: csuite-random-abort-test tags: ["pull_request"] @@ -1153,6 +1138,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: + test_args: cmake_build/test/csuite/random_abort/test_random_abort test_binary: random_abort - name: csuite-random-directio-test @@ -1163,6 +1149,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: + test_args: cmake_build/test/csuite/random_directio/test_random_directio test_binary: random_directio - name: csuite-schema-abort-test @@ -1173,6 +1160,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: + test_args: cmake_build/test/csuite/schema_abort/test_schema_abort test_binary: schema_abort - name: csuite-tiered-abort-test @@ -1183,6 +1171,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: + test_args: cmake_build/test/csuite/tiered_abort/test_tiered_abort test_binary: tiered_abort - name: csuite-timestamp-abort-test @@ -1193,6 +1182,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: + test_args: -b cmake_build/test/csuite/timestamp_abort/test_timestamp_abort test_binary: timestamp_abort - name: csuite-timestamp-abort-stress-test @@ -1203,7 +1193,7 @@ tasks: - func: "fetch artifacts" - func: "csuite smoke test" vars: - test_args: -s + test_args: -s -b cmake_build/test/csuite/timestamp_abort/test_timestamp_abort test_binary: timestamp_abort - name: csuite-scope-test @@ -1214,12 +1204,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_scope 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/scope/test_scope 2>&1 - name: csuite-truncated-log-test tags: ["pull_request"] @@ -1237,12 +1227,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt1965_col_efficiency 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt1965_col_efficiency/test_wt1965_col_efficiency 2>&1 - name: csuite-wt2403-lsm-workload-test tags: ["pull_request"] @@ -1252,12 +1242,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2403_lsm_workload 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2403_lsm_workload/test_wt2403_lsm_workload 2>&1 - name: csuite-wt2447-join-main-table-test tags: ["pull_request"] @@ -1267,12 +1257,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2447_join_main_table 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2447_join_main_table/test_wt2447_join_main_table 2>&1 - name: csuite-wt2695-checksum-test tags: ["pull_request"] @@ -1282,12 +1272,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2695_checksum 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2695_checksum/test_wt2695_checksum 2>&1 - name: csuite-wt2592-join-schema-test tags: ["pull_request"] @@ -1297,12 +1287,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2592_join_schema 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2592_join_schema/test_wt2592_join_schema 2>&1 - name: csuite-wt2719-reconfig-test tags: ["pull_request"] @@ -1312,12 +1302,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2719_reconfig 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2719_reconfig/test_wt2719_reconfig 2>&1 - name: csuite-wt2999-join-extractor-test tags: ["pull_request"] @@ -1327,12 +1317,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2999_join_extractor 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2999_join_extractor/test_wt2999_join_extractor 2>&1 - name: csuite-wt3120-filesys-test tags: ["pull_request"] @@ -1342,12 +1332,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3120_filesys 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3120_filesys/test_wt3120_filesys -b $(pwd) 2>&1 - name: csuite-wt3135-search-near-collator-test tags: ["pull_request"] @@ -1357,12 +1347,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3135_search_near_collator 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3135_search_near_collator/test_wt3135_search_near_collator 2>&1 - name: csuite-wt3184-dup-index-collator-test tags: ["pull_request"] @@ -1372,12 +1362,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3184_dup_index_collator 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3184_dup_index_collator/test_wt3184_dup_index_collator 2>&1 - name: csuite-wt3363-checkpoint-op-races-test tags: ["pull_request"] @@ -1387,12 +1377,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3363_checkpoint_op_races 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3363_checkpoint_op_races/test_wt3363_checkpoint_op_races 2>&1 - name: csuite-wt3874-pad-byte-collator-test tags: ["pull_request"] @@ -1402,12 +1392,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3874_pad_byte_collator 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3874_pad_byte_collator/test_wt3874_pad_byte_collator 2>&1 - name: csuite-wt4105-large-doc-small-upd-test tags: ["pull_request"] @@ -1417,12 +1407,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4105_large_doc_small_upd 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4105_large_doc_small_upd/test_wt4105_large_doc_small_upd 2>&1 - name: csuite-wt4117-checksum-test tags: ["pull_request"] @@ -1432,12 +1422,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4117_checksum 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4117_checksum/test_wt4117_checksum 2>&1 - name: csuite-wt4156-metadata-salvage-test tags: ["pull_request"] @@ -1447,12 +1437,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4156_metadata_salvage 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4156_metadata_salvage/test_wt4156_metadata_salvage 2>&1 - name: csuite-wt4699-json-test tags: ["pull_request"] @@ -1462,12 +1452,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4699_json 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4699_json/test_wt4699_json 2>&1 - name: csuite-wt4803-history-store-abort-test tags: ["pull_request"] @@ -1477,12 +1467,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4803_history_store_abort 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4803_history_store_abort/test_wt4803_history_store_abort 2>&1 - name: csuite-wt4891-meta-ckptlist-get-alloc-test tags: ["pull_request"] @@ -1492,12 +1482,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4891_meta_ckptlist_get_alloc 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4891_meta_ckptlist_get_alloc/test_wt4891_meta_ckptlist_get_alloc 2>&1 - name: csuite-wt6185-modify-ts-test tags: ["pull_request"] @@ -1507,12 +1497,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt6185_modify_ts 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt6185_modify_ts/test_wt6185_modify_ts 2>&1 - name: csuite-rwlock-test tags: ["pull_request"] @@ -1522,12 +1512,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_rwlock 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/rwlock/test_rwlock 2>&1 # FIXME-WT-8512: The test was temporarily disabled by WT-5790. # - name: csuite-wt2246-col-append-test @@ -1553,12 +1543,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2323_join_visibility 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2323_join_visibility/test_wt2323_join_visibility 2>&1 - name: csuite-wt2535-insert-race-test tags: ["pull_request"] @@ -1568,12 +1558,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2535_insert_race 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2535_insert_race/test_wt2535_insert_race 2>&1 - name: csuite-wt2834-join-bloom-fix-test tags: ["pull_request"] @@ -1583,12 +1573,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2834_join_bloom_fix 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2834_join_bloom_fix/test_wt2834_join_bloom_fix 2>&1 - name: csuite-wt2853-perf-test tags: ["pull_request"] @@ -1598,12 +1588,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2853_perf 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2853_perf/test_wt2853_perf 2>&1 - name: csuite-wt2909-checkpoint-integrity-test tags: ["pull_request"] @@ -1613,12 +1603,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt2909_checkpoint_integrity 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt2909_checkpoint_integrity/test_wt2909_checkpoint_integrity -b $(pwd) 2>&1 - name: csuite-wt3338-partial-update-test tags: ["pull_request"] @@ -1628,12 +1618,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt3338_partial_update 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt3338_partial_update/test_wt3338_partial_update 2>&1 - name: csuite-wt4333-handle-locks-test tags: ["pull_request"] @@ -1643,12 +1633,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt4333_handle_locks 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt4333_handle_locks/test_wt4333_handle_locks 2>&1 - name: csuite-wt6616-checkpoint-oldest-ts-test tags: ["pull_request"] @@ -1658,12 +1648,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt6616_checkpoint_oldest_ts 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt6616_checkpoint_oldest_ts/test_wt6616_checkpoint_oldest_ts 2>&1 - name: csuite-wt7989-compact-checkpoint-test tags: ["pull_request"] @@ -1673,12 +1663,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt7989_compact_checkpoint 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt7989_compact_checkpoint/test_wt7989_compact_checkpoint 2>&1 - name: csuite-wt8057-compact-stress-test tags: ["pull_request"] @@ -1688,11 +1678,11 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt8057_compact_stress 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt8057_compact_stress/test_wt8057_compact_stress 2>&1 - name: csuite-wt8246-compact-rts-data-correctness-test tags: ["pull_request"] @@ -1702,11 +1692,11 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - ${test_env_vars|} $(pwd)/test/csuite/test_wt8246_compact_rts_data_correctness 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/wt8246_compact_rts_data_correctness/test_wt8246_compact_rts_data_correctness 2>&1 # End of csuite test tasks @@ -1903,49 +1893,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test" - script: | - set -o errexit - set -o verbose - - ${test_env_vars|} ${python_binary|python3} ../../test/wtperf/test_conf_dump.py 2>&1 - - - name: compile-windows-alt - tags: ["pull_request", "windows_only"] - depends_on: - - name: compile - commands: - - func: "fetch artifacts" - - command: shell.exec - params: - working_dir: "wiredtiger" - script: | - set -o errexit - set -o verbose - - export "PATH=/cygdrive/c/Python39:/cygdrive/c/Python39/Scripts:$PATH" - python --version - python -m pip install scons==3.1.1 - scons-3.1.1.bat ${scons_smp_command|} "CFLAGS=/Gv /wd4090 /wd4996 /we4047 /we4024 /TC /we4100 /we4133" wiredtiger.dll libwiredtiger.lib - - - name: scons-check - tags: ["pull_request", "windows_only"] - depends_on: - - name: compile - commands: - - func: "fetch artifacts" - - command: shell.exec - params: - working_dir: "wiredtiger" + working_dir: "wiredtiger/cmake_build/bench/wtperf" script: | set -o errexit set -o verbose - export "PATH=/cygdrive/c/Python39:/cygdrive/c/Python39/Scripts:$PATH" - python --version - python -m pip install scons==3.1.1 - # The check target is not run in parallel. - scons-3.1.1.bat check + ${test_env_vars|} WTPERF_DIR=$(pwd) ${python_binary|python3} ../../../test/wtperf/test_conf_dump.py 2>&1 - name: fops tags: ["pull_request"] @@ -1955,15 +1908,14 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build/test/fops" script: | set -o errexit set -o verbose if [ "Windows_NT" = "$OS" ]; then - cd .. - cmd.exe /c t_fops.exe + cmd.exe /c test_fops.exe else - ${test_env_vars|} test/fops/t + ${test_env_vars|} ./test_fops fi - name: compatibility-test-for-newer-releases @@ -2018,7 +1970,7 @@ tasks: extra_args: -h "WT_TEST.$i" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/format" + working_dir: "wiredtiger/cmake_build/test/format" shell: bash script: | set -o errexit @@ -2029,7 +1981,7 @@ tasks: - func: "upload endian format artifacts" vars: endian_format: little-endian - local_file: wiredtiger/build_posix/test/format/WT_TEST.tgz + local_file: wiredtiger/cmake_build/test/format/WT_TEST.tgz remote_file: WT_TEST-little-endian.tgz - name: verify-datafile-little-endian @@ -2070,7 +2022,7 @@ tasks: extra_args: -h "WT_TEST.$i" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/format" + working_dir: "wiredtiger/cmake_build/test/format" shell: bash script: | set -o errexit @@ -2081,7 +2033,7 @@ tasks: - func: "upload endian format artifacts" vars: endian_format: big-endian - local_file: wiredtiger/build_posix/test/format/WT_TEST.tgz + local_file: wiredtiger/cmake_build/test/format/WT_TEST.tgz remote_file: WT_TEST-big-endian.tgz - name: verify-datafile-big-endian @@ -2126,19 +2078,18 @@ tasks: - func: "get project" - command: shell.exec params: - working_dir: "wiredtiger/test/evergreen" + working_dir: "wiredtiger" script: | set -o errexit set -o verbose - ./configure_combinations.sh ${smp_command|} 2>&1 + . test/evergreen/find_cmake.sh + cd test/evergreen + CMAKE_BIN=$CMAKE ./configure_combinations.sh -g="${cmake_generator|Ninja}" -j=$(grep -c ^processor /proc/cpuinfo) 2>&1 # Handle special build combination for running all the diagnostic tests. - func: "configure wiredtiger" vars: - configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-g -Werror" - posix_configure_flags: --enable-silent-rules --enable-strict --enable-diagnostic --disable-static + posix_configure_flags: -DENABLE_STRICT=1 -DHAVE_DIAGNOSTIC=1 -DENABLE_STATIC=0 - func: "make wiredtiger" - vars: - make_command: make all - func: "make check all" # Use format.sh to run tests in parallel (x4) for just under two hours (the @@ -2218,7 +2169,7 @@ tasks: script: | set -o errexit set -o verbose - ${python_binary|python3} syscall.py --verbose --preserve + WT_BUILDDIR=$(pwd)/../../cmake_build LD_LIBRARY_PATH=$WT_BUILDDIR ${python_binary|python3} syscall.py --verbose --preserve - name: checkpoint-filetypes-test commands: @@ -2226,7 +2177,7 @@ tasks: - func: "compile wiredtiger" vars: # Don't use diagnostic - this test looks for timing problems that are more likely to occur without it - posix_configure_flags: --enable-strict + posix_configure_flags: -DENABLE_STRICT=1 - func: "checkpoint test" vars: checkpoint_args: -t m -n 1000000 -k 5000000 -C cache_size=100MB @@ -2246,8 +2197,8 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="--coverage -fPIC -ggdb" LDFLAGS=--coverage - posix_configure_flags: --enable-silent-rules --enable-diagnostic --enable-strict --enable-python --with-builtins=lz4,snappy,zlib,zstd + configure_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH + posix_configure_flags: -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake -DCMAKE_BUILD_TYPE=Coverage -DCMAKE_C_FLAGS="-ggdb" -DWITH_PIC=1 -DHAVE_DIAGNOSTIC=1 -DENABLE_STRICT=1 -DENABLE_PYTHON=1 -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 - func: "make check all" - func: "unit test" vars: @@ -2295,7 +2246,7 @@ tasks: - command: shell.exec params: shell: bash - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose @@ -2333,7 +2284,7 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-python --with-spinlock=gcc --enable-strict + posix_configure_flags: -DENABLE_PYTHON=1 -DSPINLOCK_TYPE=gcc -DENABLE_STRICT=1 - func: "make check all" - func: "format test" vars: @@ -2345,7 +2296,7 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-python --with-spinlock=pthread_adaptive --enable-strict + posix_configure_flags: -DENABLE_PYTHON=1 -DSPINLOCK_TYPE=pthread_adaptive -DENABLE_STRICT=1 - func: "make check all" - func: "format test" vars: @@ -2361,7 +2312,7 @@ tasks: dependent_task: compile-wtperf - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose @@ -2372,7 +2323,7 @@ tasks: echo "====" echo "==== Initiating wtperf test using $dir/$file ====" echo "====" - ./bench/wtperf/wtperf -O $dir/$file -o verbose=2 + ${test_env_vars|} ./bench/wtperf/wtperf -O $dir/$file -o verbose=2 cp -rf WT_TEST WT_TEST_$file done @@ -2381,17 +2332,18 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-strict ac_cv_func_ftruncate=no + posix_configure_flags: -DENABLE_STRICT=1 -DHAVE_FTRUNCATE=0 - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose # ${test_env_vars|} $(pwd)/../test/csuite/random_abort/smoke.sh 2>&1 - ${test_env_vars|} $(pwd)/test/csuite/test_truncated_log 2>&1 + ${test_env_vars|} $(pwd)/test/csuite/truncated_log/test_truncated_log 2>&1 - func: "csuite smoke test" vars: + test_args: -b cmake_build/test/csuite/timestamp_abort/test_timestamp_abort test_binary: timestamp_abort - name: long-test @@ -2399,22 +2351,24 @@ tasks: - func: "get project" - func: "configure wiredtiger" vars: - configure_env_vars: CC=/opt/mongodbtoolchain/v3/bin/gcc CXX=/opt/mongodbtoolchain/v3/bin/g++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-g -Werror" - posix_configure_flags: --enable-silent-rules --enable-strict --enable-diagnostic --disable-static + posix_configure_flags: + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake + -DCMAKE_C_FLAGS='-g -Werror' + -DHAVE_DIAGNOSTIC=1 + -DENABLE_STRICT=1 + -DENABLE_STATIC=0 - func: "make wiredtiger" # Run the long version of make check, that includes the full csuite tests - func: "make check all" - vars: - test_env_vars: ${test_env_vars} TESTUTIL_ENABLE_LONG_TESTS=1 - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" script: | set -o errexit set -o verbose - WT3363_CHECKPOINT_OP_RACES=1 test/csuite/./test_wt3363_checkpoint_op_races 2>&1 + TESTUTIL_ENABLE_TIMING_TESTS=1 ./test/csuite/wt3363_checkpoint_op_races/test_wt3363_checkpoint_op_races 2>&1 # Many dbs test - Run with: # 1. The defaults @@ -2490,7 +2444,7 @@ tasks: commands: - func: "fetch artifacts" vars: - posix_configure_flags: --enable-strict + posix_configure_flags: -DENABLE_STRICT=1 - command: shell.exec params: working_dir: "wiredtiger/test/csuite" @@ -2498,7 +2452,7 @@ tasks: set -o errexit set -o verbose - ./time_shift_test.sh /usr/local/lib/faketime/libfaketimeMT.so.1 0-1 2>&1 + RW_LOCK_FILE=$(pwd)/../../cmake_build/test/csuite/rwlock/test_rwlock ./time_shift_test.sh /usr/local/lib/faketime/libfaketimeMT.so.1 0-1 2>&1 - name: format-stress-pull-request-test tags: ["pull_request"] @@ -2538,14 +2492,12 @@ tasks: vars: # FIXME-WT-8482: CC is set to the system default "clang" binary here as a workaround. # Change it back to mongodbtoolchain "clang" binary. - configure_env_vars: - CCAS=/opt/mongodbtoolchain/v3/bin/gcc CC=/usr/bin/clang - CXX=/opt/mongodbtoolchain/v3/bin/clang++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH - CFLAGS="-ggdb -fPIC -fsanitize=address -fno-omit-frame-pointer - -I/opt/mongodbtoolchain/v3/lib/gcc/ppc64le-mongodb-linux/8.2.0/include" - CXXFLAGS="-ggdb -fPIC -fsanitize=address -fno-omit-frame-pointer - -I/opt/mongodbtoolchain/v3/lib/gcc/ppc64le-mongodb-linux/8.2.0/include" - posix_configure_flags: --enable-diagnostic --with-builtins=lz4,snappy,zlib + posix_configure_flags: + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake + -DHAVE_DIAGNOSTIC=1 + -DWITH_PIC=1 + -DCMAKE_BUILD_TYPE=ASan + -DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 - func: "format test script" # Run smoke tests, don't stop at failed tests, use default config vars: @@ -2560,7 +2512,7 @@ tasks: - func: "compile wiredtiger with builtins" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/bench/wtperf" + working_dir: "wiredtiger/cmake_build/bench/wtperf" script: | set -o errexit set -o verbose @@ -2575,12 +2527,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-no-timestamp depends_on: @@ -2589,12 +2541,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args}" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args}" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s1 depends_on: @@ -2603,12 +2555,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x -s 1" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x -s 1" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s1-no-timestamp depends_on: @@ -2617,12 +2569,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -s 1" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -s 1" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s2 depends_on: @@ -2631,12 +2583,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x -s 2" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x -s 2" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s3 depends_on: @@ -2645,12 +2597,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x -s 3" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x -s 3" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s3-no-timestamp depends_on: @@ -2659,12 +2611,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -s 3" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -s 3" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s4 depends_on: @@ -2673,12 +2625,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x -s 4" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x -s 4" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s5 depends_on: @@ -2687,12 +2639,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -x -s 5" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -x -s 5" WT_TEST.$t test_checkpoint' 120 - name: data-validation-stress-test-checkpoint-fp-hs-insert-s5-no-timestamp depends_on: @@ -2701,12 +2653,12 @@ tasks: - func: "fetch artifacts" - command: shell.exec params: - working_dir: "wiredtiger/build_posix/test/checkpoint" + working_dir: "wiredtiger/cmake_build/test/checkpoint" shell: bash script: | set -o errexit set -o verbose - ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ../../../test/checkpoint/recovery-test.sh "${data_validation_stress_test_args} -s 5" WT_TEST.$t' 120 + ${test_env_vars|} ../../../tools/run_parallel.sh 'nice ./recovery-test.sh "${data_validation_stress_test_args} -s 5" WT_TEST.$t test_checkpoint' 120 - name: format-failure-configs-test depends_on: @@ -2727,19 +2679,15 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - posix_configure_flags: --enable-strict --disable-shared --with-builtins=snappy,zlib,zstd + posix_configure_flags: -DENABLE_STRICT=1 -DENABLE_STATIC=1 -DENABLE_SHARED=0 -DHAVE_BUILTIN_EXTENSION_ZSTD=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 - command: shell.exec params: - working_dir: "wiredtiger/build_posix" + working_dir: "wiredtiger/cmake_build" shell: bash script: | set -o errexit set -o verbose - # Delete wt util - rm -f wt - # Build static wt util - ${make_command|make} CC='eval "g++ -static"' ${smp_command|} # -V option displays Wiredtiger library version ./wt -V @@ -2748,7 +2696,8 @@ tasks: exit 1 fi - ldd wt || wt_static_build=1 + # Test if libwiredtiger is dynamically linked. + (ldd wt | grep "libwiredtiger.so") || wt_static_build=1 if [ $wt_static_build -ne 1 ]; then echo "Error, WT util is not statically linked" @@ -2789,9 +2738,11 @@ tasks: - func: "get project" - func: "compile wiredtiger" vars: - configure_env_vars: - CXX=/opt/mongodbtoolchain/v3/bin/g++ - PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-ggdb -fPIC" + posix_configure_flags: + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake + -DCMAKE_C_FLAGS="-ggdb" + -DENABLE_PYTHON=1 + -DWITH_PIC=1 - command: shell.exec params: working_dir: "wiredtiger/bench/workgen/runner" @@ -2824,14 +2775,14 @@ tasks: vars: # FIXME-WT-8482: CC is set to the system default "clang" binary here as a workaround. # Change it back to mongodbtoolchain "clang" binary. - configure_env_vars: - CCAS=/opt/mongodbtoolchain/v3/bin/gcc CC=/usr/bin/clang - CXX=/opt/mongodbtoolchain/v3/bin/clang++ PATH=/opt/mongodbtoolchain/v3/bin:$PATH - CFLAGS="-ggdb -fPIC -fsanitize=address -fno-omit-frame-pointer - -I/opt/mongodbtoolchain/v3/lib/gcc/ppc64le-mongodb-linux/8.2.0/include" - CXXFLAGS="-ggdb -fPIC -fsanitize=address -fno-omit-frame-pointer - -I/opt/mongodbtoolchain/v3/lib/gcc/ppc64le-mongodb-linux/8.2.0/include" - posix_configure_flags: --enable-diagnostic --with-builtins=lz4,snappy,zlib + posix_configure_flags: + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake + -DHAVE_DIAGNOSTIC=1 + -DWITH_PIC=1 + -DHAVE_BUILTIN_EXTENSION_LZ4=1 + -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 + -DHAVE_BUILTIN_EXTENSION_ZLIB=1 + -DCMAKE_BUILD_TYPE=ASan - func: "format test script" vars: test_env_vars: @@ -3790,43 +3741,45 @@ buildvariants: - ubuntu2004-test expansions: test_env_vars: - LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs:$top_dir/TCMALLOC_LIB/lib - smp_command: -j $(echo "`grep -c ^processor /proc/cpuinfo` * 2" | bc) + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-python - --enable-zlib - --enable-snappy - --enable-strict - --enable-static - --enable-tcmalloc - --prefix=$(pwd)/LOCAL_INSTALL + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake + -DCMAKE_C_FLAGS="-ggdb" + -DHAVE_DIAGNOSTIC=1 + -DENABLE_PYTHON=1 + -DENABLE_ZLIB=1 + -DENABLE_SNAPPY=1 + -DENABLE_STRICT=1 + -DENABLE_TCMALLOC=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" + -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL python_binary: '/opt/mongodbtoolchain/v3/bin/python3' - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + smp_command: -j $(echo "`grep -c ^processor /proc/cpuinfo` * 2" | bc) + cmake_generator: Ninja + make_command: ninja data_validation_stress_test_args: -t r -m -W 3 -D -p -n 100000 -k 100000 -C cache_size=100MB tasks: - - name: ".pull_request !.windows_only !.pull_request_compilers" - - name: linux-directio - distros: ubuntu2004-build - - name: syscall-linux + - name: ".pull_request !.pull_request_compilers" + - name: compile + - name: make-check-test + - name: unit-test - name: configure-combinations + - name: syscall-linux - name: checkpoint-filetypes-test - name: unit-test-zstd - - name: unit-test-long - distros: ubuntu2004-large - name: unit-test-random-seed - name: spinlock-gcc-test - name: spinlock-pthread-adaptive-test - name: compile-wtperf - - name: wtperf-test - name: ftruncate-test - name: long-test + - name: unit-test-long + distros: ubuntu2004-large - name: static-wt-build-test + - name: linux-directio + distros: ubuntu2004-build - name: format-smoke-test - name: format-failure-configs-test - name: data-validation-stress-test-checkpoint @@ -3840,68 +3793,35 @@ buildvariants: - name: data-validation-stress-test-checkpoint-fp-hs-insert-s5-no-timestamp - name: data-validation-stress-test-checkpoint-no-timestamp -- name: ubuntu2004-cmake - display_name: "* Ubuntu 20.04 CMake" +- name: ubuntu2004-asan + display_name: "! Ubuntu 20.04 ASAN" run_on: - ubuntu2004-test expansions: - test_env_vars: - WT_TOPDIR=$(git rev-parse --show-toplevel) - WT_BUILDDIR=$WT_TOPDIR/cmake_build - LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib posix_configure_flags: - -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_gcc.cmake - -DCMAKE_C_FLAGS="-ggdb" - -DHAVE_DIAGNOSTIC=1 - -DENABLE_PYTHON=1 - -DENABLE_ZLIB=1 - -DENABLE_SNAPPY=1 + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_clang.cmake + -DCMAKE_BUILD_TYPE=ASan -DENABLE_STRICT=1 + -DHAVE_DIAGNOSTIC=1 + -DENABLE_STATIC=0 -DENABLE_TCMALLOC=1 -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL - python_binary: '/opt/mongodbtoolchain/v3/bin/python3' - smp_command: -j $(echo "`grep -c ^processor /proc/cpuinfo` * 2" | bc) - cmake_generator: Ninja - make_command: ninja - is_cmake_build: true - tasks: - - name: compile - - name: make-check-test - - name: unit-test - -- name: ubuntu2004-asan - display_name: "! Ubuntu 20.04 ASAN" - run_on: - - ubuntu2004-test - expansions: - configure_env_vars: - CC=/opt/mongodbtoolchain/v3/bin/clang - CXX=/opt/mongodbtoolchain/v3/bin/clang++ - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - CFLAGS="-fsanitize=address -fno-omit-frame-pointer -ggdb" - CXXFLAGS="-fsanitize=address -fno-omit-frame-pointer -ggdb" - posix_configure_flags: - --enable-silent-rules - --enable-strict - --enable-diagnostic - --disable-static - --enable-tcmalloc - --prefix=$(pwd)/LOCAL_INSTALL + -DCMAKE_C_FLAGS="-ggdb" smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja test_env_vars: - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build ASAN_OPTIONS="detect_leaks=1:abort_on_error=1:disable_coredump=0:unmap_shadow_on_exit=1" - LSAN_OPTIONS="print_suppressions=0:suppressions=$top_dir/test/evergreen/asan_leaks.supp" + LSAN_OPTIONS="print_suppressions=0:suppressions=$WT_TOPDIR/test/evergreen/asan_leaks.supp" ASAN_SYMBOLIZER_PATH=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer TESTUTIL_BYPASS_ASAN=1 LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - LD_LIBRARY_PATH=$top_builddir/.libs:$top_dir/TCMALLOC_LIB/lib + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib tasks: - - name: ".pull_request !.windows_only !.pull_request_compilers !.python" + - name: ".pull_request !.pull_request_compilers !.python" - name: examples-c-test - name: format-asan-smoke-test @@ -3910,28 +3830,28 @@ buildvariants: run_on: - ubuntu2004-test expansions: - configure_env_vars: - # We don't compile C++ for memory sanitized testing as it creates false positives. - CC=/opt/mongodbtoolchain/v3/bin/clang - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - CFLAGS="-fsanitize=memory -fno-omit-frame-pointer -fno-optimize-sibling-calls -O1 -ggdb" posix_configure_flags: - --enable-silent-rules - --enable-strict - --enable-diagnostic - --disable-static - --prefix=$(pwd)/LOCAL_INSTALL + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_clang.cmake + -DCMAKE_BUILD_TYPE=MSan + -DCC_OPTIMIZE_LEVEL=-O1 + -DENABLE_STRICT=1 + -DHAVE_DIAGNOSTIC=1 + -DENABLE_STATIC=0 + -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL + -DCMAKE_C_FLAGS="-ggdb" smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja test_env_vars: MSAN_OPTIONS="abort_on_error=1:disable_coredump=0:print_stacktrace=1" MSAN_SYMBOLIZER_PATH=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR TESTUTIL_SLOW_MACHINE=1 + # We don't run C++ memory sanitized testing as it creates false positives. + check_args: -LE cppsuite tasks: - name: clang-analyzer - name: compile @@ -3947,28 +3867,26 @@ buildvariants: run_on: - ubuntu2004-test expansions: - configure_env_vars: - CC=/opt/mongodbtoolchain/v3/bin/clang - CXX=/opt/mongodbtoolchain/v3/bin/clang++ - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - CFLAGS="-fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls -O1 -ggdb" - CXXFLAGS="-fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls -O1 -ggdb" posix_configure_flags: - --enable-silent-rules - --enable-strict - --enable-diagnostic - --disable-static - --enable-tcmalloc - --prefix=$(pwd)/LOCAL_INSTALL + -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/mongodbtoolchain_v3_clang.cmake + -DCMAKE_BUILD_TYPE=UBSan + -DCC_OPTIMIZE_LEVEL=-O1 + -DENABLE_STRICT=1 + -DHAVE_DIAGNOTIC=1 + -DENABLE_STATIC=0 + -DENABLE_TCMALLOC=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" + -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL + -DCMAKE_C_FLAGS="-ggdb" smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja test_env_vars: UBSAN_OPTIONS="detect_leaks=1:disable_coredump=0:external_symbolizer_path=/opt/mongodbtoolchain/v4/bin/llvm-symbolizer:abort_on_error=1:print_stacktrace=1" LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs:$top_dir/TCMALLOC_LIB/lib + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib tasks: - name: clang-analyzer - name: compile @@ -3990,18 +3908,18 @@ buildvariants: - ubuntu2004-wt-build expansions: posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-strict - --enable-lz4 - --enable-snappy - --enable-zlib - --enable-zstd - --enable-python - --enable-tcmalloc + -DHAVE_DIAGNOSTIC=1 + -DENABLE_STRICT=1 + -DENABLE_LZ4=1 + -DENABLE_SNAPPY=1 + -DENABLE_ZLIB=1 + -DENABLE_ZSTD=1 + -DENABLE_PYTHON=1 + -DENABLE_TCMALLOC=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" python_binary: '/opt/mongodbtoolchain/v3/bin/python3' smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja tasks: - name: ".pull_request_compilers" @@ -4011,23 +3929,23 @@ buildvariants: - ubuntu2004-test expansions: smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja test_env_vars: LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs:$top_dir/TCMALLOC_LIB/lib + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-python - --enable-zlib - --enable-snappy - --enable-strict - --enable-static - --enable-tcmalloc - --prefix=$(pwd)/LOCAL_INSTALL + -DHAVE_DIAGNOSTIC=1 + -DENABLE_PYTHON=1 + -DENABLE_ZLIB=1 + -DENABLE_SNAPPY=1 + -DENABLE_STRICT=1 + -DENABLE_STATIC=1 + -DENABLE_TCMALLOC=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" + -DCMAKE_INSTALL_PREFIX=$(pwd)/LOCAL_INSTALL python_binary: '/opt/mongodbtoolchain/v3/bin/python3' tasks: - name: ".stress-test-1" @@ -4060,7 +3978,6 @@ buildvariants: smp_command: -j $(echo "`grep -c ^processor /proc/cpuinfo` * 2" | bc) cmake_generator: Ninja make_command: ninja - is_cmake_build: true tasks: - name: compile - name: ".btree-perf" @@ -4100,18 +4017,21 @@ buildvariants: run_on: - ubuntu2004-test expansions: - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja + cmake_generator: Ninja posix_configure_flags: - --enable-silent-rules - --enable-python - --enable-zlib - --enable-snappy - --enable-strict - --enable-static - --enable-tcmalloc - --prefix=$(pwd)/LOCAL_INSTALL + -DENABLE_PYTHON=1 + -DENABLE_ZLIB=1 + -DENABLE_SNAPPY=1 + -DENABLE_STRICT=1 + -DENABLE_STATIC=1 + -DENABLE_TCMALLOC=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib upload_source_dir: mongo-tests/largescale/many-collection/dbpath/diagnostic.data upload_filename: diagnostic.data.tgz tasks: @@ -4125,20 +4045,20 @@ buildvariants: - ubuntu2004-test expansions: test_env_vars: - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs:$top_dir/TCMALLOC_LIB/lib - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib + cmake_generator: Ninja + make_command: ninja posix_configure_flags: - --enable-diagnostic - --enable-python - --enable-silent-rules - --enable-snappy - --enable-strict - --enable-static - --enable-tcmalloc - --enable-zlib + -DHAVE_DIAGNOSTIC=1 + -DENABLE_PYTHON=1 + -DENABLE_SNAPPY=1 + -DENABLE_STRICT=1 + -DENABLE_STATIC=1 + -DENABLE_TCMALLOC=1 + -DENABLE_ZLIB=1 + -DCMAKE_PREFIX_PATH="$(pwd)/../TCMALLOC_LIB" tasks: - name: compile - name: cppsuite-base-test-stress @@ -4175,11 +4095,12 @@ buildvariants: test_env_vars: LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + make_command: ninja + cmake_generator: Ninja python_binary: '/opt/mongodbtoolchain/v3/bin/python3' tasks: - name: compile-linux-no-ftruncate @@ -4195,11 +4116,12 @@ buildvariants: test_env_vars: LD_PRELOAD=/usr/local/lib/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + cmake_generator: "Unix Makefiles" + make_command: make python_binary: '/opt/mongodbtoolchain/v3/bin/python3' tasks: - name: compile @@ -4231,9 +4153,11 @@ buildvariants: test_env_vars: LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR:$WT_TOPDIR/TCMALLOC_LIB/lib + make_command: ninja + cmake_generator: Ninja tasks: - name: coverage-report - name: cyclomatic-complexity @@ -4268,25 +4192,7 @@ buildvariants: run_on: - windows-64-vs2017-test expansions: - test_env_vars: - WT_TOPDIR=$(git rev-parse --show-toplevel) - PATH=/cygdrive/c/Python39:/cygdrive/c/Python39/Scripts:$PATH - PYTHONPATH=($WT_TOPDIR/lang/python/wiredtiger):$(cygpath -w $WT_TOPDIR/lang/python) - python_binary: 'python' - scons_smp_command: -j $(echo "$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1) * 2" | bc) - tasks: - - name: compile - - name: ".windows_only" - - name: ".unit_test" - - name: fops - -- name: windows-64-cmake - display_name: "* Windows 64-bit CMake" - run_on: - - windows-64-vs2017-test - expansions: python_binary: 'python' - is_cmake_build: true test_env_vars: WT_TOPDIR=$(git rev-parse --show-toplevel) WT_BUILDDIR=$WT_TOPDIR/cmake_build @@ -4296,39 +4202,11 @@ buildvariants: tasks: - name: compile - name: make-check-test - - name: unit-test - -- name: macos-1014 - display_name: OS X 10.14 - run_on: - - macos-1014 - batchtime: 120 # 2 hours - expansions: - configure_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH ADD_CFLAGS="-ggdb -fPIC" - posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-python - --enable-zlib - --enable-strict - --enable-static - --prefix=$(pwd)/LOCAL_INSTALL - python_binary: '/opt/mongodbtoolchain/v3/bin/python3' - smp_command: -j $(sysctl -n hw.logicalcpu) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future make - test_env_vars: - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - DYLD_LIBRARY_PATH=$top_builddir/.libs - tasks: - - name: compile - - name: make-check-test - - name: unit-test-with-compile + - name: ".unit_test" - name: fops -- name: macos-1014-cmake - display_name: "* OS X 10.14 CMake" +- name: macos-1014 + display_name: "OS X 10.14 CMake" run_on: - macos-1014 batchtime: 120 # 2 hours @@ -4347,11 +4225,11 @@ buildvariants: test_env_vars: WT_BUILDDIR=$(git rev-parse --show-toplevel)/cmake_build DYLD_LIBRARY_PATH=$WT_BUILDDIR - is_cmake_build: true tasks: - name: compile - name: make-check-test - name: unit-test + - name: fops - name: little-endian display_name: "~ Little-endian (x86)" @@ -4363,10 +4241,11 @@ buildvariants: smp_command: -j $(grep -c ^processor /proc/cpuinfo) test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR + make_command: ninja + cmake_generator: Ninja tasks: - name: compile - name: generate-datafile-little-endian @@ -4385,9 +4264,11 @@ buildvariants: smp_command: -j $(grep -c ^processor /proc/cpuinfo) test_env_vars: PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.lib + WT_TOPDIR=$(git rev-parse --show-toplevel) + WT_BUILDDIR=$WT_TOPDIR/cmake_build + LD_LIBRARY_PATH=$WT_BUILDDIR + make_command: ninja + cmake_generator: Ninja tasks: - name: compile - name: generate-datafile-big-endian @@ -4398,38 +4279,6 @@ buildvariants: display_name: "~ Ubuntu 18.04 PPC" run_on: - ubuntu1804-power8-test - batchtime: 120 # 2 hours - expansions: - format_test_setting: ulimit -c unlimited - smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make - test_env_vars: - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs - posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-python - --enable-zlib - --enable-snappy - --enable-strict - --enable-static - --prefix=$(pwd)/LOCAL_INSTALL - python_binary: '/opt/mongodbtoolchain/v3/bin/python3' - tasks: - - name: compile - - name: unit-test - - name: format-smoke-test - - name: format-asan-smoke-ppc-test - - name: format-wtperf-test - - name: ".stress-test-ppc-1" - -- name: ubuntu1804-ppc-cmake - display_name: "* Ubuntu 18.04 PPC CMake" - run_on: - - ubuntu1804-power8-test batchtime: 10080 # 7 days expansions: test_env_vars: @@ -4448,47 +4297,18 @@ buildvariants: smp_command: -j $(grep -c ^processor /proc/cpuinfo) cmake_generator: Ninja make_command: ninja - is_cmake_build: true tasks: - name: compile - - name: make-check-test - name: unit-test + - name: format-smoke-test + - name: format-asan-smoke-ppc-test + - name: format-wtperf-test + - name: ".stress-test-ppc-1" - name: ubuntu1804-zseries display_name: "~ Ubuntu 18.04 zSeries" run_on: - ubuntu1804-zseries-test - batchtime: 120 # 2 hours - expansions: - smp_command: -j $(grep -c ^processor /proc/cpuinfo) - make_command: PATH=/opt/mongodbtoolchain/v3/bin:$PATH make - test_env_vars: - PATH=/opt/mongodbtoolchain/v3/bin:$PATH - top_dir=$(git rev-parse --show-toplevel) - top_builddir=$top_dir/build_posix - LD_LIBRARY_PATH=$top_builddir/.libs - posix_configure_flags: - --enable-silent-rules - --enable-diagnostic - --enable-python - --enable-zlib - --enable-snappy - --enable-strict - --enable-static - --prefix=$(pwd)/LOCAL_INSTALL - python_binary: '/opt/mongodbtoolchain/v3/bin/python3' - tasks: - - name: compile - - name: unit-test - - name: format-smoke-test - - name: ".stress-test-zseries-1" - - name: ".stress-test-zseries-2" - - name: ".stress-test-zseries-3" - -- name: ubuntu1804-zseries-cmake - display_name: "* Ubuntu 18.04 zSeries CMake" - run_on: - - ubuntu1804-zseries-test batchtime: 10080 # 7 days expansions: test_env_vars: @@ -4507,8 +4327,10 @@ buildvariants: smp_command: -j $(grep -c ^processor /proc/cpuinfo) cmake_generator: Ninja make_command: ninja - is_cmake_build: true tasks: - name: compile - - name: make-check-test - name: unit-test + - name: format-smoke-test + - name: ".stress-test-zseries-1" + - name: ".stress-test-zseries-2" + - name: ".stress-test-zseries-3" diff --git a/src/third_party/wiredtiger/test/evergreen/compatibility_test_for_releases.sh b/src/third_party/wiredtiger/test/evergreen/compatibility_test_for_releases.sh index 655159bb8bc..f58f6155b47 100755 --- a/src/third_party/wiredtiger/test/evergreen/compatibility_test_for_releases.sh +++ b/src/third_party/wiredtiger/test/evergreen/compatibility_test_for_releases.sh @@ -44,12 +44,25 @@ build_branch() git clone --quiet https://github.com/wiredtiger/wiredtiger.git "$1" cd "$1" git checkout --quiet "$1" - - config="" - config+="--enable-snappy " - config+="--disable-standalone-build " - (sh build_posix/reconf && - ./configure $config && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + if [ "${build_sys[$1]}" == "cmake" ]; then + . ./test/evergreen/find_cmake.sh + config="" + config+="-DENABLE_SNAPPY=1 " + config+="-DWT_STANDALONE_BUILD=0 " + (mkdir build && cd build && + $CMAKE $config ../. && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + else + config+="--enable-snappy " + config+="--disable-standalone-build " + (mkdir build && cd build && sh ../build_posix/reconf && + ../configure $config && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + # Copy out the extension modules to their parent directory. This is done to maintain uniformity between + # autoconf and CMake build directories, where relative module paths can possibly be cached when running verify/upgrade_downgrade + # tests between branch directories i.e. in the connection configuration. + cp build/ext/compressors/snappy/.libs/libwiredtiger_snappy.so build/ext/compressors/snappy/libwiredtiger_snappy.so + cp build/ext/collators/reverse/.libs/libwiredtiger_reverse_collator.so build/ext/collators/reverse/libwiredtiger_reverse_collator.so + cp build/ext/encryptors/rotn/.libs/libwiredtiger_rotn.so build/ext/encryptors/rotn/libwiredtiger_rotn.so + fi } ############################################################# @@ -60,8 +73,9 @@ get_config_file_name() { local file_name="" branch_name=$1 + format_dir="$branch_name/build/test/format" if [ "${wt_standalone}" = true ] || [ $older = true ] ; then - file_name="${branch_name}/test/format/CONFIG_default" + file_name="${format_dir}/CONFIG_default" echo $file_name return fi @@ -92,7 +106,7 @@ create_configs() echo "checkpoints=1" >> $file_name # Force periodic writes echo "compression=snappy" >> $file_name # We only built with snappy, force the choice echo "data_source=table" >> $file_name - echo "huffman_key=0" >> $file_name # WT-6893 - Not supoprted by newer releases + echo "huffman_key=0" >> $file_name # WT-6893 - Not supported by newer releases echo "in_memory=0" >> $file_name # Interested in the on-disk format echo "leak_memory=1" >> $file_name # Faster runs echo "logging=1" >> $file_name # Test log compatibility @@ -143,7 +157,8 @@ create_configs_for_newer_release_branches() # Copy per-release configs in the newer release branches for b in ${newer_release_branches[@]}; do - cp -rf CONFIG* $b/test/format/ + format_dir="$b/build/test/format" + cp -rf CONFIG* $format_dir done # Delete configs from the top folder @@ -162,7 +177,9 @@ run_format() echo "Running format in branch: \"$branch_name\"" echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - cd "$branch_name/test/format" + + format_dir="$branch_name/build/test/format" + cd "$format_dir" flags="-1q $(bflag $branch_name)" config_file="" @@ -191,9 +208,9 @@ run_format() } EXT="extensions=[" -EXT+="ext/compressors/snappy/.libs/libwiredtiger_snappy.so," -EXT+="ext/collators/reverse/.libs/libwiredtiger_reverse_collator.so, " -EXT+="ext/encryptors/rotn/.libs/libwiredtiger_rotn.so, " +EXT+="build/ext/compressors/snappy/libwiredtiger_snappy.so," +EXT+="build/ext/collators/reverse/libwiredtiger_reverse_collator.so, " +EXT+="build/ext/encryptors/rotn/libwiredtiger_rotn.so, " EXT+="]" ############################################################# @@ -210,15 +227,17 @@ verify_branches() echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" cd "$1" + + wt_bin="build/wt" for am in $3; do - echo "$1/wt verifying $2 access method $am..." - dir="$2/test/format/RUNDIR.$am" - WIREDTIGER_CONFIG="$EXT" ./wt $(bflag $1) -h "../$dir" verify table:wt + echo "$1/$wt_bin verifying $2 access method $am..." + dir="$2/build/test/format/RUNDIR.$am" + WIREDTIGER_CONFIG="$EXT" ./$wt_bin $(bflag $1) -h "../$dir" verify table:wt if [ "$4" = true ]; then echo "$1/wt dump and load $2 access method $am..." - WIREDTIGER_CONFIG="$EXT" ./wt $(bflag $1) -h "../$dir" dump table:wt > dump_wt.txt - WIREDTIGER_CONFIG="$EXT" ./wt $(bflag $1) -h "../$dir" load -f dump_wt.txt + WIREDTIGER_CONFIG="$EXT" ./$wt_bin $(bflag $1) -h "../$dir" dump table:wt > dump_wt.txt + WIREDTIGER_CONFIG="$EXT" ./$wt_bin $(bflag $1) -h "../$dir" load -f dump_wt.txt fi done } @@ -238,18 +257,21 @@ upgrade_downgrade() cfg_file_branch1=$(get_config_file_name $1) cfg_file_branch2=$(get_config_file_name $2) + format_dir_branch1="$1/build/test/format" + format_dir_branch2="$2/build/test/format" + # Alternate running each branch format test program on the second branch's build. # Loop twice, that is, run format twice using each branch. top="$PWD" for am in $3; do for reps in {1..2}; do echo "$1 format running on $2 access method $am..." - cd "$top/$1/test/format" + cd "$top/$format_dir_branch1" flags="-1Rq $(bflag $1)" - ./t $flags -c "$top/$2/test/format/${cfg_file_branch1}" -h "$top/$2/test/format/RUNDIR.$am" timer=2 + ./t $flags -c "$top/$format_dir_branch2/${cfg_file_branch1}" -h "$top/$format_dir_branch2/RUNDIR.$am" timer=2 echo "$2 format running on $2 access method $am..." - cd "$top/$2/test/format" + cd "$top/$format_dir_branch2" flags="-1Rq $(bflag $2)" ./t $flags -c $cfg_file_branch2 -h "RUNDIR.$am" timer=2 done @@ -263,7 +285,13 @@ upgrade_downgrade() ############################################################# test_upgrade_to_branch() { - cd $1/test/checkpoint + cd $1/build/test/checkpoint + + if [ "${build_sys[$1]}" == "cmake" ]; then + test_bin="test_checkpoint" + else + test_bin="t" + fi for FILE in $2/*; do # Run actual test. @@ -273,7 +301,7 @@ test_upgrade_to_branch() # Disable exit on non 0 set +e - output="$(./t -t r -D -v -h $FILE)" + output="$(./$test_bin -t r -D -v -h $FILE)" test_res=$? # Enable exit on non 0 @@ -331,7 +359,7 @@ older_release_branches=(mongodb-4.2 mongodb-4.0 mongodb-3.6) # This array is used to generate compatible configuration files between releases, because # upgrade/downgrade test runs each build's format test program on the second build's -# configuration file. +# configuration file. compatible_upgrade_downgrade_release_branches=(mongodb-4.4 mongodb-4.2) # This array is used to configure the release branches we'd like to run upgrade to latest test. @@ -343,6 +371,18 @@ scopes[older]="older stable release branches" scopes[upgrade_to_latest]="upgrade/downgrade databases to the latest versions of the codebase" scopes[wt_standalone]="WiredTiger standalone releases" +# The following associative array maps the 'official' build system to use for each branch. +# CMake build support is reliably mature in newer release branches, whilst earlier revisions +# primarily use Autoconf (note: some earlier branches may have CMake support, but these aren't +# considered 'mature' versions.) +declare -A build_sys +build_sys['develop']="cmake" +build_sys['mongodb-5.0']="autoconf" +build_sys['mongodb-4.4']="autoconf" +build_sys['mongodb-4.2']="autoconf" +build_sys['mongodb-4.0']="autoconf" +build_sys['mongodb-3.6']="autoconf" + ############################################################# # usage string ############################################################# diff --git a/src/third_party/wiredtiger/test/evergreen/configure_combinations.sh b/src/third_party/wiredtiger/test/evergreen/configure_combinations.sh index 2423a248dfb..5012e5b8c15 100755 --- a/src/third_party/wiredtiger/test/evergreen/configure_combinations.sh +++ b/src/third_party/wiredtiger/test/evergreen/configure_combinations.sh @@ -1,21 +1,52 @@ #!/bin/bash +: ${CMAKE_BIN:=cmake} + +for i in "$@"; do + case $i in + -g=*|--generator=*) + GENERATOR="${i#*=}" + shift # past argument=value + ;; + -j=*|--parallel=*) + PARALLEL="-j ${i#*=}" + shift # past argument=value + ;; + *) + # unknown option + ;; + esac +done + +if [ -z "${GENERATOR}" ]; then + GENERATOR="Unix Makefiles" +fi +if [ "$GENERATOR" != "Ninja" ] && [ "$GENERATOR" != "Unix Makefiles" ]; then + echo "Invalid build generator: $GENERATOR. Valid options 'Ninja', 'Unix Makefiles'" +fi + +if [ "$GENERATOR" == "Unix Makefiles" ]; then + GENERATOR=$(echo $GENERATOR | sed -e 's/ /\\ /') + GENERATOR_CMD="make" +else + GENERATOR_CMD="ninja" +fi + cd $(git rev-parse --show-toplevel) echo `pwd` -sh build_posix/reconf curdir=`pwd` -flags="CFLAGS=\"-Werror -Wall -Wextra -Waddress -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wformat-security -Wformat-nonliteral -Wformat=2 -Wmissing-declarations -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wno-unused-parameter -Wpointer-arith -Wredundant-decls -Wshadow -Wundef -Wunused -Wwrite-strings -O -fno-strict-aliasing -Wuninitialized\" -CC=clang CFLAGS=\"-Wall -Werror -Qunused-arguments -Wno-self-assign -Wno-parentheses-equality -Wno-array-bounds\"" +flags="-DCMAKE_TOOLCHAIN_FILE=$curdir/cmake/toolchains/gcc.cmake -DCMAKE_C_FLAGS=\"-Werror -Wall -Wextra -Waddress -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wformat-security -Wformat-nonliteral -Wformat=2 -Wmissing-declarations -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wno-unused-parameter -Wpointer-arith -Wredundant-decls -Wshadow -Wundef -Wunused -Wwrite-strings -O -fno-strict-aliasing -Wuninitialized\" +-DCMAKE_TOOLCHAIN_FILE=$curdir/cmake/toolchains/clang.cmake -DCMAKE_C_FLAGS=\"-Wall -Werror -Qunused-arguments -Wno-self-assign -Wno-parentheses-equality -Wno-array-bounds\"" -options="--enable-diagnostic ---disable-shared ---disable-static --enable-python ---enable-snappy --enable-zlib --enable-lz4 ---with-builtins=lz4,snappy,zlib ---enable-diagnostic --enable-python ---enable-strict --disable-shared" +options="-DHAVE_DIAGNOSTIC=1 +-DENABLE_SHARED=0 -DENABLE_STATIC=1 +-DENABLE_STATIC=0 -DENABLE_PYTHON=1 +-DENABLE_SNAPPY=1 -DENABLE_ZLIB=1 -DENABLE_LZ4=1 +-DHAVE_BUILTIN_EXTENSION_LZ4=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 +-DHAVE_DIAGNOSTIC=1 -DENABLE_PYTHON=1 +-DENABLE_STRICT=1 -DENABLE_STATIC=1 -DENABLE_SHARED=0 -DWITH_PIC=1" saved_IFS=$IFS cr_IFS=" @@ -23,37 +54,31 @@ cr_IFS=" # This function may alter the current directory on failure BuildTest() { - extra_config=--enable-silent-rules echo "Building: $1, $2" rm -rf ./build || return 1 mkdir build || return 1 cd ./build - eval ../configure $extra_config "$1" "$2" \ - --prefix="$insdir" || return 1 - eval make "$3" || return 1 - make -C examples/c check VERBOSE=1 > /dev/null || return 1 - case "$2" in - # Skip the install step with Python. Even with --prefix, the - # install tries to write to /usr/lib64/python2.7/site-packages . - *enable-python* ) doinstall=false;; - # Non-shared doesn't yet work: library is not found at link step (??) - *disable-shared* ) doinstall=false;; - * ) doinstall=true;; - esac - if $doinstall; then - eval make install || return 1 - cflags=`pkg-config wiredtiger --cflags --libs` - [ "$1" == "CC=clang" ] && compiler="clang" || compiler="cc" - echo $compiler -o ./smoke ../examples/c/ex_smoke.c $cflags - $compiler -o ./smoke ../examples/c/ex_smoke.c $cflags|| return 1 - LD_LIBRARY_PATH=$insdir/lib ./smoke || return 1 + eval $CMAKE_BIN "$1" "$2" \ + -DCMAKE_INSTALL_PREFIX="$insdir" -G $GENERATOR ../. || return 1 + eval $GENERATOR_CMD $PARALLEL || return 1 + if [ "$GENERATOR" == "Unix\ Makefiles" ]; then + $GENERATOR_CMD -C examples/c VERBOSE=1 > /dev/null || return 1 + else + $GENERATOR_CMD examples/c/all > /dev/null || return 1 fi + eval $GENERATOR_CMD install || return 1 + (echo $2 | grep "ENABLE_SHARED=0") && wt_build="--static" || wt_build="" + cflags=`pkg-config wiredtiger $wt_build --cflags --libs` + [ "$1" == *"clang.cmake"* ] && compiler="clang" || compiler="cc" + echo $compiler -o ./smoke ../examples/c/ex_smoke.c $cflags + $compiler -o ./smoke ../examples/c/ex_smoke.c $cflags|| return 1 + LD_LIBRARY_PATH="$insdir/lib:$insdir/lib64" ./smoke || return 1 return 0 } ecode=0 insdir=`pwd`/installed -export PKG_CONFIG_PATH=$insdir/lib/pkgconfig +export PKG_CONFIG_PATH="$insdir/lib/pkgconfig:$insdir/lib64/pkgconfig" IFS="$cr_IFS" for flag in $flags ; do for option in $options ; do diff --git a/src/third_party/wiredtiger/test/evergreen/find_cmake.sh b/src/third_party/wiredtiger/test/evergreen/find_cmake.sh index 72866bd4b53..17d40b36a5c 100755 --- a/src/third_party/wiredtiger/test/evergreen/find_cmake.sh +++ b/src/third_party/wiredtiger/test/evergreen/find_cmake.sh @@ -1,6 +1,13 @@ #!/bin/sh set -o errexit # Exit the script with error if any of the commands fail +# CMake version we fallback to and download when cmake doesn't exist on the +# host system. +CMAKE_MAJOR_VER=3 +CMAKE_MINOR_VER=11 +CMAKE_PATCH_VER=0 +CMAKE_VERSION=$CMAKE_MAJOR_VER.$CMAKE_MINOR_VER.$CMAKE_PATCH_VER + # Adapted 'find_cmake' from mongo-c-driver evergreen infrastructure: # https://github.com/mongodb/mongo-c-driver/blob/master/.evergreen/find-cmake.sh find_cmake () @@ -17,16 +24,16 @@ find_cmake () CMAKE=cmake CTEST=ctest elif uname -a | grep -iq 'x86_64 GNU/Linux'; then - if [ -f "$(pwd)/cmake-3.11.0/bin/cmake" ]; then - CMAKE="$(pwd)/cmake-3.11.0/bin/cmake" - CTEST="$(pwd)/cmake-3.11.0/bin/ctest" + if [ -f "$(pwd)/cmake-$CMAKE_VERSION/bin/cmake" ]; then + CMAKE="$(pwd)/cmake-$CMAKE_VERSION/bin/cmake" + CTEST="$(pwd)/cmake-$CMAKE_VERSION/bin/ctest" return 0 fi - curl --retry 5 https://cmake.org/files/v3.11/cmake-3.11.0-Linux-x86_64.tar.gz -sS --max-time 120 --fail --output cmake.tar.gz - mkdir cmake-3.11.0 - tar xzf cmake.tar.gz -C cmake-3.11.0 --strip-components=1 - CMAKE=$(pwd)/cmake-3.11.0/bin/cmake - CTEST=$(pwd)/cmake-3.11.0/bin/ctest + curl --retry 5 https://cmake.org/files/v$CMAKE_MAJOR_VER.$CMAKE_MINOR_VER/cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz -sS --max-time 120 --fail --output cmake.tar.gz + mkdir cmake-$CMAKE_VERSION + tar xzf cmake.tar.gz -C cmake-$CMAKE_VERSION --strip-components=1 + CMAKE=$(pwd)/cmake-$CMAKE_VERSION/bin/cmake + CTEST=$(pwd)/cmake-$CMAKE_VERSION/bin/ctest elif [ -f "/cygdrive/c/cmake/bin/cmake" ]; then CMAKE="/cygdrive/c/cmake/bin/cmake" CTEST="/cygdrive/c/cmake/bin/ctest" @@ -40,9 +47,10 @@ find_cmake () # Some images have no cmake yet, or a broken cmake (see: BUILD-8570) echo "-- MAKE CMAKE --" CMAKE_INSTALL_DIR=$(readlink -f cmake-install) - curl --retry 5 https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz -sS --max-time 120 --fail --output cmake.tar.gz + if [ -d cmake-$CMAKE_VERSION ]; then rm -r cmake-$CMAKE_VERSION; fi + curl --retry 5 https://cmake.org/files/v$CMAKE_MAJOR_VER.$CMAKE_MINOR_VER/cmake-$CMAKE_VERSION.tar.gz -sS --max-time 120 --fail --output cmake.tar.gz tar xzf cmake.tar.gz - cd cmake-3.11.0 + cd cmake-$CMAKE_VERSION ./bootstrap --prefix="${CMAKE_INSTALL_DIR}" make -j8 make install diff --git a/src/third_party/wiredtiger/test/evergreen/import_compatibility_test.sh b/src/third_party/wiredtiger/test/evergreen/import_compatibility_test.sh index 3c3c8364d66..44692b65fcb 100755 --- a/src/third_party/wiredtiger/test/evergreen/import_compatibility_test.sh +++ b/src/third_party/wiredtiger/test/evergreen/import_compatibility_test.sh @@ -21,11 +21,20 @@ build_branch() git checkout --quiet "$1" - config="" - config+="--enable-snappy " - config+="--disable-standalone-build " - (sh build_posix/reconf && - ./configure $config && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + if [ "${build_sys[$1]}" == "cmake" ]; then + . ./test/evergreen/find_cmake.sh + config="" + config+="-DENABLE_SNAPPY=1 " + config+="-DWT_STANDALONE_BUILD=0 " + (mkdir build && cd build && + $CMAKE $config ../. && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + else + config="" + config+="--enable-snappy " + config+="--disable-standalone-build " + (mkdir build && cd build && sh ../build_posix/reconf && + ../configure $config && make -j $(grep -c ^processor /proc/cpuinfo)) > /dev/null + fi cd .. } @@ -38,8 +47,8 @@ create_file() echo "Branch \"$1\" creating and populating \"$2\"" echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - wt_cmd="$1/wt" - test_dir="$1/WT_TEST/" + wt_cmd="$1/build/wt" + test_dir="$1/build/WT_TEST/" uri="file:$2" # Make the home directory. @@ -60,12 +69,12 @@ import_file() echo "Importing file \"$3\" from \"$1\" to \"$2\"" echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - wt_cmd="$1/wt" - test_dir="$1/WT_TEST/" + wt_cmd="$1/build/wt" + test_dir="$1/build/WT_TEST/" mkdir -p $test_dir # Move the file across to the destination branch's home directory. - import_file="$2/WT_TEST/$3" + import_file="$2/build/WT_TEST/$3" cp $import_file $test_dir # Run import via the wt tool. @@ -82,8 +91,8 @@ verify_file() echo "Branch \"$1\" verifying \"$2\"" echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - wt_cmd="$1/wt" - test_dir="$1/WT_TEST/" + wt_cmd="$1/build/wt" + test_dir="$1/build/WT_TEST/" uri="file:$2" $wt_cmd -h $test_dir verify $uri @@ -93,7 +102,7 @@ verify_file() # 1: branch cleanup_branch() { - test_dir="$1/WT_TEST/" + test_dir="$1/build/WT_TEST/" if [ -d $test_dir ]; then rm -rf $test_dir fi @@ -123,10 +132,22 @@ import_compatibility_test() # # Before trying this, we must remove the base configuration. The wt tool produces this file # however MongoDB will not so we should emulate this. - rm $1/WT_TEST/WiredTiger.basecfg - $2/wt -h $1/WT_TEST/ dump file:test_import + rm $1/build/WT_TEST/WiredTiger.basecfg + $2/build/wt -h $1/build/WT_TEST/ dump file:test_import } +# The following associative array maps the 'official' build system to use for each branch. +# CMake build support is reliably mature in newer release branches, whilst earlier revisions +# primarily use Autoconf (note: some earlier branches may have CMake support, but these aren't +# considered 'mature' versions.) +declare -A build_sys +build_sys['develop']="cmake" +build_sys['mongodb-5.0']="autoconf" +build_sys['mongodb-4.4']="autoconf" +build_sys['mongodb-4.2']="autoconf" +build_sys['mongodb-4.0']="autoconf" +build_sys['mongodb-3.6']="autoconf" + # Release branches. # # Go all the way back to mongodb-4.2 since that's the first release where we don't support live diff --git a/src/third_party/wiredtiger/test/evergreen/run_format_configs.sh b/src/third_party/wiredtiger/test/evergreen/run_format_configs.sh index 4362e00af72..a29fb30edab 100755 --- a/src/third_party/wiredtiger/test/evergreen/run_format_configs.sh +++ b/src/third_party/wiredtiger/test/evergreen/run_format_configs.sh @@ -6,11 +6,12 @@ set -u +set -e # Switch to the Git repo toplevel directory cd $(git rev-parse --show-toplevel) - # Walk into the test/format directory -cd build_posix/test/format +cd cmake_build/test/format +set +e # Check the existence of 't' binary if [ ! -x "t" ]; then @@ -22,7 +23,7 @@ success=0 failure=0 # Cycle through format CONFIGs recorded under the "failure_configs" directory -for config in $(find ../../../test/format/failure_configs/ -name CONFIG.* | sort) +for config in $(find ../../../test/format/failure_configs/ -name "CONFIG.*" | sort) do echo -e "\nTesting CONFIG $config ...\n" if (./t -c $config); then diff --git a/src/third_party/wiredtiger/test/evergreen/verify_wt_datafiles.sh b/src/third_party/wiredtiger/test/evergreen/verify_wt_datafiles.sh index 68479d07f32..2a16240792f 100755 --- a/src/third_party/wiredtiger/test/evergreen/verify_wt_datafiles.sh +++ b/src/third_party/wiredtiger/test/evergreen/verify_wt_datafiles.sh @@ -27,7 +27,7 @@ fi cd $(git rev-parse --show-toplevel) # Walk into the test/format directory in which data files are generated -cd build_posix/test/format +cd cmake_build/test/format # Check the existence of 'WT_TEST' directories num_dirs=$(find . -type d -name 'WT_TEST.[0-9]*' | wc -l) @@ -37,7 +37,7 @@ if [ "${num_dirs}" -eq "0" ]; then fi # Check the existence of 'wt' binary -wt_binary="../../.libs/wt" +wt_binary="../../wt" if [ ! -x "${wt_binary}" ]; then echo "'wt' binary does not exist, exiting ..." exit 6 |