1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #!/usr/bin/env python3
- #
- # Copyright (C) 2012 Richard Purdie
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License version 2 as
- # published by the Free Software Foundation.
- #
- # 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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
- import os
- import sys, logging
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
- import unittest
- try:
- import bb
- import layerindexlib
- except RuntimeError as exc:
- sys.exit(str(exc))
- tests = ["bb.tests.codeparser",
- "bb.tests.cow",
- "bb.tests.data",
- "bb.tests.event",
- "bb.tests.fetch",
- "bb.tests.parse",
- "bb.tests.utils",
- "layerindexlib.tests.layerindexobj",
- "layerindexlib.tests.restapi",
- "layerindexlib.tests.cooker"]
- for t in tests:
- t = '.'.join(t.split('.')[:3])
- __import__(t)
- # Set-up logging
- class StdoutStreamHandler(logging.StreamHandler):
- """Special handler so that unittest is able to capture stdout"""
- def __init__(self):
- # Override __init__() because we don't want to set self.stream here
- logging.Handler.__init__(self)
- @property
- def stream(self):
- # We want to dynamically write wherever sys.stdout is pointing to
- return sys.stdout
- handler = StdoutStreamHandler()
- bb.logger.addHandler(handler)
- bb.logger.setLevel(logging.DEBUG)
- ENV_HELP = """\
- Environment variables:
- BB_SKIP_NETTESTS set to 'yes' in order to skip tests using network
- connection
- BB_TMPDIR_NOCLEAN set to 'yes' to preserve test tmp directories
- """
- class main(unittest.main):
- def _print_help(self, *args, **kwargs):
- super(main, self)._print_help(*args, **kwargs)
- print(ENV_HELP)
- if __name__ == '__main__':
- main(defaultTest=tests, buffer=True)
|