69
69
sysbench_output = open(sysbench_outfile,'w')
70
70
sysbench_cmd = ' '.join([self.current_testcase.test_command,'prepare'])
71
71
self.logging.info("Preparing database for sysbench run...")
73
self.logging.debug(sysbench_cmd)
72
self.logging.debug(sysbench_cmd)
74
73
sysbench_subproc = subprocess.Popen( sysbench_cmd
85
84
sysbench_file = open(sysbench_outfile,'r')
86
85
output = ''.join(sysbench_file.readlines())
87
86
sysbench_file.close()
89
self.logging.debug("sysbench_retcode: %d" %(retcode))
90
self.logging.debug(output)
87
self.logging.debug("sysbench_retcode: %d" %(retcode))
88
self.logging.debug(output)
92
90
self.logging.error("sysbench_prepare failed with retcode %d:" %(retcode))
93
91
self.logging.error(output)
123
121
sysbench_output.close()
124
122
sysbench_file = open(sysbench_outfile,'r')
125
123
output = ''.join(sysbench_file.readlines())
127
self.logging.debug(output)
124
self.logging.debug(output)
128
125
sysbench_file.close()
131
self.logging.debug("sysbench_retcode: %d" %(retcode))
127
self.logging.debug("sysbench_retcode: %d" %(retcode))
132
128
self.current_test_retcode = retcode
133
129
self.current_test_output = output
134
130
self.current_test_exec_time = execution_time
167
def handle_system_reqs(self):
168
""" We check our test case and see what we need to do
169
system-wise to get ready. This is likely to be
170
mode-dependent and this is just a placeholder
175
self.process_environment_reqs()
176
self.process_symlink_reqs()
177
self.process_master_sh()
180
def process_master_sh(self):
181
""" We do what we need to if we have a master.sh file """
182
if self.current_testcase.master_sh:
183
retcode, output = self.system_manager.execute_cmd("/bin/sh %s" %(self.current_testcase.master_sh))
185
self.logging.info("retcode: %retcode")
186
self.logging.info("%output")
188
def process_environment_reqs(self):
189
""" We generate the ENV vars we need set
190
and then ask systemManager to do so
193
env_reqs = { 'DRIZZLETEST_VARDIR': self.master_server.vardir
194
, 'DRIZZLE_TMP_DIR': self.master_server.tmpdir
195
, 'MASTER_MYSOCK': self.master_server.socket_file
196
, 'MASTER_MYPORT': str(self.master_server.master_port)
197
, 'MC_PORT': str(self.master_server.mc_port)
198
, 'PBMS_PORT': str(self.master_server.pbms_port)
199
, 'RABBITMQ_NODE_PORT': str(self.master_server.rabbitmq_node_port)
200
, 'DRIZZLE_TCP_PORT': str(self.master_server.drizzle_tcp_port)
201
, 'EXE_DRIZZLE': self.master_server.drizzle_client
202
, 'MASTER_SERVER_SLAVE_CONFIG' : self.master_server.slave_config_file
203
, 'DRIZZLE_DUMP': "%s --no-defaults -uroot -p%d" %( self.master_server.drizzledump
204
, self.master_server.master_port)
205
, 'DRIZZLE_SLAP': "%s -uroot -p%d" %( self.master_server.drizzleslap
206
, self.master_server.master_port)
207
, 'DRIZZLE_IMPORT': "%s -uroot -p%d" %( self.master_server.drizzleimport
208
, self.master_server.master_port)
209
, 'DRIZZLE': "%s -uroot -p%d" %( self.master_server.drizzle_client
210
, self.master_server.master_port)
211
, 'DRIZZLE_BASEDIR' : self.system_manager.code_tree.basedir
212
, 'DRIZZLE_TRX_READER' : self.system_manager.code_tree.drizzle_trx_reader
216
self.working_environment = self.system_manager.create_working_environment(env_reqs)
219
def process_symlink_reqs(self):
220
""" Create any symlinks we may need """
223
self.system_manager.create_symlinks(needed_symlinks)