Commit e561cb2e authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

[master] Merge branch 'trac2823-regression'

parents 066c983e e67c6142
......@@ -248,6 +248,7 @@ class TestHttpHandler(unittest.TestCase):
def tearDown(self):
self.client.close()
self.stats_httpd_server.shutdown()
# reset the signal handler
self.sig_handler.reset()
......
......@@ -1285,6 +1285,15 @@ class TestStats(unittest.TestCase):
"""check statistics data of 'Init'."""
stat = MyStats()
# At this point 'stat' is initialized with statistics for Stats,
# Init and Auth modules. In this test, we only need to check for Init
# statistics, while do_polling() can ask for module statistics in an
# unpredictable order (if hash randomization is enabled, which is
# the case by default for Python 3.3). To make it predictable and
# ensure the prepared answer doesn't cause disruption, we remove the
# information for the Auth module for this test.
del stat.statistics_data['Auth']
stat.update_modules = lambda: None
create_answer = isc.config.ccsession.create_answer # shortcut
......@@ -1403,8 +1412,8 @@ class TestStats(unittest.TestCase):
class Z_TestOSEnv(unittest.TestCase):
# Running this test would break logging setting. To prevent it from
# affecting other tests we use the same workaround as
# Z_TestStatsHttpdError.
# affecting other tests we use the same workaround as Z_TestOSEnv in
# stats-httpd_test.py.
def test_osenv(self):
"""
test for the environ variable "B10_FROM_SOURCE"
......
......@@ -514,6 +514,14 @@ class MyStatsHttpd(stats_httpd.StatsHttpd):
self.cc_session = self.mccs._session
self.mccs.start = self.load_config # force reload
# check_command could be called from the main select() loop due to
# Linux's bug of spurious wakeup. We don't need the actual behavior
# of check_command in our tests, so we can basically replace it with a
# no-op mock function.
def mock_check_command(nonblock):
pass
self.mccs.check_command = mock_check_command
def close_mccs(self):
super().close_mccs()
if self.__dummy_sock is not None:
......@@ -562,3 +570,6 @@ class MyStatsHttpd(stats_httpd.StatsHttpd):
def run(self):
self._started.set()
self.start()
def shutdown(self):
self.command_handler('shutdown', None)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment