forked from brl/citadel
74 lines
2.1 KiB
Plaintext
74 lines
2.1 KiB
Plaintext
|
#!/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
|
||
|
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"]
|
||
|
|
||
|
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)
|