⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 run-all-tests

📁 开启mysql的远程连接的方法 mysql-noinstall-5.1.6-alpha-win32.zip
💻
字号:
#!/usr/bin/perl# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB## This library is free software; you can redistribute it and/or# modify it under the terms of the GNU Library General Public# License as published by the Free Software Foundation; either# version 2 of the License, or (at your option) any later version.## This library is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU# Library General Public License for more details.## You should have received a copy of the GNU Library General Public# License along with this library; if not, write to the Free# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,# MA 02111-1307, USA## This program runs all test that starts with 'test-' and sums# the results that the program prints.# Each time result should be of the form:# Time for|to KEYWORD (number_of_runs) 'other info': timestr()## All options to this script is passed to all test program.# useful options:# --fast --force --lock-tables# --server   ==> mysql (default) / mSQL / Pg (postgres) / Solid# --user     ==> the user with permission to create / drop / select# --pass     ==> password for the user# --cmp      ==> Compare --server with one of the others (mysql/mSQL/Pg/Solid)# --comments ==> everything you want to say such as the extra options you#                gave to the db server. (use --comments="xxx xxx xxx"# --machine  ==> Give a OS/machine id for your logfiles.# --log	     ==> puts output in output/RUN-server-machine-cmp-$opt_cmpuse DBI;use Cwd;$opt_silent=1;			# Don't write header@ORG_ARGV=@ARGV;$pwd = cwd(); $pwd = "." if ($pwd eq '');require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";$opt_silent=0;$perl=$^X;$machine=machine();$redirect= !($machine =~ /windows/i || $machine =~ "^NT\s") ? "2>&1" : "";$dir= ($pwd =~ /\\/) ? '\\' : '/';	# directory symbol for shell$prog_args="";foreach $arg (@ORG_ARGV){  if ($redirect)  {    $prog_args.="'" . $arg . "' ";  }  else  {    # Windows/NT can't handle ' around arguments    $prog_args.=$arg . " ";      }}$prog_count=$errors=0;if ($opt_cmp) {	$filename = "$opt_server$opt_suffix-" . machine_part() . "-cmp-$opt_cmp";} else {	$filename = "$opt_server$opt_suffix-" . machine_part();}if (! -d $opt_dir){  if (-e $opt_dir)  {    die "$opt_dir isn't a directory\n";  }  mkdir $opt_dir,0777 || die "Can't create directory: $opt_dir\n";}if ($opt_skip_test) {  (@skip_tests) = split(/,\s*/, $opt_skip_test);}if ($opt_old_headers){  read_headers("$opt_dir/RUN-$filename");}else{  $server_version=$server->version();}if (!$opt_log){  open(LOG,">&STDOUT");}else{  open(LOG, "> $opt_dir/RUN-$filename") ||    die "Can't write to $opt_dir/RUN-$filename: $!\n";}select(LOG);$|=1;print "Benchmark DBD suite: $benchmark_version\n";print "Date of test:        $date\n";print "Running tests on:    $machine\n";print "Arguments:           $log_prog_args\n";print "Comments:            $opt_comments\n";print "Limits from:         $opt_cmp\n";print "Server version:      $server_version\n";print "Optimization:        $opt_optimization\n";print "Hardware:            $opt_hw\n\n";$estimated=$warning=$got_warning=0;while (<test-*>){  next if (/\.sh$/);		# configure script  next if (/\-fork$/);		# test script  $prog_count++;  /test-(.*)$/;			# Remove test from name  $prog=$1;  $skip_prog = 0;  foreach $skip_this (@skip_tests) {    if ($prog =~ /$skip_this/i) {      $skip_prog = 1;      last;    }  }  print "$prog: ";  if ((!$opt_use_old_results) && (!$skip_prog))  {    if (system("$perl ./test-$prog $prog_args > \"$opt_dir$dir$prog-$filename\" $redirect"))    {      printf STDERR "Warning: Can't execute $prog.  Check the file '$opt_dir$dir$prog-$filename'\n";      die "aborted" if ($opt_die_on_errors);    }  }  open(TEST,"$opt_dir/$prog-$filename");  $last_line="";  while(<TEST>)  {    chomp;    $last_line=$_ if (!(/^\s*$/));		# Search after last line  }  if ($last_line =~ /Total time:/i)  {    print $last_line . "\n";    open(TEST,"$opt_dir/$prog-$filename");    while (<TEST>)    {      if (/^(estimated |)time (to|for) ([^\s:]*)\s*\((\d*)(:\d*)*\)[^:]*:\s*([\d.]+) .*secs \(\s*([^\s]*) usr\s*\+*\s*([^\s]*) sys.*=\s+([\d.]*)\s+cpu/i)      {	$arg=$summa{$3};	if (!defined($arg))	{	  $summa{$3}= [ $4,$6,$7,$8,$9,""];	}	else	{	  $arg->[0]+=$4;	  $arg->[1]+=$6;	  $arg->[2]+=$7;	  $arg->[3]+=$8;	  $arg->[4]+=$9;	}	$prog_sum[0]+=$4;	$prog_sum[1]+=$6;	$prog_sum[2]+=$7;	$prog_sum[3]+=$8;	$prog_sum[4]+=$9;	if (length($1))	{	  $summa{$3}->[5].="+";	  $estimated=1;	}	if ($got_warning)	{	  $summa{$3}->[5].="?";	  $warning=1;	  $got_warning=0;	}      }      elsif (/^warning/i)      {	$got_warning=1;      }      else      {	$got_warning=0;      }    }    if ($opt_debug)    {      print "Summary for $prog: ", join(" ",@prog_sum), "\n";    }  }  elsif ($last_line =~ /^Test skipped/i)  {    print "$last_line\n";  }  else  {    $errors++;    print "Failed ($opt_dir/$prog-$filename)\n";  }}print "\n";if (!$errors){  print "All $prog_count test executed successfully\n";}else{  print "Of $prog_count tests, $errors tests didn't work\n";}if ($estimated){  print "Tests with estimated time have a + at end of line\n"}if ($warning){  print "Tests with didn't return the correct result have a ? at end of line\n";}if (%summa){  @total=(0,0,0,0,0,"");  print "\nTotals per operation:\n";  print "Operation             seconds     usr     sys     cpu   tests\n";  foreach $key (sort(keys %summa))  {    $arg=$summa{$key};    printf("%-35.35s %7.2f %7.2f %7.2f %7.2f %7d %s\n",	   $key,$arg->[1],$arg->[2],$arg->[3],$arg->[4],$arg->[0],	   $arg->[5]);    for ($i=0 ; $i < 5 ; $i++)    {      $total[$i]+=$arg->[$i];    }    $total[5].=$arg->[$i];  }  printf("%-35.35s %7.2f %7.2f %7.2f %7.2f %7d %s\n",	 "TOTALS",$total[1],$total[2],$total[3],$total[4],$total[0],	 $total[5]);}select(STDOUT);if ($opt_log){  print "Test finished. You can find the result in:\n$opt_dir/RUN-$filename\n";}## Read headers from an old benchmark run#sub read_headers{  my ($filename)=@_;  # Clear current values  $benchmark_version=$date=$machine=$server_version="";  open(TMP, "<$filename") || die "Can't open $filename\n";  while (<TMP>)  {    chop;    if (/^Benchmark DBD.*:\s+(.*)$/)    {      $benchmark_version=$1;    }    elsif (/^Date of.*:\s+(.*)/)    {      $date=$1;    }    elsif (/^Running.*:\s+(.*)$/)    {      $machine=$1;    }    elsif (/^Arguments.*:\s+(.*)$/)    {      $log_prog_args=$1;    }    elsif (/^Limits.*:\s+(.*)$/)    {      $opt_cmp=$1;    }    elsif (/^Server ver.*:\s+(.*)$/)    {      $server_version=$1;    }    elsif (/^Optimiz.*:\s+(.*)$/)    {      $opt_optimization=$1;    }    elsif (/^Hardwar.*:\s+(.*)$/)    {      $opt_hw=$1;    }  }  close(TMP);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -