~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/test-run.pl

  • Committer: Olaf van der Spek
  • Date: 2011-03-29 12:04:36 UTC
  • mto: (2257.1.1 build) (2276.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2258.
  • Revision ID: olafvdspek@gmail.com-20110329120436-vozkuer8vqgh027p
Always call assert()

Show diffs side-by-side

added added

removed removed

Lines of Context:
148
148
 
149
149
our $opt_usage;
150
150
our $opt_suites;
151
 
our $opt_suites_default= "main,jp"; # Default suites to run
 
151
our $opt_suites_default= "main"; # Default suites to run
152
152
our $opt_script_debug= 0;  # Script debugging, enable with --script-debug
153
153
our $opt_verbose= 0;  # Verbose output, enable with --verbose
154
154
 
230
230
our $opt_slave_myport;
231
231
our $opt_memc_myport;
232
232
our $opt_pbms_myport;
 
233
our $opt_rabbitmq_myport;
233
234
our $opt_record;
234
235
my $opt_report_features;
235
236
our $opt_check_testcases;
373
374
  }
374
375
  else
375
376
  {
376
 
    # Figure out which tests we are going to run
 
377
 
377
378
    if (!$opt_suites)
378
379
    {
379
 
      $opt_suites= $opt_suites_default;
380
 
 
381
 
      # Check for any extra suites to enable based on the path name
382
 
      my %extra_suites= ();
383
 
 
384
 
      foreach my $dir ( reverse splitdir($glob_basedir) )
385
 
      {
386
 
        my $extra_suite= $extra_suites{$dir};
387
 
        if (defined $extra_suite){
388
 
          dtr_report("Found extra suite: $extra_suite");
389
 
          $opt_suites= "$extra_suite,$opt_suites";
390
 
          last;
391
 
        }
392
 
      }
 
380
 
 
381
        $opt_suites= $opt_suites_default;
 
382
 
 
383
        my %extra_suites= ();
 
384
 
 
385
        foreach my $dir ( reverse splitdir($glob_basedir) )
 
386
        {
 
387
            my $extra_suite= $extra_suites{$dir};
 
388
            if (defined $extra_suite){
 
389
                dtr_report("Found extra suite: $extra_suite");
 
390
                $opt_suites= "$extra_suite,$opt_suites";
 
391
                last;
 
392
            }
 
393
        }
393
394
    }
394
395
 
395
396
    my $tests= collect_test_cases($opt_suites);
508
509
             'slave_port=i'             => \$opt_slave_myport,
509
510
             'memc_port=i'              => \$opt_memc_myport,
510
511
             'pbms_port=i'              => \$opt_pbms_myport,
 
512
             'rabbitmq_port=i'              => \$opt_rabbitmq_myport,
511
513
             'dtr-build-thread=i'       => \$opt_dtr_build_thread,
512
514
 
513
515
             # Test case authoring
613
615
             'help|h'                   => \$opt_usage,
614
616
            ) or usage("Can't read options");
615
617
 
616
 
  usage("") if $opt_usage;
617
 
 
618
618
  usage("you cannot specify --gdb and --dbx both!") if 
619
619
        ($opt_gdb && $opt_dbx) ||
620
620
        ($opt_manual_gdb && $opt_manual_dbx);
661
661
  # distributions, TAR binary distributions and some other packages.
662
662
  $glob_basedir= dirname($glob_drizzle_test_dir);
663
663
 
 
664
  # Figure out which tests we are going to run
 
665
  my $suitedir= "$glob_drizzle_test_dir/suite";
 
666
  if ( -d $suitedir )
 
667
  {
 
668
      opendir(SUITE_DIR, $suitedir)
 
669
          or dtr_error("can't open directory \"$suitedir\": $!");
 
670
 
 
671
      while ( my $elem= readdir(SUITE_DIR) )
 
672
      {
 
673
          next if $elem eq ".";
 
674
          next if $elem eq "..";
 
675
          next if $elem eq "big"; # Eats up too much disk
 
676
          next if $elem eq "large_tests"; # Eats up too much disk
 
677
          next if $elem eq "stress"; # Currently fails
 
678
          next if $elem eq "broken"; # Old broken test, mainly unsupported featurs
 
679
 
 
680
          my $local_dir= "$suitedir/$elem";
 
681
 
 
682
          next unless -d $local_dir;
 
683
          next unless -d "$local_dir/t"; # We want to make sure it has tests
 
684
          next unless -d "$local_dir/r"; # Ditto, results
 
685
 
 
686
          $opt_suites_default.= ",$elem";
 
687
      }
 
688
      closedir(SUITE_DIR);
 
689
  }
 
