#!/usr/bin/env python3 # -*- Mode: Python -*- # vi:si:et:sw=4:sts=4:ts=4 # # gst-python - Python bindings for GStreamer # Copyright (C) 2002 David I. Lehn # Copyright (C) 2004 Johan Dahlin # Copyright (C) 2005 Edward Hervey # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA import os import sys import unittest def _testcases(filenames): """Yield testcases out of filenames.""" for filename in filenames: if filename.endswith(".py"): yield filename[:-3] def _tests_suite(): """Pick which tests to run.""" testcase = os.getenv("TESTCASE") if testcase: testcases = [testcase] else: testcases = _testcases(sys.argv[1:]) loader = unittest.TestLoader() return loader.loadTestsFromNames(testcases) def setup(): return if __name__ == "__main__": setup() # Set verbosity. descriptions = 1 verbosity = 1 if 'VERBOSE' in os.environ: descriptions = 2 verbosity = 2 suite = _tests_suite() if not list(suite): raise Exception("No tests found") # Run the tests. testRunner = unittest.TextTestRunner(descriptions=descriptions, verbosity=verbosity) result = testRunner.run(suite) if result.failures or result.errors: sys.exit(1)