From c0e8b271846e2ce700e1a4e08b894385c66acebc Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Feb 09 2024 15:01:36 +0000 Subject: Implement basic smoke test --- diff --git a/gating.yaml b/gating.yaml index 0d484d7..7b6e38f 100644 --- a/gating.yaml +++ b/gating.yaml @@ -5,4 +5,5 @@ decision_contexts: - bodhi_update_push_testing - bodhi_update_push_stable rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..a1e7bfd --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/Sanity/smoke/main.fmf b/tests/Sanity/smoke/main.fmf new file mode 100644 index 0000000..aa4593e --- /dev/null +++ b/tests/Sanity/smoke/main.fmf @@ -0,0 +1,6 @@ +summary: XMvn smoke test +description: | + Test basic functionality of XMvn. +require: + - maven-dependency-plugin + - junit diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh new file mode 100755 index 0000000..dda3989 --- /dev/null +++ b/tests/Sanity/smoke/runtest.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# Author: Mikolaj Izdebski +. /usr/share/beakerlib/beakerlib.sh + +rlJournalStart + + rlPhaseStartTest "check for presence of XMvn commands" + rlAssertRpm xmvn + rlAssertRpm xmvn-minimal + rlAssertRpm xmvn-tools + rlAssertBinaryOrigin xmvn xmvn-minimal + rlAssertBinaryOrigin xmvn-install xmvn-tools + rlAssertBinaryOrigin xmvn-resolve xmvn-tools + rlAssertBinaryOrigin xmvn-subst xmvn-tools + rlPhaseEnd + + rlPhaseStartTest "display xmvn version" + rlRun -s "xmvn --version" + rlAssertGrep "^Apache Maven " $rlRun_LOG + rlAssertGrep "^Maven home: " $rlRun_LOG + rlAssertGrep "^Java version:" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn help" + rlRun -s "xmvn --help" + rlAssertGrep "Comma-delimited list of" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-install help" + rlRun -s "xmvn-install --help" + rlAssertGrep "^xmvn-install: Install artifacts" $rlRun_LOG + rlAssertGrep "^Usage: xmvn-install" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-resolve help" + rlRun -s "xmvn-resolve --help" + rlAssertGrep "^xmvn-resolve: Resolve artifacts from system repository" $rlRun_LOG + rlAssertGrep "^Usage: xmvn-resolve" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-subst help" + rlRun -s "xmvn-subst --help" + rlAssertGrep "^xmvn-subst: Substitute artifact files with symbolic links" $rlRun_LOG + rlAssertGrep "^Usage: xmvn-subst" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "resolve local artifact" + rlRun "rm -rf $HOME/.m2/repository/junit/junit/4.12/" + rlAssertNotExists $HOME/.m2/repository/junit/junit/4.12/junit-4.12.jar + rlRun -s "xmvn -Dxmvn.debug=1 -B dependency:get -Dartifact=junit:junit:4.12" + rlAssertGrep "BUILD SUCCESS" $rlRun_LOG + rlAssertGrep "Resolving junit:junit:jar:4.12 with transitive dependencies" $rlRun_LOG + rlAssertGrep "Trying to resolve artifact junit:junit:jar:4.12" $rlRun_LOG + rlAssertGrep "Artifact junit:junit:jar:4.12 was resolved to /usr/share/java/" $rlRun_LOG + rlAssertNotExists $HOME/.m2/repository/junit/junit/4.12/junit-4.12.jar + rlPhaseEnd + + rlPhaseStartTest "download remote artifact" + rlRun "rm -rf $HOME/.m2/repository/turbine/turbine/2.1/" + rlAssertNotExists $HOME/.m2/repository/turbine/turbine/2.1/turbine-2.1.jar + rlRun -s "xmvn -Dxmvn.debug=1 -B dependency:get -Dartifact=turbine:turbine:2.1" + rlAssertGrep "BUILD SUCCESS" $rlRun_LOG + rlAssertGrep "Resolving turbine:turbine:jar:2.1 with transitive dependencies" $rlRun_LOG + rlAssertGrep "Trying to resolve artifact turbine:turbine:jar:2.1" $rlRun_LOG + rlAssertGrep "Failed to resolve artifact: turbine:turbine:jar:2.1" $rlRun_LOG + rlAssertExists $HOME/.m2/repository/turbine/turbine/2.1/turbine-2.1.jar + rlPhaseEnd + +rlJournalEnd +rlJournalPrintText diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..9e2ea10 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,4 @@ +contact: Mikolaj Izdebski +framework: beakerlib +test: ./runtest.sh +tier: 1