Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F5727130
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/test/servertests.py b/test/servertests.py
index 77f5f35..7227559 100755
--- a/test/servertests.py
+++ b/test/servertests.py
@@ -1,51 +1,76 @@
#!/usr/bin/python
import copy
from pprint import pprint, pformat
import re
import string
from serverenv import ServerTestEnvironment
class ServerTests(ServerTestEnvironment):
# We don't know enough about the build/test system to rely on the
# existence, permissions, contents of the default config file. So
# we can't predict (and hence test) how booth will behave when -c
# is not specified.
#
# def test_no_args(self):
# # If do_server() called lockfile() first then this would be
# # the appropriate test:
# #self.assertLockFileError(lock_file=False)
#
# # If do_server() called setup() first, and the default
# # config file was readable non-root, then this would be the
# # appropriate test:
# self.configFileMissingMyIP(lock_file=False)
#
# def test_custom_lock_file(self):
# (pid, ret, stdout, stderr, runner) = self.run_booth(expected_exitcode=1)
# self.assertRegexpMatches(
# stderr,
# 'failed to open %s: ' % runner.config_file_used(),
# 'should fail to read default config file'
# )
def test_example_config(self):
self.configFileMissingMyIP(config_file=self.example_config_path)
def test_config_file_buffer_overflow(self):
# https://bugzilla.novell.com/show_bug.cgi?id=750256
longfile = (string.lowercase * 5)[:127]
expected_error = "'%s' exceeds maximum config file length" % longfile
self._test_buffer_overflow(expected_error, config_file=longfile)
def test_lock_file_buffer_overflow(self):
# https://bugzilla.novell.com/show_bug.cgi?id=750256
longfile = (string.lowercase * 5)[:127]
expected_error = "'%s' exceeds maximum lock file length" % longfile
self._test_buffer_overflow(expected_error, lock_file=longfile)
def test_working_config(self):
(pid, ret, stdout, stderr, runner) = \
self.run_booth(config_text=self.working_config)
+
+ def test_missing_quotes(self):
+ orig_lines = self.working_config.split("\n")
+ for i in xrange(len(orig_lines)):
+ new_lines = copy.copy(orig_lines)
+ new_lines[i] = new_lines[i].replace('"', '')
+ new_config = "\n".join(new_lines)
+
+ line_contains_IP = re.search('=.+\.', orig_lines[i])
+ if line_contains_IP:
+ # IP addresses need to be surrounded by quotes
+ expected_exitcode = 1
+ else:
+ expected_exitcode = 0
+
+ (pid, ret, stdout, stderr, runner) = \
+ self.run_booth(config_text=new_config,
+ expected_exitcode=expected_exitcode)
+
+ if line_contains_IP:
+ self.assertRegexpMatches(
+ self.read_log(),
+ "ERROR: invalid config file format: unquoted '.'",
+ 'IP addresses need to be quoted'
+ )
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Mon, Sep 22, 11:36 PM (18 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2403451
Default Alt Text
(3 KB)
Attached To
Mode
rB Booth
Attached
Detach File
Event Timeline
Log In to Comment