diff -ru ibus-typing-booster-2.1.0.orig/tests/run_tests.in ibus-typing-booster-2.1.0/tests/run_tests.in
--- ibus-typing-booster-2.1.0.orig/tests/run_tests.in 2018-06-05 11:32:44.000000000 +0200
+++ ibus-typing-booster-2.1.0/tests/run_tests.in 2020-06-09 17:52:21.789989905 +0200
@@ -21,6 +21,21 @@
import sys
import unittest
+# pip3 install tap.py --user
+IMPORT_TAP_SUCCESSFUL = False
+try:
+ from tap import TAPTestRunner
+ IMPORT_TAP_SUCCESSFUL = True
+except (ImportError,):
+ pass
+
+if 'IBUS_TYPING_BOOSTER_LOCATION' in os.environ:
+ location_path = os.environ['IBUS_TYPING_BOOSTER_LOCATION']
+ if location_path != None and location_path != '':
+ engine_path = os.path.join(location_path, 'engine')
+ sys.path.append(engine_path)
+sys.path.append('/usr/share/ibus-typing-booster/engine')
+
from gi import require_version
require_version('IBus', '1.0')
from gi.repository import IBus
@@ -182,10 +197,25 @@
sys.modules["gi.repository.IBus"].PropList = MockPropList
# -- Load and run our unit tests ---------------------------------------------
-os.environ['IBUS_TYPING_BOOSTER_DEBUG_LEVEL'] = '255'
+pattern = 'test*.py'
+start_dir = os.path.dirname(__file__)
+if len(sys.argv) > 1:
+ pattern = sys.argv[-1]
+ dir = os.path.dirname(pattern)
+ pattern = os.path.basename(pattern)
+ if dir != '.':
+ start_dir = os.path.join(start_dir, dir)
loader = unittest.TestLoader()
-suite = loader.discover(".")
-runner = unittest.TextTestRunner(stream = sys.stderr, verbosity = 255)
+suite = loader.discover(start_dir=start_dir, pattern=pattern)
+
+if IMPORT_TAP_SUCCESSFUL:
+ runner = TAPTestRunner(stream=sys.stderr, verbosity=255)
+ runner.set_outdir('.')
+ runner.set_format('Hi: {method_name} - {short_description}')
+ runner.set_combined(True)
+else:
+ runner = unittest.TextTestRunner(stream=sys.stderr, verbosity=255)
+
result = runner.run(suite)
if result.failures or result.errors: