From 4bcc0d1daa6f71edbf9dfb777473868770be99ba Mon Sep 17 00:00:00 2001 From: Milos Prchlik Date: Tue, 16 Nov 2021 15:28:27 +0100 Subject: [PATCH] tests: convert to TMT --- .fmf/version | 1 + tests/build-gating.fmf | 25 +++++++++++ tests/integration-test-suite/runtest.sh | 38 ---------------- tests/python-embedded-interpreter/main.fmf | 5 +++ .../{runtest.sh => test.sh} | 6 ++- tests/tests.yml | 43 ------------------- 6 files changed, 35 insertions(+), 83 deletions(-) create mode 100644 .fmf/version create mode 100644 tests/build-gating.fmf delete mode 100755 tests/integration-test-suite/runtest.sh create mode 100644 tests/python-embedded-interpreter/main.fmf rename tests/python-embedded-interpreter/{runtest.sh => test.sh} (59%) delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/tests/build-gating.fmf b/tests/build-gating.fmf new file mode 100644 index 0000000..c5c9183 --- /dev/null +++ b/tests/build-gating.fmf @@ -0,0 +1,25 @@ +summary: lldb tests for build/PR gating +adjust: + - because: "Plan to be ran when either executed locally, or executed by CI system to gate a build or PR." + when: >- + trigger is defined + and trigger != commit + and trigger != build + enabled: false +discover: + - name: lldb-tests + how: fmf + - name: upstream-llvm-integration-testsuite + how: fmf + url: https://src.fedoraproject.org/rpms/llvm.git + ref: rawhide + test: integration-test-suite +execute: + how: tmt +prepare: + - name: packages + how: install + package: lldb +provision: + hardware: + memory: ">= 4 GiB" diff --git a/tests/integration-test-suite/runtest.sh b/tests/integration-test-suite/runtest.sh deleted file mode 100755 index 1af4e4a..0000000 --- a/tests/integration-test-suite/runtest.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/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/python-embedded-interpreter/main.fmf b/tests/python-embedded-interpreter/main.fmf new file mode 100644 index 0000000..e92273f --- /dev/null +++ b/tests/python-embedded-interpreter/main.fmf @@ -0,0 +1,5 @@ +summary: "Test lldb embedded interpreter (rhbz#1567262)" +test: ./test.sh +require: + - lldb + - gcc-c++ diff --git a/tests/python-embedded-interpreter/runtest.sh b/tests/python-embedded-interpreter/test.sh similarity index 59% rename from tests/python-embedded-interpreter/runtest.sh rename to tests/python-embedded-interpreter/test.sh index ce26e1b..45cd651 100755 --- a/tests/python-embedded-interpreter/runtest.sh +++ b/tests/python-embedded-interpreter/test.sh @@ -1,7 +1,9 @@ -#!/bin/bash +#!/bin/sh -eux -set -ex +# Verify the formal side of things, lldb should really depend on its Python bits. +rpm -q --requires lldb | grep python3-lldb +# Then verify things actually works. g++ -g test.cpp lldb -b -o 'breakpoint set --file test.cpp --line 7' -o run -o 'p v' -- a.out | tee lldb.log diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index ef52b16..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,43 +0,0 @@ -- hosts: localhost - pre_tasks: - # We want to be able to check that the sub-package dependencies are correct. - # The CI system installs all sub-packages, so we remove them so we can - # test them individually. - - name: Remove RPMS installed by CI - package: - name: - - python2-lldb - - lldb - - lldb-devel - state: absent - tags: classic - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - gcc-c++ - - lldb - # 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 - - libstdc++-static - - clang-devel - tests: - # rhbz#1567262 - - python-embedded-interpreter: - dir: python-embedded-interpreter - run: ./runtest.sh - - integration-test-suite