| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
tests fail
Added calls to mtr_report_stats() also after timeout or too many failures
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix bug in mtr_cases.pm script visible only when InnoDB isn't configured.
mysql-test/lib/mtr_cases.pm:
If InnoDB isn't configured the help texts won't show the "innodb" option and mysqld_variables will not contain any "innodb" entry.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It is not possible to prevent the server from starting if a mandatory
built-in plugin fails to start. This can in some cases lead to data
corruption when the old table name space suddenly is used by a different
storage engine.
A boolean command line option in the form of --foobar is automatically
created for every existing plugin "foobar". By changing this command line
option from a boolean to a tristate { OFF, ON, FORCE } it is possible to
specify the plugin loading policy for each plugin.
The behavior is specified as follows:
OFF = Disable the plugin and start the server
ON = Enable the plugin and start the server even if an error occurrs
during plugin initialization.
FORCE = Enable the plugin but don't start the server if an error occurrs
during plugin initialization.
mysql-test/lib/mtr_cases.pm:
* Changed --<pluginname> from a boolean to a tristate.
mysys/my_getopt.c:
* Changed --<pluginname> from boolean to tristate. Optional arguments
must still work for tristates. It is praxis that disable means value 0
and enable is value 1. Since plugin name is the only tristate with
optional arguments this principle will still hold.
sql/sql_plugin.cc:
* Changed --<pluginname> option from a boolean type to a tristate.
- FORCE will now terminate the server if the plugin fails to
initialize properly.
* Refactored prototypes for test_plugin_options() and construct_options()
to get rid of the 'enable' value pointer.
* Cleaned up code related to option name constructing.
* Added documentation
sql/sql_plugin.h:
* Introduced new member to st_plugin_int structure.
|
| |/
|/|
| |
| |
| |
| | |
Adding "w# " before the test result
Also enable --parallel=2 so this can be tested.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Several options were not documented
Added missing options and removed a few
Fixed use of --skip-combinations
|
|/ /
| |
| |
| |
| | |
Suspected reason for the failure is that safe_process.exe already runs in a job that does not allow breakaways.
The fix is to use a fallback - make newly created process the root of the new process group. This allows to kill process together with descendants via GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, pid)
|
| |
| |
| |
| | |
Net::Ping does not have port_number method (port_number was introduced around 2007). The fix is to check if port_number is present. Otherwise, fallback to the slow connect().
|
| |
| |
| |
| |
| |
| |
| |
| | |
group exits
MTR would die as soon as one server terminates
Implemented --wait-all option and associated subroutine
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MTR is stuck for about 20 seconds checking for free ports.
The reason is that perl's connect() takes 1 second on windows
if port is not opened.
This patch fixes the mtr_ping_port implementation on Windows
to use Net::Ping for the port checking with small (0.1sec) timeout.
This patch also removes pointless second call to check_ports_free()
in case of auto build thread.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
perl
The problem here was the method how MTR gets its unique thread ids.
Prior to this patch, the method to do it was to maintain a global
table of pid,mtr_unique_id) pairs. The table was backed by a text
file. The table was cleaned up one in a while and dead processes leaking
unique_ids were determined with with kill(0) or with scripting tasklist
on Windows.
This method is flawed specifically on native Windows Perl. fork() is
implemented with starting a new thread, give it a syntetic negative PID
(threadID*(-1)), until this thread creates a new process with exec()
However, neither tasklist nor any other native Windows tool can cope with
negative perl PIDs. This lead to incorrect determination of dead process
and reusing already used mtr_unique_id.
The patch introduces alternative portable method of solving unique-id
problem. When a process needs a unique id in range [min...max], it just
starts to open files named min, min+1,...max in a loop . After file is
opened, we do non-blocking flock(). When flock() succeeds, process has
allocated the ID. When process dies, file is unlocked . Checks for zombies
are not necessary.
Since the change would create a co-existence problems with older version
of MTR, because of different way to calculate IDs, the default ID range
is changed from 250-299 to 300-349.
Another fix that was necessary enable --parallel option was to serialize
spawn() calls on Windows. specifically, IO redirects needed to be protected.
This patch also fixes hanging CRTL-C (as described in Bug #38629) for the
"new" MTR. The fix was already in 6.0 and is now downported.
|
| |
| |
| |
| |
| |
| |
| |
| | |
seconds), ABORTING."
Potentially infinite loop in check_expected_crash_and_restart
Replace with finite loop and some additional logic
|
| |
| |
| |
| |
| |
| | |
Hangs when trying to copy the pipe
Amend copytree() to only copy regular files
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'repeat=n'
option
In practice, only the last run of the test was counted
Add a separate counter rep_failures for failures before last run
|
| |
| |
| |
| |
| |
| |
| | |
DEFAULT_SUITES
If suite specified as part of test name, collect from that suite too.
|
| |
| |
| |
| |
| |
| | |
not evaluated if -i ,-y or -z contains an invalid path.
cdb would hang then waiting for user input, which is bad for use in scripts
|
|/
|
|
|
|
|
| |
Executable path is truncated in core
If we see truncated path, try to guess using strings and grep
If that doesn't work either, use known mysqld path
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some variable values were missing and perl constructs failed.
Initialized the variables and refactored the gcov functions.
.bzrignore:
Bug#40446 - mysql-test-run --gcov is broken
Added gcov log files.
mysql-test/lib/mtr_gcov.pl:
Bug#40446 - mysql-test-run --gcov is broken
Refactored the gcov functions.
mysql-test/mysql-test-run.pl:
Bug#40446 - mysql-test-run --gcov is broken
Initialized gcov variables.
Added usage information.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- output callstacks from crash using cdb debugger which is part
of "Debugging Tools for Windows". Output other interesting
information - function parameters, possibly source code fragment
and other goodies of "!analyze" cdb extension.
|
| | |
| | |
| | |
| | | |
Fix: use FormatMessage() to output system errors , not strerror()
|
| |/
|/|
| |
| |
| |
| |
| | |
sys/resource.h
Added include of sys/time.h
|
| |
| |
| |
| |
| |
| | |
Would not prevent mysqld from core dumping
Passes --nocore arg to safe_process, which then sets rlimit core to 0 for child
|
| |
| |
| |
| |
| |
| | |
Retried tests are reported the same as ordinary ones
Prepend "retry-" to fail or pass for retried tests
|
|\ \ |
|
| | | |
|
| |\ \
| | | |
| | | |
| | | | |
configurable and transparent what kinds of tests we run during integration testing. Implement filter list in mysql-test-run.pl to filter out failures of experimental test cases, using a new status code "exp-fail", so we can tell regressions ("fail") from failures of test cases that are still in development ("exp-fail").
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
port unavailble
MTR gives up if wanted port not available
Try next range if set to 'auto'
Also, use next number for additional threads if explicitly set
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Error log gets truncated when mysqld is restarted by MTR
mysql-test/include/check-warnings.test:
Since server doesn't have log-error, get it from env. var. set by MTR
mysql-test/lib/My/ConfigFactory.pm:
"Hide" log-error in a comment
mysql-test/mysql-test-run.pl:
"Hide" log-error in my.cnf by comment
add --console to arguments on Windows
Move .err file to var/log
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
finds path too long
Faulty logic in cleanup
Put test file into tmpdir, cleanup by removing tmpdir
|
|/ /
| |
| |
| |
| |
| |
| | |
Windows
- /tmp directory is not guaranteed to exist on Windows.
Use the value of environment variable TEMP here
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Allow the new process to break away from any job that this
process is part of so that it can be assigned to the new JobObject
we just created. This is safe since the new JobObject is created with
the JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE flag, making sure it will be
terminated when the last handle to it is closed(which is owned by
this process).
|
| |
| |
| |
| |
| | |
Changed [ skip ] to [ skipped ] and removed optional .
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems that the length of the thick line printed by mtr when printing the
suite name differs from mtr1 and mtr2, affecting the mtr filtering by PB2.
This patch addresses it by restoring the thick line length to 78 (original
length) instead of 60 (the one in mtr2).
|
| |
| |
| |
| | |
- Improve error message for "found warnings in server log file"
|
|\ \ |
|
| | |
| | |
| | |
| | | |
- extend debug prints for "permission denied"
|
| | |
| | |
| | |
| | |
| | |
| | | |
- Clear test variables "comment" and "logfile" to make sure thay aren't
already set from previous run of same test
- Print warning if test result already set and set it anyway
|
| | |
| | |
| | |
| | | |
- fix typo
|
| | |
| | |
| | |
| | | |
- Add debug prints for analyzing mkdir "Permission denied" failure
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Add a "skip-ssl=1" to [mysqltest] section so that
mysqltest will not run with ssl turned on by default
but stil be able to turn it on when requested
- This avoids that check_warnings and check_testcase
connects to the server woth SSL turned on
|
|\ \ \
| |/ /
|/| | |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
conflicts:
Text conflict in client/mysqltest.cc
Text conflict in mysql-test/include/wait_until_connected_again.inc
Text conflict in mysql-test/lib/mtr_report.pm
Text conflict in mysql-test/mysql-test-run.pl
Text conflict in mysql-test/r/events_bugs.result
Text conflict in mysql-test/r/log_state.result
Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
Text conflict in mysql-test/r/mysqlcheck.result
Text conflict in mysql-test/r/query_cache.result
Text conflict in mysql-test/r/status.result
Text conflict in mysql-test/suite/binlog/r/binlog_index.result
Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
Text conflict in mysql-test/t/disabled.def
Text conflict in mysql-test/t/events_bugs.test
Text conflict in mysql-test/t/log_state.test
Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
Text conflict in mysql-test/t/mysqlcheck.test
Text conflict in mysql-test/t/query_cache.test
Text conflict in mysql-test/t/rpl_init_slave_func.test
Text conflict in mysql-test/t/status.test
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug #39438: Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
Detailed revision comments:
r2719 | vasil | 2008-10-03 18:17:28 +0300 (Fri, 03 Oct 2008) | 49 lines
branches/5.1:
Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
In ha_innobase::info() - do not try to get the free space for a tablespace
which has been discarded with ALTER TABLE ... DISCARD TABLESPACE or if the
.ibd file is missing for some other reason.
ibd_file_missing and tablespace_discarded are manipulated only in
row_discard_tablespace_for_mysql() and in row_import_tablespace_for_mysql()
and the manipulation is protected/surrounded by
row_mysql_lock_data_dictionary()/row_mysql_unlock_data_dictionary() thus we
do the same in ha_innobase::info() when checking the values of those members
to avoid race conditions. I have tested the code-path with UNIV_DEBUG and
UNIV_SYNC_DEBUG.
rb://20
Reviewed by: Inaam, Calvin
Approved by: Heikki
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Additional patch with improved protection by putting it all inside an "eval"
- Calling 'hostpath' on a truncated socket may also croak.
- Remove the need to create any directory parts of "path" inside the function.
|
|\ \ \ \ \ |
|