| # Testing for the Jenkins monorepo_build.py script |
| # |
| # RUN: export TESTING=1 |
| # RUN: export JOB_NAME="FOO" |
| # RUN: export BUILD_NUMBER=321 |
| # RUN: export BRANCH=master |
| # Tell monorepo_build.py to just print commands instead of running. |
| # RUN: mkdir -p %t.SANDBOX/host-compiler/lib %t.SANDBOX/host-compiler/bin %t.SANDBOX/llvm-project/llvm %t.SANDBOX/llvm-project/clang %t.SANDBOX/llvm-project/libcxx %t.SANDBOX/llvm-project/compiler-rt %t.SANDBOX/llvm-project/debuginfo-tests %t.SANDBOX/llvm-project/clang-tools-extra %t.SANDBOX/llvm-project/lldb |
| # RUN: touch %t.SANDBOX/host-compiler/bin/clang |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang all > %t.log |
| # RUN: FileCheck --check-prefix CHECK-SIMPLE < %t.log %s |
| # CHECK-SIMPLE: @@@ Build Directory @@@ |
| # CHECK-SIMPLE: cd |
| # CHECK-SIMPLE: 'mkdir' '-p' |
| # CHECK-SIMPLE: @@@@@@ |
| # CHECK-SIMPLE: @@@ Build Clang @@@ |
| # CHECK-SIMPLE: cd |
| # CHECK-SIMPLE: 'mkdir' './Build' './Root' |
| # CHECK-SIMPLE: cd |
| # CHECK-SIMPLE: '/usr/local/bin/cmake' '-G' 'Ninja' '-C' |
| # CHECK-SIMPLE: '-DLLVM_ENABLE_ASSERTIONS:BOOL=FALSE' |
| # CHECK-SIMPLE: '-DCMAKE_BUILD_TYPE=RelWithDebInfo' |
| # CHECK-SIMPLE: '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;compiler-rt;libcxx' |
| # CHECK-SIMPLE: '-DCMAKE_MAKE_PROGRAM=/usr/local/bin/ninja' |
| # CHECK-SIMPLE: '-DLLVM_VERSION_PATCH=99' |
| # CHECK-SIMPLE: '-DLLVM_VERSION_SUFFIX=""' |
| # CHECK-SIMPLE: '-DLLVM_BUILD_EXTERNAL_COMPILER_RT=On' |
| # CHECK-SIMPLE: '-DCLANG_COMPILER_RT_CMAKE_ARGS |
| # CHECK-SIMPLE: Apple.cmake' |
| # CHECK-SIMPLE: '-DCOMPILER_RT_BUILD_SANITIZERS=On' |
| # CHECK-SIMPLE: '-DCMAKE_INSTALL_PREFIX |
| # CHECK-SIMPLE: '-DCLANG_APPEND_VC_REV=On' |
| # CHECK-SIMPLE: '-DLLVM_BUILD_TESTS=On' |
| # CHECK-SIMPLE: '-DLLVM_INCLUDE_TESTS=On' |
| # CHECK-SIMPLE: '-DCLANG_INCLUDE_TESTS=On' |
| # CHECK-SIMPLE: '-DLLVM_INCLUDE_UTILS=On' |
| # CHECK-SIMPLE: '-DCMAKE_MACOSX_RPATH=On' |
| # CHECK-SIMPLE: '-DLLVM_ENABLE_LTO=Off |
| # CHECK-SIMPLE-NOT: -DLLVM_PARALLEL_LINK_JOBS |
| # CHECK-SIMPLE: @@@@@@ |
| # CHECK-SIMPLE: @@@ Ninja @@@ |
| # CHECK-SIMPLE: cd |
| # CHECK-SIMPLE: '/usr/local/bin/ninja' '-v' 'install' |
| # CHECK-SIMPLE: @@@@@@ |
| # CHECK-SIMPLE: @@@ Tests @@@ |
| |
| # CHECK-SIMPLE: cd |
| # CHECK-SIMPLE: 'env' 'MALLOC_LOG_FILE=/dev/null' '/usr/local/bin/ninja' '-v' '-k' '0' 'check-all' |
| |
| # Now Check Assertion Builds have --enable assertions |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang all --assertions > %t-assert.log |
| # RUN: FileCheck --check-prefix CHECK-ASSERT < %t-assert.log %s |
| # CHECK-ASSERT: '/usr/local/bin/cmake' '-G' 'Ninja' '-C' |
| # CHECK-ASSERT: '-DLLVM_ENABLE_ASSERTIONS:BOOL=TRUE' |
| |
| # Check that sccache is enabled when --sccache arg is passed |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang all --sccache > %t-sccache.log |
| # RUN: FileCheck --check-prefix CHECK-SCCACHE < %t-sccache.log %s |
| # CHECK-SCCACHE: '/usr/local/bin/cmake' '-G' 'Ninja' '-C' |
| # CHECK-SCCACHE: '-DCMAKE_C_COMPILER_LAUNCHER=/usr/local/bin/sccache' |
| # CHECK-SCCACHE: '-DCMAKE_CXX_COMPILER_LAUNCHER=/usr/local/bin/sccache' |
| |
| # Check LTO |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang all --lto > %t-lto.log |
| # RUN: FileCheck --check-prefix CHECK-LTO < %t-lto.log %s |
| # CHECK-LTO: -DLLVM_PARALLEL_LINK_JOBS |
| # CHECK-LTO-NOT:: '-DLLVM_ENABLE_LTO=Off |
| |
| # Now try just a build |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang build --lto |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang build |
| |
| # Just a test |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang test |
| |
| # CMake |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --debug > %t-cmake.log |
| # RUN: FileCheck --check-prefix CHECK-CMAKE < %t-cmake.log %s |
| # CHECK-CMAKE: '/usr/local/bin/cmake' '-G' 'Ninja' |
| # CHECK-CMAKE: -DLLVM_BUILD_EXAMPLES=On |
| # CHECK-CMAKE: '-DCMAKE_BUILD_TYPE=Debug' |
| # CHECK-CMAKE: '-DLLVM_ENABLE_ASSERTIONS=Off' |
| # CHECK-CMAKE: -DLLVM_LIT_ARGS=--xunit-xml-output=testresults.xunit.xml -v -vv --timeout=600 |
| # CHECK-CMAKE: '/usr/local/bin/ninja' '-v' 'all' |
| # CHECK-CMAKE: '/usr/local/bin/ninja' '-v' '-k' '0' 'check-all' |
| |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake build |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake test |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake testlong |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --lto | FileCheck --check-prefix CHECK-CMAKELTO %s |
| # CHECK-CMAKELTO: '/usr/local/bin/cmake' '-G' 'Ninja' |
| # CHECK-CMAKELTO: '-DLLVM_BUILD_EXAMPLES=Off' |
| # CHECK-CMAKELTO-NOT:: '-DLLVM_ENABLE_LTO=Off |
| # CHECK-CMAKELTO: '-DLLVM_PARALLEL_LINK_JOBS=1' |
| # CHECK-CMAKELTO: '-DCMAKE_BUILD_TYPE=Release' |
| |
| # RUN: env MAX_PARALLEL_LINKS=2 python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --lto | FileCheck --check-prefix CHECK-CMAKE-PAR-LTO %s |
| # CHECK-CMAKE-PAR-LTO: '/usr/local/bin/cmake' '-G' 'Ninja' |
| # CHECK-CMAKE-PAR-LTO: '-DLLVM_BUILD_EXAMPLES=Off' |
| # CHECK-CMAKE-PAR-LTO-NOT:: '-DLLVM_ENABLE_LTO=Off |
| # CHECK-CMAKE-PAR-LTO: '-DLLVM_PARALLEL_LINK_JOBS=2' |
| # CHECK-CMAKE-PAR-LTO: '-DCMAKE_BUILD_TYPE=Release' |
| |
| # RUN: env MAX_PARALLEL_TESTS=2 python %{src_root}/zorg/jenkins/monorepo_build.py cmake all | FileCheck --check-prefix CHECK-CMAKE-2-TESTS %s |
| # CHECK-CMAKE-2-TESTS: '/usr/local/bin/cmake' '-G' 'Ninja' |
| # CHECK-CMAKE-2-TESTS: '-DLLVM_LIT_ARGS=--xunit-xml-output=testresults.xunit.xml -v -vv --timeout=600 -j 2' |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --cmake-type=RelWithDebugInfo | FileCheck --check-prefix CHECK-CMAKE-UPLOADS %s |
| # CHECK-CMAKE-UPLOADS: @@@ Uploading Artifact @@@ |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py static-analyzer-benchmarks | FileCheck --check-prefix CHECK-STATIC-ANALYZER-BENCHMARKS %s |
| # CHECK-STATIC-ANALYZER-BENCHMARKS: @@@ Static Analyzer Benchmarks @@@ |
| # CHECK-STATIC-ANALYZER-BENCHMARKS: cd [[WORKSPACE:.*]]/test-suite-ClangAnalyzer/ |
| # CHECK-STATIC-ANALYZER-BENCHMARKS: '[[WORKSPACE]]/utils-analyzer/SATestBuild.py' '--strictness' '0' |
| # CHECK-STATIC-ANALYZER-BENCHMARKS: @@@@@@ |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --globalisel | FileCheck --check-prefix CHECK-GISEL %s |
| # CHECK-GISEL: '/usr/local/bin/cmake' '-G' 'Ninja' |
| # CHECK-GISEL: '-DLLVM_BUILD_GLOBAL_ISEL=ON' |
| |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py clang all --lto --cmake-flag="-DFOO" | FileCheck --check-prefix CHECK-CMAKEFLAGS %s |
| # CHECK-CMAKEFLAGS: '-DFOO' |
| |
| # Make sure you can pass new build targetss. |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake build --cmake-build-target foo --cmake-build-target bar | FileCheck --check-prefix CHECK-BTARGETS %s |
| # CHECK-BTARGETS: '/usr/local/bin/ninja' '-v' 'foo' 'bar' |
| |
| # Make sure you can pass new test targets. |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake test --cmake-test-target foo --cmake-test-target bar | FileCheck --check-prefix CHECK-TTARGETS %s |
| # CHECK-TTARGETS: '/usr/local/bin/ninja' '-v' '-k' '0' 'foo' 'bar' |
| |
| # Test long should always do check-all, since that is what many bots expect. |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake testlong | FileCheck --check-prefix CHECK-TTARGETS2 %s |
| # CHECK-TTARGETS2: '/usr/local/bin/ninja' '-v' '-k' '0' 'check-all' |
| |
| # Test to check if timeout flag is actually being set. |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all --timeout=900 > %t-timeout.log |
| # RUN: FileCheck --check-prefix CHECK-TIMEOUT < %t-timeout.log %s |
| # CHECK-TIMEOUT: --timeout=900 |
| |
| # Test to check if default timeout is being set to 600. |
| # RUN: python %{src_root}/zorg/jenkins/monorepo_build.py cmake all > %t-timeout-default.log |
| # RUN: FileCheck --check-prefix CHECK-TIMEOUT-DEFAULT < %t-timeout-default.log %s |
| # CHECK-TIMEOUT-DEFAULT: --timeout=600 |