diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 00000000..dcb78c2b --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,5 @@ +summary: Basic analysis tests +discover: + how: fmf +execute: + how: tmt diff --git a/tests/simple_build/clang.fmf b/tests/simple_build/clang.fmf new file mode 100644 index 00000000..0825c8c0 --- /dev/null +++ b/tests/simple_build/clang.fmf @@ -0,0 +1,11 @@ +summary: Test analysis using Clang analyzer +test: ./test.sh +framework: beakerlib +environment: + TEST_PACKAGE: units + TEST_TOOL: clang +component: + - csmock-plugin-clang +recommend: + - csmock-plugin-clang +duration: 1h diff --git a/tests/simple_build/test.sh b/tests/simple_build/test.sh new file mode 100755 index 00000000..f91b6178 --- /dev/null +++ b/tests/simple_build/test.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +TEST_PACKAGE="${TEST_PACKAGE:-}" +TEST_TOOL="${TEST_TOOL:-}" +TEST_USER="csmock" + +rlJournalStart + rlPhaseStartSetup + if [ -z "$TEST_PACKAGE" ]; then + rlDie "TEST_PACKAGE parameter is empty or undefined" + fi + + if [ -z "$TEST_TOOL" ]; then + rlDie "TEST_TOOL parameter is empty or undefined" + fi + + rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" + rlRun "pushd \$tmp" + + rlRun "dnf -y install $TEST_PACKAGE" 0-255 + rlRun "rlFetchSrcForInstalled $TEST_PACKAGE" + rlRun "SRPM=\$(find . -name '$TEST_PACKAGE-*.src.rpm')" + + rlRun "userdel -r $TEST_USER" 0,6 + rlRun "useradd -m -d /home/$TEST_USER -G mock $TEST_USER" + rlRun "cp $SRPM /home/$TEST_USER" + rlPhaseEnd + + rlPhaseStartTest + rlRun "su - $TEST_USER -c 'csmock -t $TEST_TOOL \"$SRPM\"'" 0 \ + "Analyze $SRPM using $TEST_TOOL analyzer" + rlFileSubmit "$TEST_PACKAGE"-*.tar.xz "$TEST_TOOL-$SRPM" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "userdel -r $TEST_USER" + rlRun "popd" + rlRun "rm -r \$tmp" 0 "Remove tmp directory" + rlPhaseEnd +rlJournalEnd