From 47d397f1ec2b7f3f99a32d1d2162b86b387b1c46 Mon Sep 17 00:00:00 2001 From: Vassilii Khachaturov Date: Wed, 24 Jul 2013 06:30:59 +0000 Subject: [PATCH] Reviving RunAllTests.py on trunk Porting my fix from gramps40: git diff gramps40^ gramps40 | git apply svn: r22730 --- test/GrampsDb/Cursor_Test.py | 6 +- test/GrampsDb/GrampsDbBase_Test.py | 5 +- test/GrampsDb/GrampsDbTestBase.py | 8 +-- .../GrampsLogger/ErrorReportAssistant_Test.py | 19 +++---- test/GrampsLogger/GtkHandler_Test.py | 19 +++---- test/GrampsLogger/RotateLogger_Test.py | 9 +-- test/LosHawlos_bsddbtest.py | 2 +- test/LosHawlos_dbtest.py | 2 +- test/RelLib/RelLib_Test.py | 57 ------------------- test/RunAllTests.py | 16 +++--- 10 files changed, 39 insertions(+), 104 deletions(-) delete mode 100644 test/RelLib/RelLib_Test.py diff --git a/test/GrampsDb/Cursor_Test.py b/test/GrampsDb/Cursor_Test.py index e2ea924e8..935293a3e 100644 --- a/test/GrampsDb/Cursor_Test.py +++ b/test/GrampsDb/Cursor_Test.py @@ -31,20 +31,18 @@ import traceback import sys from bsddb import dbshelve, db -sys.path.append('../../src') +sys.path.append('../../gramps') try: set() except NameError: from sets import Set as set -import const -import RelLib +import gramps.gen.const logger = logging.getLogger('Gramps.GrampsDbBase_Test') from GrampsDbTestBase import GrampsDbBaseTest -import GrampsDb class Data(object): diff --git a/test/GrampsDb/GrampsDbBase_Test.py b/test/GrampsDb/GrampsDbBase_Test.py index 729264aee..2b951e2ef 100644 --- a/test/GrampsDb/GrampsDbBase_Test.py +++ b/test/GrampsDb/GrampsDbBase_Test.py @@ -30,15 +30,14 @@ import time import traceback import sys -sys.path.append('../../src') +sys.path.append(os.path.join(os.path.dirname(__file__), '../../gramps')) try: set() except NameError: from sets import Set as set -import const -import gen.lib +import gramps.gen.lib logger = logging.getLogger('Gramps.GrampsDbBase_Test') diff --git a/test/GrampsDb/GrampsDbTestBase.py b/test/GrampsDb/GrampsDbTestBase.py index 1be53775f..9390132c8 100644 --- a/test/GrampsDb/GrampsDbTestBase.py +++ b/test/GrampsDb/GrampsDbTestBase.py @@ -30,7 +30,7 @@ import time import traceback import sys -sys.path.append('../src') +sys.path.append('../gramps') try: set() @@ -38,9 +38,9 @@ except NameError: from sets import Set as set from gramps.gen.db import DbBsddb -from cli.clidbman import CLIDbManager -import const -import gen.lib +from gramps.cli.clidbman import CLIDbManager +import gramps.gen.const +import gramps.gen.lib logger = logging.getLogger('Gramps.GrampsDbTestBase') diff --git a/test/GrampsLogger/ErrorReportAssistant_Test.py b/test/GrampsLogger/ErrorReportAssistant_Test.py index 259215bc6..d42026dc7 100644 --- a/test/GrampsLogger/ErrorReportAssistant_Test.py +++ b/test/GrampsLogger/ErrorReportAssistant_Test.py @@ -24,10 +24,12 @@ import unittest import logging import sys +import os log = logging.getLogger('Gramps.Tests.GrampsLogger') - -sys.path.append('..') +import gramps.gen.const as const +const.rootDir = os.path.join(os.path.dirname(__file__), '../../gramps') +sys.path.append(os.path.join(const.rootDir, 'test')) try: from guitest.gtktest import GtkTestCase TestCaseBase = GtkTestCase @@ -35,15 +37,10 @@ try: except: TestCaseBase = unittest.TestCase -sys.path.append('../../src') -sys.path.append('../../src/GrampsLogger') +sys.path.append(const.rootDir) +sys.path.append(os.path.join(const.rootDir, 'GrampsLogger')) -import const -const.rootDir = "../../src" - -from GrampsLogger import RotateHandler - -import _ErrorReportAssistant +from gramps.gui.logger import RotateHandler, _errorreportassistant class ErrorReportAssistantTest(TestCaseBase): """Test the ErrorReportAssistant.""" @@ -59,7 +56,7 @@ class ErrorReportAssistantTest(TestCaseBase): l.info("info message") error_detail="Test error" - ass = _ErrorReportAssistant.ErrorReportAssistant(error_detail=error_detail, + ass = _errorreportassistant.ErrorReportAssistant(error_detail=error_detail, rotate_handler=rh) assert ass._error_detail == error_detail diff --git a/test/GrampsLogger/GtkHandler_Test.py b/test/GrampsLogger/GtkHandler_Test.py index f62fe2e6c..075f4c919 100644 --- a/test/GrampsLogger/GtkHandler_Test.py +++ b/test/GrampsLogger/GtkHandler_Test.py @@ -25,17 +25,15 @@ import unittest import logging import sys from gi.repository import Gtk +import os +log = logging.getLogger('Gramps.Tests.GrampsLogger') +import gramps.gen.const as const +const.rootDir = os.path.join(os.path.dirname(__file__), '../../gramps') +sys.path.append(os.path.join(const.rootDir, 'test')) +sys.path.append(const.rootDir) -sys.path.append('../../src') -sys.path.append('../../src/GrampsLogger') - -logger = logging.getLogger('Gramps.Tests.GrampsLogger') - -import const -const.rootDir = "../../src" - -from GrampsLogger import GtkHandler, RotateHandler +from gramps.gui.logger import RotateHandler, GtkHandler class GtkHandlerTest(unittest.TestCase): """Test the GtkHandler.""" @@ -64,7 +62,8 @@ class GtkHandlerTest(unittest.TestCase): except: l.error(log_message,exc_info=True) - Gtk.main() + while Gtk.events_pending(): + Gtk.main_iteration() diff --git a/test/GrampsLogger/RotateLogger_Test.py b/test/GrampsLogger/RotateLogger_Test.py index 301998b71..ffdd603ee 100644 --- a/test/GrampsLogger/RotateLogger_Test.py +++ b/test/GrampsLogger/RotateLogger_Test.py @@ -24,12 +24,13 @@ import unittest import logging import sys +import os -sys.path.append('../../src/GrampsLogger') +sys.path.append(os.path.join(os.path.dirname(__file__), '../../gramps/GrampsLogger')) logger = logging.getLogger('Gramps.Tests.GrampsLogger') -import _RotateHandler +from gramps.gui.logger import RotateHandler class RotateHandlerTest(unittest.TestCase): """Test the RotateHandler.""" @@ -37,7 +38,7 @@ class RotateHandlerTest(unittest.TestCase): def test_buffer_recall(self): """Test that simple recall of messages works.""" - rh = _RotateHandler.RotateHandler(10) + rh = RotateHandler(10) l = logging.getLogger("RotateHandlerTest") l.setLevel(logging.DEBUG) @@ -56,7 +57,7 @@ class RotateHandlerTest(unittest.TestCase): def test_buffer_rotation(self): """Test that buffer correctly rolls over when capacity is reached.""" - rh = _RotateHandler.RotateHandler(10) + rh = RotateHandler(10) l = logging.getLogger("RotateHandlerTest") l.setLevel(logging.DEBUG) diff --git a/test/LosHawlos_bsddbtest.py b/test/LosHawlos_bsddbtest.py index 037021419..acdf6954e 100644 --- a/test/LosHawlos_bsddbtest.py +++ b/test/LosHawlos_bsddbtest.py @@ -25,7 +25,7 @@ from bsddb import dbshelve, db import os import sys -sys.path.append('../src') +sys.path.append('../gramps') import const env_name = os.path.expanduser(const.bsddbenv_dir) diff --git a/test/LosHawlos_dbtest.py b/test/LosHawlos_dbtest.py index 5c9d53d16..a362589b2 100644 --- a/test/LosHawlos_dbtest.py +++ b/test/LosHawlos_dbtest.py @@ -26,7 +26,7 @@ import tempfile import shutil import sys -sys.path.append('../src') +sys.path.append('../gramps') import GrampsDb import const diff --git a/test/RelLib/RelLib_Test.py b/test/RelLib/RelLib_Test.py deleted file mode 100644 index 50e795363..000000000 --- a/test/RelLib/RelLib_Test.py +++ /dev/null @@ -1,57 +0,0 @@ -# -# Gramps - a GTK+/GNOME based genealogy program -# -# Copyright (C) 2000-2007 Donald N. Allingham -# -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# - -# test/RelLib/RelLib_Test.py -# $Id$ - -import unittest -import logging -import os -import tempfile -import shutil -import time -import traceback -import sys - - -try: - set() -except NameError: - from sets import Set as set - - -import RelLib - -logger = logging.getLogger('Gramps.RelLib_Test') - - -class PrimaryObjectTest (unittest.TestCase): - """Test methods on the PrimaryObject class""" - - - pass - - -def testSuite(): - suite = unittest.makeSuite(PrimaryObjectTest,'test') - return suite - -if __name__ == '__main__': - unittest.TextTestRunner().run(testSuite()) diff --git a/test/RunAllTests.py b/test/RunAllTests.py index 044028755..f502df06a 100644 --- a/test/RunAllTests.py +++ b/test/RunAllTests.py @@ -33,7 +33,9 @@ import sys import unittest from optparse import OptionParser -sys.path.append('../src') +sys.path.append(os.path.join(os.path.dirname(__file__), '..')) +os.environ['GRAMPS_RESOURCES'] = os.path.join( + os.path.dirname(os.path.abspath(__file__)), '..') def make_parser(): usage = "usage: %prog [options]" @@ -48,7 +50,7 @@ def make_parser(): def getTestSuites(): # Sorry about this line, but it is the easiest way of doing it. # It just walks the filetree from '.' downwards and returns - # a tuple per directory of (dirpatch,filelist) if the directory + # a tuple per directory of (dirpath,filelist) if the directory # contains any test files. paths = [(f[0],f[2]) for f in os.walk('.') \ @@ -62,7 +64,7 @@ def getTestSuites(): perf_suites = [] for module in test_modules: if module[-8:] != "_Test.py": - break + continue mod = __import__(module[:-3]) test_suites.append(mod.testSuite()) try: @@ -79,7 +81,6 @@ def perfTests(): return unittest.TestSuite(getTestSuites()[1]) if __name__ == '__main__': - console = logging.StreamHandler() console.setLevel(logging.INFO) console.setFormatter(logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')) @@ -106,8 +107,5 @@ if __name__ == '__main__': logger.setLevel(logging.ERROR) console.setLevel(logging.ERROR) - - if options.performance: - unittest.TextTestRunner(verbosity=options.verbose_level).run(perfTests()) - else: - unittest.TextTestRunner(verbosity=options.verbose_level).run(allTheTests()) + tests = perfTests() if options.performance else allTheTests() + unittest.TextTestRunner(verbosity=options.verbose_level).run(tests)