The test now skips execution of inserts to separate nodes. This should
guarantee that the nodes are synced at all times.
The test now does the inserts and selects inside a transaction to force
the reads to the same node where the inserts are done.
The tests now print a stack trace to standard output if it receives a
fatal signal. This will help debug test failures caused by broken tests
and unexpected results.
The mm test was on the heavy side and the workload can be reduced for the
sake of testing only the functionality.
The mm_mysqlmon test did not check the initial state of the
server. Although not necessary, adding it will help detect test failures
caused by broken replication.
mxs1457_ignore_deleted did not stop the monitors before breaking the
replication and attempting to use MaxScale. As the test expects
authentication to work regardless of the actual state of the servers, the
monitors need to be disabled before a query is attempted.
The ssh_node function now supports printf style arguments. This is used to
simplify command execution on the nodes.
Curreltny, in addition to its old usage, it is used to drop extra
databases when replication is started.
The test now checks that both users with passwords and users without
passwords work through MaxScale when skip_authentication is enabled. In
addition to this, the test also makes sure that the wrong password and a
missing password are properly detected.
The result of the authentication should be ignored but the scramble that
is calculated as a side-effect still needs to be stored. This can be done
by altering the SQL used to get the matching row to only match on the
username, not the network address.
Also expanded the test case to cover the use of bad credentials.
The binlogrouter tests can safely use the sync_slaves functionality of the
test framework as long as a sensible timeout is used.
Cleaned up the tests by removing redundant code and allocating classes
from the stack thus removing the need to handle memory allocation.
The test inserted 200k rows with autocommit enabled which made it very
slow. Wrapping the inserts inside a transaction gives the test a
significant speed boost.
The tests should only test the cases when the payload size changes the
number of packets the query generates. This involves generating only one
packet, one full packet and one partial packet and one full packet and one
empty packet. These cases should cover all reasonable edge cases and
further testing doesn't seem to provide any significant benefit.
The fwf test now only tests the functionality of the rules themselves, not
the parsing. The fwf_syntax test handles the testing of the parser. The
fwf2 test was removed as it was almost identical with the original fwf
test.
Removed unnecessary sleeps from tests that appear to serve no
purpose. Moveed the kerberos code from the general startup routines to the
kerberos test.