|
@@ -32,6 +32,7 @@ import time
|
|
|
import threading
|
|
|
import http.client
|
|
|
import xml.etree.ElementTree
|
|
|
+import signal
|
|
|
|
|
|
import isc
|
|
|
import stats_httpd
|
|
@@ -89,6 +90,9 @@ def is_ipv6_enabled(address='::1', port=8000):
|
|
|
class TestHttpHandler(unittest.TestCase):
|
|
|
"""Tests for HttpHandler class"""
|
|
|
def setUp(self):
|
|
|
+ # deadlock will be killed afer 20 secs
|
|
|
+ signal.signal(signal.SIGALRM, self.my_signal_handler)
|
|
|
+ signal.alarm(20)
|
|
|
self.base = BaseModules()
|
|
|
self.stats_server = ThreadingServerManager(MyStats)
|
|
|
self.stats = self.stats_server.server
|
|
@@ -107,6 +111,9 @@ class TestHttpHandler(unittest.TestCase):
|
|
|
self.stats_server.shutdown()
|
|
|
self.base.shutdown()
|
|
|
|
|
|
+ def my_signal_handler(self, signal, frame):
|
|
|
+ self.fail("A deadlock might be detected")
|
|
|
+
|
|
|
def test_do_GET(self):
|
|
|
self.assertTrue(type(self.stats_httpd.httpd) is list)
|
|
|
self.assertEqual(len(self.stats_httpd.httpd), 1)
|
|
@@ -265,11 +272,17 @@ class TestHttpServerError(unittest.TestCase):
|
|
|
class TestHttpServer(unittest.TestCase):
|
|
|
"""Tests for HttpServer class"""
|
|
|
def setUp(self):
|
|
|
+ # deadlock will be killed afer 20 secs
|
|
|
+ signal.signal(signal.SIGALRM, self.my_signal_handler)
|
|
|
+ signal.alarm(20)
|
|
|
self.base = BaseModules()
|
|
|
|
|
|
def tearDown(self):
|
|
|
self.base.shutdown()
|
|
|
|
|
|
+ def my_signal_handler(self, signal, frame):
|
|
|
+ self.fail("A deadlock might be detected")
|
|
|
+
|
|
|
def test_httpserver(self):
|
|
|
self.stats_httpd = MyStatsHttpd(get_availaddr())
|
|
|
self.assertEqual(type(self.stats_httpd.httpd), list)
|
|
@@ -291,6 +304,9 @@ class TestStatsHttpd(unittest.TestCase):
|
|
|
"""Tests for StatsHttpd class"""
|
|
|
|
|
|
def setUp(self):
|
|
|
+ # deadlock will be killed afer 20 secs
|
|
|
+ signal.signal(signal.SIGALRM, self.my_signal_handler)
|
|
|
+ signal.alarm(20)
|
|
|
self.base = BaseModules()
|
|
|
self.stats_server = ThreadingServerManager(MyStats)
|
|
|
self.stats_server.run()
|
|
@@ -301,6 +317,9 @@ class TestStatsHttpd(unittest.TestCase):
|
|
|
self.stats_server.shutdown()
|
|
|
self.base.shutdown()
|
|
|
|
|
|
+ def my_signal_handler(self, signal, frame):
|
|
|
+ self.fail("A deadlock might be detected")
|
|
|
+
|
|
|
def test_init(self):
|
|
|
server_address = get_availaddr()
|
|
|
self.stats_httpd = MyStatsHttpd(server_address)
|