From 25231ec5ff3cc74e0e525c35574182e6065a318f Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Tue, 3 Nov 2009 11:29:30 +0100
Subject: [PATCH] Ignore log messages in unittests

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 test/docs_unittest.py                  |  2 +-
 test/ganeti.bdev_unittest.py           |  5 +++--
 test/ganeti.cli_unittest.py            |  4 +++-
 test/ganeti.cmdlib_unittest.py         |  4 +++-
 test/ganeti.confd_client_unittest.py   |  4 +++-
 test/ganeti.config_unittest.py         |  4 +++-
 test/ganeti.constants_unittest.py      |  4 +++-
 test/ganeti.hooks_unittest.py          |  7 ++++++-
 test/ganeti.http_unittest.py           |  4 +++-
 test/ganeti.locking_unittest.py        |  6 +++---
 test/ganeti.mcpu_unittest.py           |  4 +++-
 test/ganeti.objects_unittest.py        |  6 +++++-
 test/ganeti.rapi.resources_unittest.py |  4 +++-
 test/ganeti.serializer_unittest.py     |  2 +-
 test/ganeti.ssh_unittest.py            |  2 +-
 test/ganeti.utils_unittest.py          |  2 +-
 test/ganeti.workerpool_unittest.py     |  4 +++-
 test/testutils.py                      | 10 ++++++++++
 18 files changed, 58 insertions(+), 20 deletions(-)

diff --git a/test/docs_unittest.py b/test/docs_unittest.py
index 6e66748c7..a3cb2b7a8 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 eaf4c0768..19e1b8a53 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 cf3810d40..5fb652eb4 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 2955b3dbd..726b941b3 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 e3f966da2..d116483fe 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 ba669d1f6..77d7f395c 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 ddc6814dd..219afee84 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 55fa72126..594c321bf 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 6e4f9dc0b..606fc7416 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 094de0298..4da57e794 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 a60ebac21..80d4088f3 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 fdea939c7..982f042f0 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 11d34500f..70f68b5b1 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 9b8a97e6d..cb275d53f 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 d99992947..5afd59052 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 255f9d652..62f48051f 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 75827418d..a91858eb2 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 5e36a1754..fddeda73d 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.
 
-- 
GitLab