~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to util/bughunt.pl

add both types of test to the 'make test' Makefile target

Show diffs side-by-side

added added

removed removed

Lines of Context:
66
66
GetOptions($options,
67
67
           'config=s',
68
68
           'grammar=s',
69
 
           'redefine=s',
70
69
           'trials=i',
71
70
           'initial_seed=i',
72
71
           'storage_prefix=s',
83
82
              'expected_outputs',
84
83
              'grammar',
85
84
              'gendata',
86
 
              'redefine',
87
85
              'trials',
88
86
              'initial_seed',
89
87
              'mask_level',
90
88
              'initial_mask',
91
89
              'search_var_size',
92
90
              'rqg_options',
93
 
              'basedir',
94
91
              'vardir_prefix',
95
92
              'storage_prefix',
96
93
              'stop_on_match',
97
94
              'mysqld'],
98
95
    required=>['rqg_options',
99
96
               'grammar',
100
 
               'basedir',
101
97
               'vardir_prefix',
102
98
               'storage_prefix'],
103
99
    defaults => {search_var_size=>10000,
144
140
my $sql_grammar = $storage."/bughunt_sql.yy";
145
141
copy($config->grammar, $sql_grammar)
146
142
    or croak("File " . $config->grammar . " cannot be copied to " . $sql_grammar );
147
 
my $data_grammar = "";
148
143
if ( defined $config->gendata ) {
149
 
   $data_grammar = $storage."/bughunt_data.zz";
 
144
   my $data_grammar = $storage."/bughunt_data.yy";
150
145
   copy($config->gendata, $data_grammar)
151
146
       or croak("File " . $config->gendata . " cannot be copied to " . $data_grammar );
152
147
   $rqgoptions = $rqgoptions . " --gendata=" . $data_grammar;
153
148
}
154
 
my $redefine_grammar = "";
155
 
if ( defined $config->redefine ) {
156
 
   $redefine_grammar = $storage."/bughunt_sql_redefine.yy";
157
 
   copy($config->redefine, $redefine_grammar)
158
 
       or croak("File " . $config->redefine . " cannot be copied to " . $redefine_grammar );
159
 
   $rqgoptions = $rqgoptions . " --redefine=" . $redefine_grammar;
160
 
}
161
 
 
162
 
# Some bugs can be investigating using the core file and the server binary.
163
 
# Make a copy of the server binary.
164
 
# Attention: In the moment we do not use the copy during testing like the grammars.
165
 
# FIXME: There is at least one more location where the "mysqld" binary might be stored.
166
 
copy($config->basedir.'/sql/mysqld', $storage.'/mysqld');
167
 
$rqgoptions = $rqgoptions . " --basedir=" . $config->basedir;
168
149
 
169
150
my $good_seed = $config->initial_seed;
170
151
my $mask_level = $config->mask_level;
197
178
    my $runall_status = system($runall);
198
179
    $runall_status = $runall_status >> 8;
199
180
 
200
 
    if ($runall_status == STATUS_UNKNOWN_ERROR) {
201
 
       say("runall_status = $runall_status");
202
 
       say("Maybe the server startup options are wrong.");
203
 
       say("Abort");
204
 
       exit STATUS_UNKNOWN_ERROR;
205
 
    }
206
 
 
207
 
 
208
181
    my $end_time = Time::HiRes::time();
209
182
    my $duration = $end_time - $start_time;
210
183
 
228
201
        checkLogForPattern();
229
202
    }
230
203
    # Save storage space by deleting the log of a non important run.
231
 
    if ($preserve_log == 0) {
232
 
       unlink($current_rqg_log)
233
 
    } else {
234
 
      # Backup vardir, the grammars and the mysqld binary 
235
 
      # Attention: There might be warnings about missing grammar files
236
 
      # Sleep a bit with the intention to avoid that the archiver comes up with a
237
 
      # warning like "<vardir>/master-data/ib_logfile1: File changed during reading
238
 
      sleep 10;
239
 
      my $save_cmd = 'tar czf ' . $storage . '/' . $trial . '.tgz ' . $vardir . ' ' . $current_rqg_log . ' ' . $sql_grammar . ' ' . $data_grammar . ' ' . $redefine_grammar . ' ' . $storage.'/mysqld' ;
240
 
      say("save_cmd: ->$save_cmd<-");
241
 
      my $save_vardir = system($save_cmd);
242
 
      # FIXME: Abort in case the call to tar fails
243
 
    }
244
 
 
 
204
    if ($preserve_log == 0) { unlink($current_rqg_log) };
245
205
}
246
206
 
247
207
#############################