Update to 2.28 for TINF-96
[profile/ivi/pygobject2.git] / tests / runtests.py
index da5ade0..2bb8637 100644 (file)
@@ -1,44 +1,34 @@
-#!/usr/bin/env python
-import glob
+# -*- Mode: Python -*-
+
 import os
+import glob
 import sys
-import unittest
-
-import common
 
-program = None
-if len(sys.argv) == 3:
-    buildDir = sys.argv[1]
-    srcDir = sys.argv[2]
-else:
-    if len(sys.argv) == 2:
-        program = sys.argv[1]
-        if program.endswith('.py'):
-            program = program[:-3]
-    buildDir = '..'
-    srcDir = '.'
-
-common.importModules(buildDir=buildDir,
-                     srcDir=srcDir)
+import unittest
 
-SKIP_FILES = ['common', 'runtests']
 
-dir = os.path.split(os.path.abspath(__file__))[0]
-os.chdir(dir)
+# force untranslated messages, as we check for them in some tests
+os.environ['LC_MESSAGES'] = 'C'
 
-def gettestnames():
-    files = glob.glob('*.py')
-    names = map(lambda x: x[:-3], files)
-    map(names.remove, SKIP_FILES)
-    return names
+# Load tests.
+if 'TEST_NAMES' in os.environ:
+       names = os.environ['TEST_NAMES'].split()
+elif 'TEST_FILES' in os.environ:
+       names = []
+       for filename in os.environ['TEST_FILES'].split():
+               names.append(filename[:-3])
+else:
+       names = []
+       for filename in glob.iglob("test_*.py"):
+               names.append(filename[:-3])
 
-suite = unittest.TestSuite()
 loader = unittest.TestLoader()
+suite = loader.loadTestsFromNames(names)
+
 
-for name in gettestnames():
-    if program and program not in name:
-        continue
-    suite.addTest(loader.loadTestsFromName(name))
+# Run tests.
+runner = unittest.TextTestRunner(verbosity=2)
+result = runner.run(suite)
+if not result.wasSuccessful():
+       sys.exit(1) # exit code so "make check" reports error
 
-testRunner = unittest.TextTestRunner()
-testRunner.run(suite)