From 8e5048e657a0ac6d1e0faf361ff93e8634f2e36b Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Sat, 26 Aug 2023 09:54:00 +0200 Subject: [PATCH] Onboard package into gating --- .fmf/version | 1 + ci.fmf | 1 + gating.yaml | 9 +++++++ plans/javapackages.fmf | 7 +++++ plans/smoke.fmf | 5 ++++ tests/Sanity/smoke/main.fmf | 4 +++ tests/Sanity/smoke/runtest.sh | 48 +++++++++++++++++++++++++++++++++ tests/Sanity/smoke/smoke.jj | 50 +++++++++++++++++++++++++++++++++++ tests/main.fmf | 4 +++ 9 files changed, 129 insertions(+) create mode 100644 .fmf/version create mode 100644 ci.fmf create mode 100644 gating.yaml create mode 100644 plans/javapackages.fmf create mode 100644 plans/smoke.fmf create mode 100644 tests/Sanity/smoke/main.fmf create mode 100755 tests/Sanity/smoke/runtest.sh create mode 100644 tests/Sanity/smoke/smoke.jj create mode 100644 tests/main.fmf 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/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..7b6e38f --- /dev/null +++ b/gating.yaml @@ -0,0 +1,9 @@ +--- !Policy +product_versions: + - fedora-* +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/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..0cbb629 --- /dev/null +++ b/plans/javapackages.fmf @@ -0,0 +1,7 @@ +summary: Run javapackages-specific tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/javapackages + ref: f39 +execute: + how: tmt 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..0ff8dc2 --- /dev/null +++ b/tests/Sanity/smoke/main.fmf @@ -0,0 +1,4 @@ +summary: javacc smoke test +description: | + Test basic functionality of javacc. +require: java-devel diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh new file mode 100755 index 0000000..2dec9db --- /dev/null +++ b/tests/Sanity/smoke/runtest.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Author: Mikolaj Izdebski +. /usr/share/beakerlib/beakerlib.sh + +rlJournalStart + + rlPhaseStartTest "check for presence of javacc commands" + rlAssertRpm javacc + rlAssertBinaryOrigin javacc javacc + rlAssertBinaryOrigin javacc.sh javacc + rlAssertBinaryOrigin jjtree javacc + rlAssertBinaryOrigin jjdoc javacc + rlPhaseEnd + + rlPhaseStartTest "display javacc version" + rlRun -s "javacc" 1 + rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG + rlAssertGrep "Parser Generator" $rlRun_LOG + rlRun -s "javacc.sh" 1 + rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG + rlAssertGrep "Parser Generator" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display jjtree version" + rlRun -s "jjtree" 1 + rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG + rlAssertGrep "Tree Builder" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display jjdoc version" + rlRun -s "jjdoc" 1 + rlAssertGrep "^Java Compiler Compiler Version" $rlRun_LOG + rlAssertGrep "Documentation Generator" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "generate, compile and run a simple parser" + rlRun -s "javacc smoke.jj" + rlAssertExists "Smoke.java" + rlRun -s "javac *.java" + rlRun -s "java -cp . Smoke '{}'" + rlAssertNotGrep "." $rlRun_LOG + rlRun -s "java -cp . Smoke '{{}'" 1 + rlAssertGrep "ParseException" $rlRun_LOG + rlAssertGrep "EOF" $rlRun_LOG + rlPhaseEnd + +rlJournalEnd +rlJournalPrintText diff --git a/tests/Sanity/smoke/smoke.jj b/tests/Sanity/smoke/smoke.jj new file mode 100644 index 0000000..22977d7 --- /dev/null +++ b/tests/Sanity/smoke/smoke.jj @@ -0,0 +1,50 @@ +options { + LOOKAHEAD = 1; + CHOICE_AMBIGUITY_CHECK = 2; + OTHER_AMBIGUITY_CHECK = 1; + STATIC = true; + DEBUG_PARSER = false; + DEBUG_LOOKAHEAD = false; + DEBUG_TOKEN_MANAGER = false; + ERROR_REPORTING = true; + JAVA_UNICODE_ESCAPE = false; + UNICODE_INPUT = false; + IGNORE_CASE = false; + USER_TOKEN_MANAGER = false; + USER_CHAR_STREAM = false; + BUILD_PARSER = true; + BUILD_TOKEN_MANAGER = true; + SANITY_CHECK = true; + FORCE_LA_CHECK = false; +} + +PARSER_BEGIN(Smoke) + +/** + * Simple brace matcher. + */ +public class Smoke { + + /** Main entry point. */ + public static void main(String args[]) throws ParseException { + Smoke parser = new Smoke(new java.io.StringReader(args[0])); + parser.Input(); + } + +} + +PARSER_END(Smoke) + +/** Root production. */ +void Input() : +{} +{ + MatchedBraces() ("\n"|"\r")* +} + +/** Brace matching production. */ +void MatchedBraces() : +{} +{ + "{" [ MatchedBraces() ] "}" +} 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