From 480ac301abef92c6b7701b3e846a2cb5e59f33af Mon Sep 17 00:00:00 2001 From: Jacob Bachmeyer Date: Sun, 2 Aug 2020 23:04:12 -0500 Subject: Move experimental Python unit test module to contrib/ --- ChangeLog | 4 +++ Makefile.am | 3 +- contrib/dejagnu.py | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ testsuite/dejagnu.py | 88 ---------------------------------------------------- 4 files changed, 94 insertions(+), 89 deletions(-) create mode 100644 contrib/dejagnu.py delete mode 100644 testsuite/dejagnu.py diff --git a/ChangeLog b/ChangeLog index 202ad21..87ed8e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,10 +5,14 @@ (baseboard_DATA): Sort baseboard file list. (baseboard_DATA): Add missing files. (dejagnu_TEXINFOS): New; add GNU FDL file. + (CONTRIB): Add experimental Python unit test module. * Makefile.in (TESTSUITE_FILES): Likewise. (baseboard_DATA): Likewise. + * testsuite/dejagnu.py: Move from here... + * contrib/dejagnu.py: ...to here. + 2020-08-02 Rob Savoye * Makefile.in: Regenerate so make dist works. diff --git a/Makefile.am b/Makefile.am index 997bbb4..361ae08 100644 --- a/Makefile.am +++ b/Makefile.am @@ -155,7 +155,8 @@ djlibexec_SCRIPTS = config.guess CONTRIB = contrib/compare_tests contrib/sum2junit.sh \ contrib/mysql/create-db.sql contrib/mysql/importxml.sh \ contrib/mysql/make-datafile.sh contrib/mysql/plot.sh \ - contrib/mysql/README contrib/mysql/sum2xml.sh + contrib/mysql/README contrib/mysql/sum2xml.sh \ + contrib/dejagnu.py # Testsuite. diff --git a/contrib/dejagnu.py b/contrib/dejagnu.py new file mode 100644 index 0000000..e2bfa2d --- /dev/null +++ b/contrib/dejagnu.py @@ -0,0 +1,88 @@ +#!/usr/bin/python3 +# +# Copyright (C) 2018, 2019, 2020 Free Software Foundation, 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 3 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, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# + + +class DejaGnu(object): + def __init__(self): + self.passed = 0 + self.failed = 0 + self.xfailed = 0 + self.xpassed = 0 + self.kfailed = 0 + self.kpassed = 0 + self.untested = 0 + self.unresolved = 0 + self.verbosity = 0 + + def verbose_level(self, level=0): + self.verbosity = level + + def verbose(self, msg="", level=0): + if self.verbosity > level: + print(msg) + + def fails(self, msg=""): + self.failed += 1 + print("FAIL: " + msg) + + def xfails(self, msg=""): + self.xfailed += 1 + print("XFAIL: " + msg) + + def untested(self, msg=""): + self.untested += 1 + print("UNTESTED: " + msg) + + def xpasses(self, msg=""): + self.xpassed += 1 + print("XPASS: " + msg) + + def passes(self, msg=""): + self.passed += 1 + print("PASS: " + msg) + + def matches(self, instr, expected, msg="", yes=True): + if instr == expected: + if yes == True: + self.passes(msg) + else: + self.xpasses(msg) + return True + else: + if yes == True: + self.fails(msg) + else: + self.xfails(msg) + # print("\tGot \'" + instr + "\', expected \'" + expected + "\'") + return False + + def totals(self): + print("\nTotals") + print("-------") + if self.passed > 0: + print("Total passed: %r " % self.passed) + if self.xpassed > 0: + print("Total Xpassed: %r " % self.xpassed) + if self.failed > 0: + print("Total failed: %r " % self.failed) + if self.xfailed > 0: + print("Total Xfailed: %r " % self.xfailed) + if self.untested > 0: + print("Total untested: %r " % self.untested) + if self.unresolved > 0: + print("Total unresolved: %r " % self.unresolved) diff --git a/testsuite/dejagnu.py b/testsuite/dejagnu.py deleted file mode 100644 index e2bfa2d..0000000 --- a/testsuite/dejagnu.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/python3 -# -# Copyright (C) 2018, 2019, 2020 Free Software Foundation, 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 3 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, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# - - -class DejaGnu(object): - def __init__(self): - self.passed = 0 - self.failed = 0 - self.xfailed = 0 - self.xpassed = 0 - self.kfailed = 0 - self.kpassed = 0 - self.untested = 0 - self.unresolved = 0 - self.verbosity = 0 - - def verbose_level(self, level=0): - self.verbosity = level - - def verbose(self, msg="", level=0): - if self.verbosity > level: - print(msg) - - def fails(self, msg=""): - self.failed += 1 - print("FAIL: " + msg) - - def xfails(self, msg=""): - self.xfailed += 1 - print("XFAIL: " + msg) - - def untested(self, msg=""): - self.untested += 1 - print("UNTESTED: " + msg) - - def xpasses(self, msg=""): - self.xpassed += 1 - print("XPASS: " + msg) - - def passes(self, msg=""): - self.passed += 1 - print("PASS: " + msg) - - def matches(self, instr, expected, msg="", yes=True): - if instr == expected: - if yes == True: - self.passes(msg) - else: - self.xpasses(msg) - return True - else: - if yes == True: - self.fails(msg) - else: - self.xfails(msg) - # print("\tGot \'" + instr + "\', expected \'" + expected + "\'") - return False - - def totals(self): - print("\nTotals") - print("-------") - if self.passed > 0: - print("Total passed: %r " % self.passed) - if self.xpassed > 0: - print("Total Xpassed: %r " % self.xpassed) - if self.failed > 0: - print("Total failed: %r " % self.failed) - if self.xfailed > 0: - print("Total Xfailed: %r " % self.xfailed) - if self.untested > 0: - print("Total untested: %r " % self.untested) - if self.unresolved > 0: - print("Total unresolved: %r " % self.unresolved) -- cgit v1.2.3