summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYevhenii Shapovalov <yshapova@redhat.com>2017-12-04 18:26:29 +0200
committerYevhenii Shapovalov <yshapova@redhat.com>2017-12-04 18:26:29 +0200
commit1372b0f71edf17d2c410603a64562cb06ba86617 (patch)
tree4991bfac0d46beb806f49dd530b6bc011054b14e
parent6e392dda98d3c402e140ca274df023cb2ac19f24 (diff)
downloadm4-1372b0f71edf17d2c410603a64562cb06ba86617.tar.gz
m4-1372b0f71edf17d2c410603a64562cb06ba86617.tar.xz
m4-1372b0f71edf17d2c410603a64562cb06ba86617.zip
add_testsHEADadd_tests
-rw-r--r--tests/tests.yml16
-rw-r--r--tests/testsuite/Makefile62
-rw-r--r--tests/testsuite/PURPOSE3
-rw-r--r--tests/testsuite/runtest.sh78
4 files changed, 159 insertions, 0 deletions
diff --git a/tests/tests.yml b/tests/tests.yml
new file mode 100644
index 0000000..fce17d1
--- /dev/null
+++ b/tests/tests.yml
@@ -0,0 +1,16 @@
+---
+# Tests for Classic and Container
+- hosts: localhost
+ roles:
+ - role: standard-test-beakerlib
+ tags:
+ - classic
+ - container
+ tests:
+ - testsuite
+ required_packages:
+ - autoconf
+ - automake
+ - rpm-build
+ - wget
+
diff --git a/tests/testsuite/Makefile b/tests/testsuite/Makefile
new file mode 100644
index 0000000..d39ae45
--- /dev/null
+++ b/tests/testsuite/Makefile
@@ -0,0 +1,62 @@
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Makefile of /tools/m4/Regression/testsuite
+# Description: testsuite
+# Author: Martin Cermak <mcermak@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2015 Red Hat, Inc.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see http://www.gnu.org/licenses/.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+export TEST=/tools/m4/Regression/testsuite
+export TESTVERSION=1.0
+
+BUILT_FILES=
+
+FILES=$(METADATA) runtest.sh Makefile PURPOSE
+
+.PHONY: all install download clean
+
+run: $(FILES) build
+ ./runtest.sh
+
+build: $(BUILT_FILES)
+ test -x runtest.sh || chmod a+x runtest.sh
+
+clean:
+ rm -f *~ $(BUILT_FILES)
+
+
+include /usr/share/rhts/lib/rhts-make.include
+
+$(METADATA): Makefile
+ @echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
+ @echo "Name: $(TEST)" >> $(METADATA)
+ @echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
+ @echo "Path: $(TEST_DIR)" >> $(METADATA)
+ @echo "Description: testsuite" >> $(METADATA)
+ @echo "Type: Regression" >> $(METADATA)
+ @echo "TestTime: 3h" >> $(METADATA)
+ @echo "RunFor: m4" >> $(METADATA)
+ @echo "Requires: m4" >> $(METADATA)
+ @echo "Priority: Normal" >> $(METADATA)
+ @echo "License: GPLv2+" >> $(METADATA)
+ @echo "Confidential: no" >> $(METADATA)
+ @echo "Destructive: no" >> $(METADATA)
+
+ rhts-lint $(METADATA)
diff --git a/tests/testsuite/PURPOSE b/tests/testsuite/PURPOSE
new file mode 100644
index 0000000..a8326f1
--- /dev/null
+++ b/tests/testsuite/PURPOSE
@@ -0,0 +1,3 @@
+PURPOSE of /tools/m4/Regression/testsuite
+Description: testsuite
+Author: Martin Cermak <mcermak@redhat.com>
diff --git a/tests/testsuite/runtest.sh b/tests/testsuite/runtest.sh
new file mode 100644
index 0000000..b45984a
--- /dev/null
+++ b/tests/testsuite/runtest.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# runtest.sh of /tools/m4/Regression/testsuite
+# Description: testsuite
+# Author: Martin Cermak <mcermak@redhat.com>
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#
+# Copyright (c) 2015 Red Hat, Inc.
+#
+# This program is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see http://www.gnu.org/licenses/.
+#
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+# Include Beaker environment
+. /usr/bin/rhts-environment.sh || exit 1
+. /usr/share/beakerlib/beakerlib.sh || exit 1
+
+PACKAGE="m4"
+
+rlJournalStart
+ rlPhaseStartSetup
+ rlAssertRpm $PACKAGE
+ rlRun "TMPD=$(mktemp -d)"
+ rlRun "pushd $TMPD"
+ rlFetchSrcForInstalled $PACKAGE
+ rlRun "rpm --define='_topdir $TMPD' -Uvh m4-*src.rpm"
+ rlPhaseEnd
+
+ rlPhaseStart FAIL "Build the source"
+ rlRun "rpmbuild --define='_topdir $TMPD' -bc SPECS/m4.spec > stdout.log 2> stderr.log"
+ rlRun "test -f stderr.log && cat stderr.log || true"
+ rlFileSubmit stdout.log
+ rlFileSubmit stderr.log
+ rlPhaseEnd
+
+ rlPhaseStart FAIL "Run tests"
+ rlRun "pushd $TMPD/BUILD/m4-*"
+ # el7 package creates couple tests/*log files (per testcase)
+ # el6 package doesn't, so we'll create some explicitly
+ rlRun "make check > tests/testout.log 2> tests/testerr.log"
+ rlFileSubmit testout.log
+ rlFileSubmit testerr.log
+ rlPhaseEnd
+
+ rlPhaseStart FAIL "Check for at least one PASSed test"
+ rlRun "[[ $(grep ^PASS tests/*log | wc -l) -ge 1 ]]"
+ rlPhaseEnd
+
+ rlPhaseStart FAIL "Check for no FAILed test"
+ rlRun "[[ $(cat tests/*log | grep -i FAIL | grep -P -v '^#' | wc -l) -eq 0 ]]"
+ rlPhaseEnd
+
+ rlPhaseStart FAIL "Show test results summary"
+ test -f tests/test-suite.log && \
+ rlRun "cat tests/test-suite.log" || \
+ rlLogInfo "No summary available."
+ rlPhaseEnd
+
+ rlPhaseStartCleanup
+ rlRun "popd -2"
+ rlRun "rm -r $TMPD"
+ rlPhaseEnd
+rlJournalPrintText
+rlJournalEnd