diff --git a/tests/integration-test-suite/runtest.sh b/tests/integration-test-suite/runtest.sh new file mode 100755 index 0000000..1af4e4a --- /dev/null +++ b/tests/integration-test-suite/runtest.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +usage() { + echo "usage `basename $0` [OPTIONS]" + echo " --threads NUM The number of threads to use for running tests." +} + +thread_args="" +repo_url=https://github.com/opencollab/llvm-toolchain-integration-test-suite + +while [ $# -gt 0 ]; do + case $1 in + --threads) + shift + threads="$1" + ;; + * ) + echo "unknown option: $1" + echo "" + usage + exit 1 + ;; + esac + shift +done + +if [ -n "$threads" ]; then + thread_args="-j$threads" +fi + +set -xe + +cd $(mktemp -d -p /var/tmp) +git clone $repo_url +cd llvm-toolchain-integration-test-suite +mkdir _build && cd _build +cmake .. -GNinja +ninja $thread_args check diff --git a/tests/regression-tests/runtest.sh b/tests/regression-tests/runtest.sh deleted file mode 100755 index 42aa9b5..0000000 --- a/tests/regression-tests/runtest.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -ex - -cmd='/usr/libexec/tests/llvm/run-lit-tests --threads 1' -if [ `id -u` -eq 0 ]; then - # lit tests can't be run as root, so we need to run as a different user - user='llvm-regression-tests' - if ! id -u $user; then - useradd $user - fi - su $user -c "$cmd" - cmd="su $user -c $cmd" -else - exec $cmd -fi diff --git a/tests/tests.yml b/tests/tests.yml index 651e217..4bcb4ca 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -4,13 +4,25 @@ tags: - classic required_packages: - - llvm-test - rust - cargo - - clang - binutils + # the requirements below are for the integration suite + - cmake + - llvm-devel + - clang + - clang-analyzer + - clang-tools-extra + - compiler-rt + - ninja-build + - libcxx-devel + - libomp-devel + - python-lit + - lld + - lldb + - git + - make tests: - - regression-tests - rust-sanity: dir: ./ run: cargo new hello && cd hello && cargo run @@ -33,3 +45,4 @@ - llvm-config: dir: ./ run: llvm-config --version + - integration-test-suite