diff --git a/test/docs_unittest.py b/test/docs_unittest.py index 6e66748c7143e2ed53cf75306088cfb75483bb1f..a3cb2b7a83081c42116e61050c102f1331c9abfa 100755 --- a/test/docs_unittest.py +++ b/test/docs_unittest.py @@ -149,4 +149,4 @@ class TestManpages(unittest.TestCase): if __name__ == "__main__": - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.bdev_unittest.py b/test/ganeti.bdev_unittest.py index eaf4c0768a3eccb75acd9facc7b5108d1024a335..19e1b8a53e314a98cf428760a9194f6ee25a5d8a 100755 --- a/test/ganeti.bdev_unittest.py +++ b/test/ganeti.bdev_unittest.py @@ -25,10 +25,11 @@ import os import unittest -import testutils from ganeti import bdev from ganeti import errors +import testutils + class TestDRBD8Runner(testutils.GanetiTestCase): """Testing case for DRBD8""" @@ -189,4 +190,4 @@ class TestDRBD8Status(testutils.GanetiTestCase): stats.is_disk_uptodate) if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.cli_unittest.py b/test/ganeti.cli_unittest.py index cf3810d4099a122f968977830ddc0736b2e61f99..5fb652eb4a89fdc436713aee4797d2dd58749ce6 100755 --- a/test/ganeti.cli_unittest.py +++ b/test/ganeti.cli_unittest.py @@ -26,10 +26,12 @@ from cStringIO import StringIO import ganeti import testutils + from ganeti import constants from ganeti import cli from ganeti.errors import OpPrereqError, ParameterError + class TestParseTimespec(unittest.TestCase): """Testing case for ParseTimespec""" @@ -123,4 +125,4 @@ class TestToStream(unittest.TestCase): self.failUnlessEqual(buf.getvalue(), "foo a b\n") if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.cmdlib_unittest.py b/test/ganeti.cmdlib_unittest.py index 2955b3dbd6da72bdcbffeaace1b874109cb6f1bc..726b941b3e0705055167636ab8f1d1f4073a4c8d 100755 --- a/test/ganeti.cmdlib_unittest.py +++ b/test/ganeti.cmdlib_unittest.py @@ -30,6 +30,8 @@ import Queue from ganeti import cmdlib from ganeti import errors +import testutils + if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.confd_client_unittest.py b/test/ganeti.confd_client_unittest.py index e3f966da24d3a99e2ef27b0ce2958618a877f726..d116483fef7dbfa92bb2c27fc0d0c2ec0f3730dd 100755 --- a/test/ganeti.confd_client_unittest.py +++ b/test/ganeti.confd_client_unittest.py @@ -30,6 +30,8 @@ from ganeti import errors import ganeti.confd.client +import testutils + class ResettableMock(object): def __init__(self, *args, **kwargs): @@ -182,4 +184,4 @@ class TestClient(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.config_unittest.py b/test/ganeti.config_unittest.py index ba669d1f6c8612159692fcbdbcc9fc0b1673f5bb..77d7f395c2d33afe3218d1f1712df05216ae5ba0 100755 --- a/test/ganeti.config_unittest.py +++ b/test/ganeti.config_unittest.py @@ -36,6 +36,8 @@ from ganeti import errors from ganeti import objects from ganeti import utils +import testutils + class TestConfigRunner(unittest.TestCase): """Testing case for HooksRunner""" @@ -176,4 +178,4 @@ class TestConfigRunner(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.constants_unittest.py b/test/ganeti.constants_unittest.py index ddc6814ddf66b10a6eed3d01a2e570161e7be824..219afee8459d1c1857d16abeca89fe27873dbea1 100755 --- a/test/ganeti.constants_unittest.py +++ b/test/ganeti.constants_unittest.py @@ -27,6 +27,8 @@ import re from ganeti import constants +import testutils + class TestConstants(unittest.TestCase): """Constants tests""" @@ -99,4 +101,4 @@ class TestConfdConstants(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.hooks_unittest.py b/test/ganeti.hooks_unittest.py index 55fa72126e260f0124421c5ca507ab29a037e3b2..594c321bf2398a7082cca5b0aaa9d325b20051f2 100755 --- a/test/ganeti.hooks_unittest.py +++ b/test/ganeti.hooks_unittest.py @@ -39,11 +39,15 @@ from ganeti.constants import HKR_SUCCESS, HKR_FAIL, HKR_SKIP from mocks import FakeConfig, FakeProc, FakeContext +import testutils + + class FakeLU(cmdlib.LogicalUnit): HPATH = "test" def BuildHooksEnv(self): return {}, ["localhost"], ["localhost"] + class TestHooksRunner(unittest.TestCase): """Testing case for HooksRunner""" def setUp(self): @@ -266,5 +270,6 @@ class TestHooksMaster(unittest.TestCase): for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST): hm.RunPhase(phase) + if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.http_unittest.py b/test/ganeti.http_unittest.py index 6e4f9dc0b19d672e4de39922802565655800f098..606fc741689002b854b669fa4dea9e35b7ccf235 100755 --- a/test/ganeti.http_unittest.py +++ b/test/ganeti.http_unittest.py @@ -32,6 +32,8 @@ import ganeti.http.server import ganeti.http.client import ganeti.http.auth +import testutils + class TestStartLines(unittest.TestCase): """Test cases for start line classes""" @@ -163,4 +165,4 @@ class TestAuth(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.locking_unittest.py b/test/ganeti.locking_unittest.py index 094de02982e9fd6283484e6335164813cfece253..4da57e79481c46178d780819ac9dac19897ace3f 100755 --- a/test/ganeti.locking_unittest.py +++ b/test/ganeti.locking_unittest.py @@ -31,6 +31,8 @@ import threading from ganeti import locking from ganeti import errors +import testutils + # This is used to test the ssynchronize decorator. # Since it's passed as input to a decorator it must be declared as a global. @@ -1405,6 +1407,4 @@ class TestGanetiLockManager(_ThreadedTestCase): if __name__ == '__main__': - unittest.main() - #suite = unittest.TestLoader().loadTestsFromTestCase(TestSharedLock) - #unittest.TextTestRunner(verbosity=2).run(suite) + testutils.GanetiTestProgram() diff --git a/test/ganeti.mcpu_unittest.py b/test/ganeti.mcpu_unittest.py index a60ebac21e74753eadb464691c2c8b0bef03740e..80d4088f30f6147145016133e613b0dc1498df07 100755 --- a/test/ganeti.mcpu_unittest.py +++ b/test/ganeti.mcpu_unittest.py @@ -26,6 +26,8 @@ import unittest from ganeti import mcpu +import testutils + class TestLockAttemptTimeoutStrategy(unittest.TestCase): def testConstants(self): @@ -58,4 +60,4 @@ class TestLockAttemptTimeoutStrategy(unittest.TestCase): if __name__ == "__main__": - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.objects_unittest.py b/test/ganeti.objects_unittest.py index fdea939c71f16b65d3e49db886c594edb156f8d1..982f042f04db058ca08ef3e9c47cac99f69ea26f 100755 --- a/test/ganeti.objects_unittest.py +++ b/test/ganeti.objects_unittest.py @@ -26,9 +26,13 @@ import unittest from ganeti import objects +import testutils + + class SimpleObject(objects.ConfigObject): __slots__ = ['a', 'b'] + class TestDictState(unittest.TestCase): """Simple dict tansformation tests""" @@ -45,4 +49,4 @@ class TestDictState(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.rapi.resources_unittest.py b/test/ganeti.rapi.resources_unittest.py index 11d34500f684c4e667778178344d171020a8d0cf..70f68b5b172412953c266e53fbd20b20e97ec020 100755 --- a/test/ganeti.rapi.resources_unittest.py +++ b/test/ganeti.rapi.resources_unittest.py @@ -31,6 +31,8 @@ from ganeti import http from ganeti.rapi import connector from ganeti.rapi import rlib2 +import testutils + class MapperTests(unittest.TestCase): """Tests for remote API URI mapper.""" @@ -82,4 +84,4 @@ class R_RootTests(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.serializer_unittest.py b/test/ganeti.serializer_unittest.py index 9b8a97e6d712e389bd434eccd302a36e16c7e1f8..cb275d53f6186410e7aab13b198fcd466299d32d 100755 --- a/test/ganeti.serializer_unittest.py +++ b/test/ganeti.serializer_unittest.py @@ -80,4 +80,4 @@ class TestSerializer(testutils.GanetiTestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.ssh_unittest.py b/test/ganeti.ssh_unittest.py index d9999294702895765808c25dbc36c5b4418c7afd..5afd59052c74278feef480dab55b38a9f678990e 100755 --- a/test/ganeti.ssh_unittest.py +++ b/test/ganeti.ssh_unittest.py @@ -49,4 +49,4 @@ class TestKnownHosts(testutils.GanetiTestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.utils_unittest.py b/test/ganeti.utils_unittest.py index 255f9d6526593495441059d404280f1c821a8bcb..62f48051f103be8d6ad829e2dda675cb8b531867 100755 --- a/test/ganeti.utils_unittest.py +++ b/test/ganeti.utils_unittest.py @@ -1043,4 +1043,4 @@ class TestFormatTime(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/ganeti.workerpool_unittest.py b/test/ganeti.workerpool_unittest.py index 75827418dd574b5319cc359bc3a0f55464cdc62d..a91858eb21c3a5bfea7f0424a59a400c016ffc73 100755 --- a/test/ganeti.workerpool_unittest.py +++ b/test/ganeti.workerpool_unittest.py @@ -29,6 +29,8 @@ import zlib from ganeti import workerpool +import testutils + class DummyBaseWorker(workerpool.BaseWorker): def RunTask(self, text): @@ -136,4 +138,4 @@ class TestWorkerpool(unittest.TestCase): if __name__ == '__main__': - unittest.main() + testutils.GanetiTestProgram() diff --git a/test/testutils.py b/test/testutils.py index 5e36a175460dcdfb3cce5448c7b9f2c7590d099b..fddeda73d1a16bf0781c05091132557586a71bbf 100644 --- a/test/testutils.py +++ b/test/testutils.py @@ -25,6 +25,7 @@ import os import stat import tempfile import unittest +import logging from ganeti import utils @@ -33,6 +34,15 @@ def GetSourceDir(): return os.environ.get("TOP_SRCDIR", ".") +class GanetiTestProgram(unittest.TestProgram): + def runTests(self): + """ + + """ + logging.basicConfig(filename=os.devnull) + return unittest.TestProgram.runTests(self) + + class GanetiTestCase(unittest.TestCase): """Helper class for unittesting.