690
 
 
691
  usage("") if $opt_usage;
 
692
 
664
693
  # In the RPM case, binaries and libraries are installed in the
665
694
  # default system locations, instead of having our own private base
666
695
  # directory. And we install "/usr/share/drizzle-test". Moving up one
1141
1170
  $opt_slave_myport=          gimme_a_good_port($opt_master_myport + 2);  # and 3 4
1142
1171
  $opt_memc_myport= gimme_a_good_port($opt_master_myport + 10);
1143
1172
  $opt_pbms_myport= gimme_a_good_port($opt_master_myport + 11);
 
1173
  $opt_rabbitmq_myport= gimme_a_good_port($opt_master_myport + 12);
1144
1174
 
1145
1175
  if ( $opt_master_myport < 5001 or $opt_master_myport + 10 >= 32767 )
1146
1176
  {
1470
1500
  $ENV{'SLAVE_MYPORT1'}=      $slave->[1]->{'port'};
1471
1501
  $ENV{'SLAVE_MYPORT2'}=      $slave->[2]->{'port'};
1472
1502
  $ENV{'MC_PORT'}=            $opt_memc_myport;
1473
 
  $ENV{'PBMS_PORT'}=            $opt_pbms_myport;
1474
 
  $ENV{'DRIZZLE_TCP_PORT'}=     $drizzled_variables{'drizzle-protocol.port'};
 
1503
  $ENV{'PBMS_PORT'}=          $opt_pbms_myport;
 
1504
  $ENV{'RABBITMQ_NODE_PORT'}= $opt_rabbitmq_myport;
 
1505
  $ENV{'DRIZZLE_TCP_PORT'}=   $drizzled_variables{'drizzle-protocol.port'};
1475
1506
 
1476
1507
  $ENV{'DTR_BUILD_THREAD'}=      $opt_dtr_build_thread;
1477
1508
 
1629
1660
    print "Using SLAVE_MYPORT2         = $ENV{SLAVE_MYPORT2}\n";
1630
1661
    print "Using MC_PORT               = $ENV{MC_PORT}\n";
1631
1662
    print "Using PBMS_PORT             = $ENV{PBMS_PORT}\n";
 
1663
    print "Using RABBITMQ_NODE_PORT    = $ENV{RABBITMQ_NODE_PORT}\n";
1632
1664
  }
1633
1665
 
1634
1666
  # Create an environment variable to make it possible
1828
1860
  symlink(collapse_path("$glob_drizzle_test_dir/std_data"),
1829
1861
          "$opt_vardir/std_data_ln");
1830
1862
 
1831
 
  symlink(collapse_path("$glob_suite_path/filesystem_engine/tests/t"),
1832
 
          "$opt_vardir/filesystem_ln");
1833
 
 
1834
1863
  # Remove old log files
1835
1864
  foreach my $name (glob("r/*.progress r/*.log r/*.warnings"))
1836
1865
  {
1838
1867
  }
1839
1868
  system("chmod -R ugo+r $opt_vardir");
1840
1869
  system("chmod -R ugo+r $opt_vardir/std_data_ln/*");
1841
 
  system("chmod -R ugo+rw $opt_vardir/filesystem_ln/*");
1842
 
  system("chmod -R ugo+w $glob_suite_path/filesystem_engine/tests/t");
1843
1870
}
1844
1871
 
1845
1872
 
3295
3322
  {
3296
3323
    # write init file for drizzled
3297
3324
    dtr_tofile($dbx_init_file,
3298
 
               "stop in __1cIdrizzledLmysql_parse6Fpn0AHSession_pkcI_v_\n" .
 
3325
               "stop in __1cIdrizzledLparse6Fpn0AHSession_pkcI_v_\n" .
3299
3326
               "runargs $str\n" .
3300
3327
               "run\n" .
3301
3328
               "\n");
3366
3393
               "set args $str\n" .
3367
3394
               "$extra_gdb_init" .
3368
3395
               "set breakpoint pending on\n" .
3369
 
               "break drizzled::mysql_parse\n" .
 
3396
               "break drizzled::parse\n" .
3370
3397
               "commands 1\n" .
3371
3398
               "disable 1\n" .
3372
3399
               "end\n" .
3432
3459
    dtr_tofile($gdb_init_file,
3433
3460
               "file $$exe\n" .
3434
3461
               "set args $str\n" .
3435
 
               "break drizzled::mysql_parse\n" .
 
3462
               "break drizzled::parse\n" .
3436
3463
               "commands 1\n" .
3437
3464
               "disable 1\n" .
3438
3465
               "end");