diff --git a/0001-Return-number-of-failed-tests-in-test_cases.py-docte.patch b/0001-Return-number-of-failed-tests-in-test_cases.py-docte.patch new file mode 100644 index 0000000..0fe166b --- /dev/null +++ b/0001-Return-number-of-failed-tests-in-test_cases.py-docte.patch @@ -0,0 +1,34 @@ +From 485cf06b8518d651ab5dbf69fb849a909a3a76b8 Mon Sep 17 00:00:00 2001 +From: Mike FABIAN +Date: Tue, 4 Jun 2019 12:39:14 +0200 +Subject: [PATCH] Return number of failed tests in test_cases.py doctests. + +--- + test_cases.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/test_cases.py b/test_cases.py +index efd1fda..b6fc4bc 100644 +--- a/test_cases.py ++++ b/test_cases.py +@@ -1,5 +1,7 @@ + # vim:fileencoding=utf-8:sw=4:et -*- coding: utf-8 -*- + ++import sys ++ + def dummy(): + u''' + >>> import langtable +@@ -1396,4 +1398,8 @@ def dummy(): + + if __name__ == "__main__": + import doctest +- doctest.testmod() ++ (FAILED, ATTEMPTED) = doctest.testmod() ++ if FAILED: ++ # Return number of failed tests: ++ sys.exit(FAILED) ++ sys.exit(0) +-- +2.21.0 + diff --git a/langtable.spec b/langtable.spec index 2f1d118..58b657b 100644 --- a/langtable.spec +++ b/langtable.spec @@ -9,6 +9,7 @@ Summary: Guessing reasonable defaults for locale, keyboard layout, territ License: GPLv3+ URL: https://github.com/mike-fabian/langtable Source0: https://github.com/mike-fabian/langtable/releases/download/%{version}/%{name}-%{version}.tar.gz +Patch0: 0001-Return-number-of-failed-tests-in-test_cases.py-docte.patch BuildArch: noarch BuildRequires: perl-interpreter BuildRequires: python3-devel @@ -32,6 +33,7 @@ from langtable-data. %prep %setup -q +%patch0 -p1 -b .0001-Return-number-of-failed-tests-in-test_cases.py-docte.patch %build perl -pi -e "s,_DATADIR = '(.*)',_DATADIR = '%{_datadir}/langtable'," langtable/langtable.py diff --git a/tests/scripts/run_tests.sh b/tests/scripts/run_tests.sh new file mode 100644 index 0000000..08970b9 --- /dev/null +++ b/tests/scripts/run_tests.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +check_return_value () { + if [ $1 != 0 ] ; then + exit $1 + fi +} + +PYTHON3_SITELIB=$(/usr/bin/python3 -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib())") + +xmllint --noout --relaxng \ + ${PYTHON3_SITELIB}/langtable/schemas/keyboards.rng \ + ${PYTHON3_SITELIB}/langtable/data/keyboards.xml.gz +check_return_value $? +xmllint --noout --relaxng \ + ${PYTHON3_SITELIB}/langtable/schemas/languages.rng \ + ${PYTHON3_SITELIB}/langtable/data/languages.xml.gz +check_return_value $? +xmllint --noout --relaxng \ + ${PYTHON3_SITELIB}/langtable/schemas/territories.rng \ + ${PYTHON3_SITELIB}/langtable/data/territories.xml.gz +check_return_value $? +xmllint --noout --relaxng \ + ${PYTHON3_SITELIB}/langtable/schemas/timezoneidparts.rng \ + ${PYTHON3_SITELIB}/langtable/data/timezoneidparts.xml.gz +check_return_value $? +xmllint --noout --relaxng \ + ${PYTHON3_SITELIB}/langtable/schemas/timezones.rng \ + ${PYTHON3_SITELIB}/langtable/data/timezones.xml.gz +check_return_value $? + +/usr/bin/python3 /usr/share/doc/langtable/test_cases.py +check_return_value $? diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..aaf3946 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,9 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + tests: + - simple: + dir: scripts/ + run: ./run_tests.sh