diff --git a/plans/smoke.fmf b/plans/smoke.fmf index 6faab89..a1e7bfd 100644 --- a/plans/smoke.fmf +++ b/plans/smoke.fmf @@ -1,9 +1,5 @@ summary: Basic smoke test discover: - how: shell - tests: - - name: /smoke/empty-grammar - test: | - echo 'non terminal bar; bar::=;' | cup + how: fmf execute: how: tmt diff --git a/tests/Sanity/smoke/empty.cup b/tests/Sanity/smoke/empty.cup new file mode 100644 index 0000000..479f98e --- /dev/null +++ b/tests/Sanity/smoke/empty.cup @@ -0,0 +1,2 @@ +non terminal bar; +bar::=; diff --git a/tests/Sanity/smoke/main.fmf b/tests/Sanity/smoke/main.fmf new file mode 100644 index 0000000..b9bed52 --- /dev/null +++ b/tests/Sanity/smoke/main.fmf @@ -0,0 +1,6 @@ +summary: java_cup smoke test +description: | + Test basic functionality of java_cup. +require: + - java_cup + - java-21-openjdk-devel diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh new file mode 100755 index 0000000..838cfcd --- /dev/null +++ b/tests/Sanity/smoke/runtest.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Author: Mikolaj Izdebski +. /usr/share/beakerlib/beakerlib.sh + +rlJournalStart + + rlPhaseStartTest "check for presence of cup command" + rlAssertRpm java_cup + rlAssertBinaryOrigin cup java_cup + rlPhaseEnd + + rlPhaseStartTest "display cup version" + rlRun -s "cup -version" 1 + rlAssertGrep "CUP v0" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "generate parser for empty grammar" + java_home=/usr/lib/jvm/java-21-openjdk/bin + jar=/usr/share/java/java_cup-runtime.jar + rlRun -s "cup empty.cup" + rlAssertGrep "0 errors and 0 warnings" $rlRun_LOG + rlAssertGrep "2 terminals, 1 non-terminal, and 2 productions declared" $rlRun_LOG + rlAssertGrep "Code written to" $rlRun_LOG + rlRun "javac -cp ${jar} parser.java sym.java" + rlPhaseEnd + +rlJournalEnd +rlJournalPrintText diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..99fd67e --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,4 @@ +contact: Mikolaj Izdebski +framework: beakerlib +test: ./runtest.sh +tier: 0