Rev 9: Implement server test Feature. in file:///v/home/vila/.bazaar/plugins/local_test_server/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Thu May 29 08:35:39 BST 2008
At file:///v/home/vila/.bazaar/plugins/local_test_server/
------------------------------------------------------------
revno: 9
revision-id: v.ladeuil+lp at free.fr-20080529073538-rxew7godtq2dau49
parent: v.ladeuil+lp at free.fr-20080528191059-gq4r5s90t7y3lm93
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: local_test_server
timestamp: Thu 2008-05-29 09:35:38 +0200
message:
Implement server test Feature.
* tests/test_server.py:
(TestApache2.test_server_fetature_not_available,
test_server_feature_available): New tests.
* server.py:
(Apache2Feature): New class.
modified:
TODO todo-20080526134120-eibvvebw74t8j2xh-1
server.py server.py-20080524160639-rqhbexqatjqbwypw-1
tests/test_server.py test_server.py-20080524160641-lco15o23ub9mac33-1
-------------- next part --------------
=== modified file 'TODO'
--- a/TODO 2008-05-28 19:10:59 +0000
+++ b/TODO 2008-05-29 07:35:38 +0000
@@ -1,5 +1,3 @@
* server.py
-* create a bzrlib.tests.Feature by server
-
* plug the server if the corresponding feature is available.
=== modified file 'server.py'
--- a/server.py 2008-05-28 19:10:59 +0000
+++ b/server.py 2008-05-29 07:35:38 +0000
@@ -23,7 +23,12 @@
import time
-from bzrlib import errors
+from bzrlib import (
+ errors,
+ tests,
+ )
+
+
from bzrlib.plugins.local_test_server import config
""")
@@ -112,7 +117,8 @@
# But of course, it's not enough
if not self._wait_for_pid_death(pid):
raise errors.BzrCommandError(
- 'apache2 cannot be stopped pid: %s' % pid)
+ 'apache2 on port %s cannot be stopped pid: %s'
+ % (self.get_config_value('port'), pid))
def _hk_poll(self, verified, delay=None, interval=None):
"""Poll for a condition to be verified until delay expired.
@@ -184,6 +190,19 @@
return pid
+class Apache2Feature(tests.Feature):
+
+ def __init__(self):
+ super(Apache2Feature, self).__init__()
+ self.server = get_server('apache2')
+
+ def feature_name(self):
+ return 'apache2'
+
+ def _probe(self):
+ return self.server.is_running()
+
+
_next_available_port = 49000
_max_available_port = 49151
def _get_available_port():
@@ -216,3 +235,4 @@
def get_server(name):
return _servers.get(name, None)
+
=== modified file 'tests/test_server.py'
--- a/tests/test_server.py 2008-05-28 19:10:59 +0000
+++ b/tests/test_server.py 2008-05-29 07:35:38 +0000
@@ -84,3 +84,18 @@
self.assertTrue(s.is_running())
s.stop()
self.assertFalse(s.is_running())
+
+ def test_server_feature_not_available(self):
+ f = server.Apache2Feature()
+ # Override default server with a testing one
+ f.server = self._get_server()
+ self.assertFalse(f.available())
+
+ def test_server_feature_available(self):
+ f = server.Apache2Feature()
+ # Override default server with a testing one
+ f.server = self._get_server()
+ f.server.start()
+ self.addCleanup(f.server.stop)
+ self.assertTrue(f.available())
+
More information about the bazaar-commits
mailing list