- fix for IM stopping routine;
- polishing.
mysql-test/lib/mtr_process.pl:
Polishing: make mtr_kill_process() more verbose in debug mode.
mysql-test/mysql-test-run.pl:
1. Fix stopping of IM running as a daemon -- after death of the main IM
process, we should wait for the IM angel to die.
2. Polishing -- be more verbose in debug mode.
into mysql.com:/opt/local/work/mysql-5.0-runtime-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/im_options_set.result:
Auto merged
mysql-test/r/im_options_unset.result:
Auto merged
mysql-test/r/trigger-grant.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/share/errmsg.txt:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests fail on FreeBSD.
The patch contains of the following:
- make Instance Manager, running in the daemon mode, dump
the pid of angel-process in the special file;
- default value of angel-pid-file-name is 'mysqlmanager.angel.pid';
- if ordinary (IM) pid-file-name is specified in the configuration,
angel-pid-file-name is updated according to the following
rule: extension of the basename of pid-file-name is replaced by
'.angel.pid.
For example:
- pid-file-name: /tmp/im.pid
=> angel-pid-file-name: /tmp/im.angel.pid
- pid-file-name: /tmp/im.txt
=> angel-pid-file-name: /tmp/im.angel.pid
- pid-file-name: /tmp/5.0/im
=> angel-pid-file-name: /tmp/5.0/im.angel.pid
- add support for configuration option to customize angel
pid file name;
- fix test suite to use angel pid to kill Instance Manager
by all means if something went wrong.
Background
----------
The problem is that on some OSes (FreeBSD for one) Instance
Manager does not get SIGTERM, so can not shutdown gracefully.
Test suite wasn't able to cope with it, so this leads to the
mess in test results.
The problem should be split into two:
- fix signal handling;
- fix test suite.
This patch fixes test suite so that it will be able to kill
uncooperative Instance Manager. In order to achieve this,
test suite needs to know PID of IM Angel process.
mysql-test/lib/mtr_process.pl:
Added a function to send a signal to a process.
mysql-test/mysql-test-run.pl:
Changed procedure of stopping Instance Manager.
1. Try to stop IM normally (by sending SIGTERM);
2. If one of IM-related processes is still alive,
kill them all by SIGKILL and complain in the log.
server-tools/instance-manager/manager.cc:
Made create_pid_file() available for the whole project.
server-tools/instance-manager/manager.h:
Made create_pid_file() available for the whole project.
server-tools/instance-manager/mysqlmanager.cc:
Dump PID of angel process into file.
server-tools/instance-manager/options.cc:
Added an option to allow to customize angel pid file name.
server-tools/instance-manager/options.h:
Added an option to allow to customize angel pid file name.
mysql-test-run now fails in case of warnings
mysql-test/lib/mtr_report.pl:
Fail if find warnings
mysql-test/mysql-test-run.sh:
Fail if find warnings
sql/sql_lex.cc:
Initalize st_lex properly
sql/sql_view.cc:
Fixed problem with unaligned memory (wrong free)
Set LD_LIBRARY_PATH and UDF_EXAMPLE_LIB from $lib_udf_example
mysql-test/lib/mtr_misc.pl:
Return empty string if file does not exist
mysql-test/mysql-test-run.pl:
Set LD_LIBRARY_PATH and UDF_EXAMPLE_LIB from $lib_udf_example variable
Then check in have_udf if that variable is set. Finally use tahe variable when loading the shared library.
mysql-test/include/have_udf.inc:
Add check if udf_example.so(or similar) is available
mysql-test/lib/mtr_misc.pl:
Add funcion "mtr_file_exist" to search for files
mysql-test/mysql-test-run.pl:
Add checks to find the udf_example.so library
mysql-test/r/udf.result:
Update result
mysql-test/t/disabled.def:
Remove udf.test from disabled tests
mysql-test/t/udf.test:
Use variable UDF_EXAMPLE_LIB when looking for shared library to load
mysql-test/r/have_udf_example.require:
New BitKeeper file ``mysql-test/r/have_udf_example.require''
- Log boostratp/install to var/log/boostrap.log
- Log output from mysqladmin to var/log/mysqladmin.log
- Remove old manager references
mysql-test/lib/mtr_process.pl:
Log output from mysqladmin to var/log/mysqladmin.log
mysql-test/mysql-test-run.pl:
Log output from boostrap/install of db's to var/log/bootstrap.log
Remove references to old manager
mysql-test/lib/mtr_process.pl:
Change from "mtr_error()" to "mtr_warning()" on some problems,
because "error" makes the whole suite abort which then makes "Do-compile" terminate,
so none of the following steps (including other etst suites) will be done.
client/mysqltest.c:
Dump accumulated result upuntil test failure into a <testname>.log file for later examination
mysql-test/lib/mtr_report.pl:
Inform about the <testname>.log file's existence
into mysql.com:/usr/local/mysql/mysql-5.0
mysql-test/lib/mtr_timer.pl:
Auto merged
ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
mysql-test/lib/mtr_timer.pl:
Fix bug where ^C would trigger cleanup handler in both parent and
timeout child processes, causing duplicated messages and potential
conflicts.
- Back porting of some changes in later releases
- Corrected valgrind support
- Removed work around for TZ needed in VisualStudio 6
- Don't restart master to add special settings from "<testcase>-master.opt",
if same settngs as running master, feature request in bug#12433
- With --reorder, keep tests with same *-master.opt content together,
to save even more master restarts
mysql-test/lib/mtr_misc.pl:
Added functions to compare lists of options
mysql-test/lib/mtr_cases.pl:
Removed special code for Windows as in VC6 we unset
TZ to avoid library bug
mysql-test/mysql-test-run.pl:
Handle pseudo option --timezone=<spec> that sets TZ
- Fix problems that occur when ndbcluster is not supported
mysql-test/lib/mtr_cases.pl:
Marked test to be skipped if it is a ndb test but ndb is not supported
mysql-test/mysql-test-run.pl:
Check "opt_with_ndbcluster" before deciding to stop masters and when dciding if cluster needs to be started.
mysql-test/lib/mtr_cases.pl:
Always set "ndb_test" if tets name contains ndb.
Set to skipped if "--skip-ndbcluster"
mysql-test/lib/mtr_report.pl:
Print special error message for ndb_test that are failed due to failure to start or install ndbcluster
mysql-test/mysql-test-run.pl:
Remove mtr_error call from ndbcluster_install, instead check after ndbcluster_install if test run should continue or if it should be aborted
Faile ndb test and print special error message if it's a ndb test and flag_ndb_status_ok is not ok
mysql-test/lib/mtr_cases.pl:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
sql/spatial.cc:
Auto merged
Added { ... } around float8get() macro, avoids VC7 error
message "illegal else without matching if"
mtr_report.pl:
Parse error logs to create "warnings" file
mtr_cases.pl:
Added optoion --ignore-disabled-def
Windows build now let TZ pass, removed
work around
mysql-test-run.pl, mtr_process.pl:
Back port of changes from 5.0
mysql-test/lib/mtr_process.pl:
Back port of changes from 5.0
mysql-test/mysql-test-run.pl:
Back port of changes from 5.0
mysql-test/lib/mtr_cases.pl:
Added optoion --ignore-disabled-def
Windows build now let TZ pass, removed
work around
mysql-test/lib/mtr_report.pl:
Parse error logs to create "warnings" file
sql/spatial.cc:
Added { ... } around float8get() macro, avoids VC7 error
message "illegal else without matching if"
errorneously abort reporting failure to kill child processes, where in
reality the problem was merely that the child had become a zombie because
of missing waitpid() call.
mysql-test/lib/mtr_process.pl:
Fix race (on some platforms) when killing processes.
not needed by the tescases. This will save test time for those testcases
that does not need cluster, but need a restart, as they dont have to wait
the extra time it would take for cluster to restart. It will also save
time for other testcases, as cluster does not
need to be contacted for each table to be dropped or created.
Backport from 5.1
mysql-test/lib/mtr_cases.pl:
Mark all test cases where name contains "ndb" as ndbcluster needed
mysql-test/lib/mtr_match.pl:
Add mtr_match_substring function
mysql-test/lib/mtr_stress.pl:
Extre param to mysqld_start
mysql-test/mysql-test-run.pl:
Only start ndbcluster for testcases that needs it.
with 20 test loops in case when any limit parameter was specified
mysql-test/lib/mtr_stress.pl:
Limit stress testing with 20 test loops in case when any limit parameter was specified
mysql-test/mysql-test-run.pl:
Limit stress testing with 20 test loops in case when any limit parameter was specified
mysql-test/mysql-test-run.sh:
Limit stress testing with 20 test loops in case when any limit parameter was specified
Corrected function declaration
mysql-test/lib/mtr_misc.pl:
Corrected function declaration
mysql-test/mysql-test-run.pl:
Added support of stress mode
mysql-test/lib/mtr_stress.pl:
Added support of stress mode
Added --skip-im option handling
Don't terminate script if IM fails to create PID file
mtr_cases.pl:
Added --skip-im option handling
mtr_process.pl:
Kill left over 'mysqld' processes started by IM
mysql-test/lib/mtr_process.pl:
Kill left over 'mysqld' processes started by IM
mysql-test/lib/mtr_cases.pl:
Added --skip-im option handling
mysql-test/mysql-test-run.pl:
Added --skip-im option handling
Don't terminate script if IM fails to create PID file
mysql-test/lib/init_db.sql:
Data type of the "Password" column has been changed in "mysql_create_system_tables",
this must be reflected here (until they are united). bug#14023
1) Add support to testing Instance Manager in daemon mode;
2) Don't run Instance Manager tests when running with --ps-protocol option;
mysql-test/lib/mtr_cases.pl:
WL#2789 "Instance Manager: test using mysql-test-run testing framework"
Skip/disable Instance Manager tests in the following cases:
- we are testing embedded server;
- we are running with --ps-protocol;
- Instance Manager executable does not exist;
Report about the reason in the standard way.
mysql-test/lib/mtr_process.pl:
WL#2789 "Instance Manager: test using mysql-test-run testing framework"
Make several attempts (i.e. send several signals to process) while trying to kill it.
mysql-test/mysql-test-run.pl:
WL#2789 "Instance Manager: test using mysql-test-run testing framework"
Add support for testing Instance Manager in daemon mode.
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
BUILD/SETUP.sh:
Auto merged
client/mysql.cc:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/des_key_file.cc:
Auto merged
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
Text formatting, adjust table header
mysql-test-run.pl:
Remove requirement for source tree to run embedded server test
mysqldump.test:
Removed ending ';' from --exec line
mysql-test/t/mysqldump.test:
Removed ending ';' from --exec line
mysql-test/mysql-test-run.pl:
Remove requirement for source tree to run embedded server test
mysql-test/lib/mtr_report.pl:
Text formatting, adjust table header
client/mysqltest.c:
Auto merged
mysql-test/lib/mtr_process.pl:
Auto merged
os2/MySQL-Source.icc:
Auto merged
regex/Makefile.am:
Auto merged
regex/engine.c:
Auto merged
regex/main.c:
Auto merged
regex/regerror.c:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/mysqld.cc:
Auto merged
mysql-test/lib/mtr_process.pl:
Handle errors in child processes separate from the parent process (patch supplied by Kent).
mysql-test/lib/mtr_report.pl:
New function to handle errors in child processes separate from the parent process (patch supplied by Kent).
Expected to avoid HUP signals.
mysql-test/lib/mtr_report.pl:
Make the Perl test script output identical to that of the (old) shell script,
so that reported differences compare as equal strings (for automatic analysis).
Make sure mtr_kill_processes() is called with an array ref
Corrected error string for STDERR redirect
mysql-test/lib/mtr_process.pl:
Make sure mtr_kill_processes() is called with an array ref
Backporting from 5.0
mysql-test/mysql-test-run.pl:
Backporting from 5.0
mysql-test/lib/mtr_process.pl:
Backporting from 5.0
mysql-test/lib/mtr_report.pl:
Backporting from 5.0
mysql-test/lib/mtr_timer.pl:
Backporting from 5.0
mysql-test/Makefile.am:
Make installation procedure aware of the Instance Manager tests.
mysql-test/lib/mtr_cases.pl:
Make collect_one_test_case() aware of the Instance Manager tests.
mysql-test/lib/mtr_process.pl:
Minor changes:
- open log files for append, not for overwrite. Append mode is very
useful for debugging of several tests;
- extract the code for killing processes into a separate function:
mtr_kill_processes(). The function is used to stop IM-related processes.
mysql-test/mysql-test-run.pl:
Added support for the Instance Manager tests.
Call mtr_timer_stop_all() at exit
mtr_report.pl, mysql-test-run.pl:
Added default/ps-protocol/embedded to abort and summary line
mtr_timer.pl:
Added function mtr_timer_stop_all()
mysql-test/mysql-test-run.pl:
Added default/ps-protocol/embedded to abort and summary line
mysql-test/lib/mtr_timer.pl:
Added function mtr_timer_stop_all()
mysql-test/lib/mtr_report.pl:
Added default/ps-protocol/embedded to abort and summary line
mysql-test/lib/mtr_process.pl:
Call mtr_timer_stop_all() at exit