Merge lp:~patrick-crews/drizzle/bug786568 into lp:~drizzle-trunk/drizzle/development

Proposed by Patrick Crews
Status: Merged
Approved by: Brian Aker
Approved revision: 2315
Merged at revision: 2318
Proposed branch: lp:~patrick-crews/drizzle/bug786568
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 46 lines (+10/-1)
2 files modified
tests/lib/server_mgmt/server.py (+1/-0)
tests/lib/server_mgmt/server_management.py (+9/-1)
To merge this branch: bzr merge lp:~patrick-crews/drizzle/bug786568
Reviewer Review Type Date Requested Status
Drizzle Merge Team Pending
Review via email: mp+62350@code.launchpad.net

Description of the change

Fixed a bug in dbqp where server settings could be borked by the use of an external data dir.

We now properly track such situations and mark then as needing a server reset for subsequent tests (to ensure the expected 'clean' state).

To post a comment you must log in.
lp:~patrick-crews/drizzle/bug786568 updated
2315. By Patrick Crews

Fix to unset reset switch post-reset

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/lib/server_mgmt/server.py'
2--- tests/lib/server_mgmt/server.py 2011-03-24 00:44:40 +0000
3+++ tests/lib/server_mgmt/server.py 2011-05-25 21:02:01 +0000
4@@ -78,6 +78,7 @@
5 self.failed_test = 0 # was the last test a failure? our state is suspect
6 self.server_start_timeout = 60 * self.valgrind_time_buffer
7 self.pid = None
8+ self.need_reset = False
9
10 def initialize_databases(self):
11 """ Call schemawriter to make db.opt files """
12
13=== modified file 'tests/lib/server_mgmt/server_management.py'
14--- tests/lib/server_mgmt/server_management.py 2011-04-22 22:41:58 +0000
15+++ tests/lib/server_mgmt/server_management.py 2011-05-25 21:02:01 +0000
16@@ -339,14 +339,19 @@
17 datadir_requests = []
18
19 for index,server in enumerate(current_servers):
20-
21 desired_server_options = server_requirements[index]
22 # We add in any user-supplied options here
23 desired_server_options = desired_server_options + self.user_server_opts
24
25+ # We handle a reset in case we need it:
26+ if server.need_reset:
27+ self.reset_server(server)
28+ server.need_reset = False
29+
30 # Do our checking for config-specific madness we need to do
31 if config_reader and config_reader.has_section(server.name):
32 # mark server for restart in case it hasn't yet
33+ # this method is a bit hackish - need better method later
34 if '--restart' not in desired_server_options:
35 desired_server_options.append('--restart')
36 # We handle various scenarios
37@@ -409,6 +414,9 @@
38 source_dir_path = os.path.join(server.vardir,'std_data_ln',source_dir)
39 self.system_manager.remove_dir(server.datadir)
40 self.system_manager.copy_dir(source_dir_path, server.datadir)
41+ # We need to signal that the server will need to be reset as we're
42+ # using a non-standard datadir
43+ server.need_reset = True
44
45
46 def process_server_count(self, requester, desired_count, workdir, server_reqs):