Back to index

lightning-sunbird  0.9+nobinonly
regrtest.py
Go to the documentation of this file.
00001 # ***** BEGIN LICENSE BLOCK *****
00002 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
00003 #
00004 # The contents of this file are subject to the Mozilla Public License Version
00005 # 1.1 (the "License"); you may not use this file except in compliance with
00006 # the License. You may obtain a copy of the License at
00007 # http://www.mozilla.org/MPL/
00008 #
00009 # Software distributed under the License is distributed on an "AS IS" basis,
00010 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00011 # for the specific language governing rights and limitations under the
00012 # License.
00013 #
00014 # The Original Code is Python XPCOM language bindings.
00015 #
00016 # The Initial Developer of the Original Code is
00017 # ActiveState Tool Corp.
00018 # Portions created by the Initial Developer are Copyright (C) 2000
00019 # the Initial Developer. All Rights Reserved.
00020 #
00021 # Contributor(s):
00022 #  Mark Hammond <mhammond@skippinet.com.au> (original author)
00023 #
00024 # Alternatively, the contents of this file may be used under the terms of
00025 # either the GNU General Public License Version 2 or later (the "GPL"), or
00026 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00027 # in which case the provisions of the GPL or the LGPL are applicable instead
00028 # of those above. If you wish to allow use of your version of this file only
00029 # under the terms of either the GPL or the LGPL, and not to allow others to
00030 # use your version of this file under the terms of the MPL, indicate your
00031 # decision by deleting the provisions above and replace them with the notice
00032 # and other provisions required by the GPL or the LGPL. If you do not delete
00033 # the provisions above, a recipient may use your version of this file under
00034 # the terms of any one of the MPL, the GPL or the LGPL.
00035 #
00036 # ***** END LICENSE BLOCK *****
00037 
00038 # regrtest.py
00039 #
00040 # The Regression Tests for the xpcom package.
00041 import os
00042 import sys
00043 
00044 import unittest
00045 import test.regrtest # The standard Python test suite.
00046 
00047 path = os.path.abspath(os.path.split(sys.argv[0])[0])
00048 # This sucks - python now uses "test." - so to worm around this,
00049 # we append our test path to the test packages!
00050 test.__path__.append(path)
00051 
00052 tests = []
00053 for arg in sys.argv[1:]:
00054     if arg[0] not in "-/":
00055         tests.append(arg)
00056 tests = tests or test.regrtest.findtests(path, [])
00057 try:
00058     # unittest based tests first - hopefully soon this will be the default!
00059     if not sys.argv[1:]:
00060         for t in "test_misc test_streams".split():
00061             m = __import__(t)
00062             try:
00063                 unittest.main(m)
00064             except SystemExit:
00065                 pass
00066     test.regrtest.main(tests, path)
00067 finally:
00068     from xpcom import _xpcom
00069     _xpcom.NS_ShutdownXPCOM() # To get leak stats and otherwise ensure life is good.