~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/lib/drizzle_test_run/dtr_test_execution.py

  • Committer: Andrew Hutchings
  • Date: 2011-02-07 17:20:59 UTC
  • mfrom: (2148 staging)
  • mto: (2148.2.3 build)
  • mto: This revision was merged to the branch mainline in revision 2149.
  • Revision ID: andrew@linuxjedi.co.uk-20110207172059-dyeahrgzrlincoe3
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/python
 
1
#! /usr/bin/env python
2
2
# -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
3
3
# vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
4
#
55
55
 
56
56
        # generate command line
57
57
        drizzletest_cmd = self.generate_drizzletest_call()
58
 
        if self.debug:
59
 
            self.logging.debug(drizzletest_cmd)
60
58
 
61
59
        # call drizzletest
62
 
        self.process_symlink_reqs()
63
 
        self.process_environment_reqs()
64
60
        self.execute_drizzletest(drizzletest_cmd)
65
61
 
66
62
        # analyze results
110
106
 
111
107
        if self.debug:
112
108
            self.logging.debug("drizzletest_retcode: %d" %(retcode))
113
 
            self.logging.debug("drizzletest_output: %s" %(output))
114
109
        self.current_test_retcode = retcode
115
110
        self.current_test_output = output
116
111
        self.current_test_exec_time = execution_time
127
122
        else:
128
123
            return 'fail'
129
124
 
 
125
    def handle_system_reqs(self):
 
126
        """ We check our test case and see what we need to do
 
127
            system-wise to get ready.  This is likely to be 
 
128
            mode-dependent and this is just a placeholder
 
129
            method
 
130
 
 
131
        """
 
132
 
 
133
        self.process_environment_reqs()
 
134
        self.process_symlink_reqs()
 
135
        self.process_master_sh()  
 
136
        return
 
137
 
 
138
    def process_master_sh(self):
 
139
        """ We do what we need to if we have a master.sh file """
 
140
        if self.current_testcase.master_sh:
 
141
            retcode, output = self.system_manager.execute_cmd("/bin/sh %s" %(self.current_testcase.master_sh))
 
142
            if self.debug:
 
143
                self.logging.info("retcode: %retcode")
 
144
                self.logging.info("%output")
 
145
 
130
146
    def process_environment_reqs(self):
131
147
        """ We generate the ENV vars we need set
132
148
            and then ask systemManager to do so
133
149
 
134
150
        """
135
 
        
136
 
        env_reqs = { 'DRIZZLETEST_VARDIR': (self.master_server.vardir,0,0)
137
 
                   ,  'DRIZZLE_TMP_DIR': (self.master_server.tmpdir,0,0)
138
 
                   ,  'MASTER_MYSOCK': (self.master_server.socket_file,0,0)
139
 
                   ,  'MASTER_MYPORT': (str(self.master_server.master_port),0,0)
140
 
                   ,  'MC_PORT': (str(self.master_server.mc_port),0,0)
141
 
                   ,  'PBMS_PORT': (str(self.master_server.pbms_port),0,0)
142
 
                   ,  'DRIZZLE_TCP_PORT': (str(self.master_server.drizzle_tcp_port),0,0)
143
 
                   ,  'EXE_DRIZZLE': (self.master_server.drizzle_client,0,0)
144
 
                   ,  'DRIZZLE_DUMP': ("%s --no-defaults -uroot -p%d" %( self.master_server.drizzledump
145
 
                                                        , self.master_server.master_port),0,0)
146
 
                   ,  'DRIZZLE_SLAP': ("%s -uroot -p%d" %( self.master_server.drizzleslap
147
 
                                                        , self.master_server.master_port),0,0)
148
 
                   ,  'DRIZZLE_IMPORT': ("%s -uroot -p%d" %( self.master_server.drizzleimport
149
 
                                                          , self.master_server.master_port),0,0)
150
 
                   ,  'DRIZZLE': ("%s -uroot -p%d" %( self.master_server.drizzle_client
151
 
                                                   , self.master_server.master_port),0,0)
152
 
                   ,  'DRIZZLE_ADMIN' : ("%s -uroot -p%d" %( self.master_server.drizzleadmin
153
 
                                                         , self.master_server.master_port),0,0)
 
151
        env_reqs = { 'DRIZZLETEST_VARDIR': self.master_server.vardir
 
152
                   ,  'DRIZZLE_TMP_DIR': self.master_server.tmpdir
 
153
                   ,  'MASTER_MYSOCK': self.master_server.socket_file
 
154
                   ,  'MASTER_MYPORT': str(self.master_server.master_port)
 
155
                   ,  'MC_PORT': str(self.master_server.mc_port)
 
156
                   ,  'PBMS_PORT': str(self.master_server.pbms_port)
 
157
                   ,  'RABBITMQ_NODE_PORT': str(self.master_server.rabbitmq_node_port)
 
158
                   ,  'DRIZZLE_TCP_PORT': str(self.master_server.drizzle_tcp_port)
 
159
                   ,  'EXE_DRIZZLE': self.master_server.drizzle_client
 
160
                   ,  'DRIZZLE_DUMP': "%s --no-defaults -uroot -p%d" %( self.master_server.drizzledump
 
161
                                                        , self.master_server.master_port)
 
162
                   ,  'DRIZZLE_SLAP': "%s -uroot -p%d" %( self.master_server.drizzleslap
 
163
                                                        , self.master_server.master_port)
 
164
                   ,  'DRIZZLE_IMPORT': "%s -uroot -p%d" %( self.master_server.drizzleimport
 
165
                                                          , self.master_server.master_port)
 
166
                   ,  'DRIZZLE': "%s -uroot -p%d" %( self.master_server.drizzle_client
 
167
                                                   , self.master_server.master_port)
 
168
                   ,  'DRIZZLE_ADMIN' : "%s -uroot -p%d" %( self.master_server.drizzleadmin
 
169
                                                         , self.master_server.master_port)
154
170
                   }     
155
171
 
156
 
        self.system_manager.process_environment_reqs(env_reqs, quiet=1)
 
172
        self.working_environment = self.system_manager.create_working_environment(env_reqs)
157
173
 
158
174
    def process_symlink_reqs(self):
159
175
        """ Create any symlinks we may need """