Commit Graph

478 Commits

Author SHA1 Message Date
994d3bc22d Disable mxs1824_double_cursor
The test doesn't work due to the fact that the connector can't open two
cursors at the same time.
2018-06-06 08:46:45 +03:00
e6a9b83269 MXS-1899: Test that generated [maxscale] sections work
The test alters the configuration at runtime and restarts MaxScale.
2018-06-06 08:46:45 +03:00
d22f6d7b1c MXS-1743: Fix load balancing with router_options=master,slave
The code that selects the candidate backend always returned the root
master if the server bitmask contained the master bit. This should only be
done if the master bit is the only bit in the bitmask and when there are
other bits, the normal candidate selection code should be used.

Also added a query to the expanded test case to make sure the connection
actually works.
2018-06-04 15:17:48 +03:00
da4397a501 MXS-1743: Expand test case to cover load balancing
The test case now verifies that the servers are actually load balanced
correctly. This test reveals a problem in the readconnroute; the master is
always preferred over slaves if one is available with
router_options=master,slave.
2018-06-04 15:17:48 +03:00
cddcc6d7d5 MXS-1896: Distinct LOAD DATA LOCAL INFILE from LOAD DATA INFILE
The two operations return different types of results and need to be
treated differently in order for them to be handled correctly in 2.2.

This fixes the unexpected internal state errors that happened in all 2.2
versions due to a wrong assumption made by readwritesplit. This fix is not
necessary for newer versions as the LOAD DATA LOCAL INFILE processing is
done with a simpler, and more robust, method.
2018-06-04 15:17:48 +03:00
dc94ec9963 MXS-1889 Improve test program
Verify that once there are slaves, we are connected
to a slave as expected.
2018-06-01 12:45:19 +03:00
a319c5ad19 MXS-1889 Add test
If all slaves are down, a connection should be created to the
master.
2018-06-01 11:00:13 +03:00
8917458505 MXS-1890 Make it easier to run tests using local MaxScale
Now, if a test is invoked with '-l', then MaxScale is assumed to
be running locally using a configuration file suitable for the
test that is invoked. Further, at the end of the test, the log
files of MaxScale are not downloaded (obviously).

As a side-effect, an environment variable no_maxscale_log_copy,
similar to the existing no_backend_log_copy, has been introduced
using which the downloading of maxscale log files unconditionally
can be prevented.
2018-05-30 21:05:10 +03:00
cd303df35c Revert "Trunate logs instead of removing"
This reverts commit 14dc215a787e64fb6457889b647c861f634d68a5.
2018-05-25 12:12:35 +03:00
14dc215a78 Trunate logs instead of removing
By truncating the files, tests can be run while the log is being
tailed. If they are removed, the files need to be reopened each time a
test is started.
2018-05-22 15:44:55 +03:00
540df997fb Remove unused templates file
The file has not been used since the templates.h header was added.
2018-05-21 09:50:44 +03:00
9d10642cd7 Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2018-05-18 12:42:24 +03:00
e911c897f6 fix cnf name in add_server_setting() 2018-05-18 12:32:23 +03:00
4b8206ee1d MXS-1873: Test large session commands
The test generates a large session command and makes sure queries after it
work correctly.
2018-05-18 12:29:47 +03:00
2a7f470b6b Make test failure messages unique in mxs1824_double_cursor
Having the same error for two different failures makes it harder to figure
out which one of them fails.
2018-05-17 10:57:05 +03:00
bf933ecc22 Open all ports by default
The test now flushes the INPUT chain of iptables at the start of the
test. This should open all ports even if the OS by default defines some
rules that block ports.
2018-05-17 10:04:00 +03:00
4309d9b3a5 Change mxs1836_show_eventTimes port from 9003 to 4006
Port 9003 is not open by default in the test environment. Changing it to
port 4006, which is open, will work around this restriction.

Also added the mysql_error output to the error message when the querying
fails.
2018-05-17 09:50:37 +03:00
22d6687f9f Fix paths in mxs1110_16mb
The paths that the test used assumed that the binary was built
in-source. This is a relic of the test refactoring and seems to have gone
unnoticed.
2018-05-17 09:39:19 +03:00
52e8c08a61 Disable warnings when dropping databases
Dropping a database with DROP DATABASE ... IF NOT EXISTS will cause
warnings to be logged if it doesn't exist. The masking_user test was
missing the part that disables these warnings.
2018-05-17 09:34:01 +03:00
84ac115af8 MXS-1760: Add use_sql_variables_in test case
The test checks that both text protocol and binary protocol statements
produce the correct result.
2018-05-16 11:13:36 +03:00
2ae46190d0 Remove stale cdc_connector files
The old files were still in the source code which caused problems with the
build.
2018-05-16 11:13:36 +03:00
5ed5d98bcd MXS-1836 Add test that catches regression 2018-05-15 14:45:42 +03:00
e1e7ebe5d2 Remove .gitignore from test directory
The file is not required as the tests can now be built out-of-source. All
common ignored files are still handled by the main .gitignore file.
2018-05-15 10:15:32 +03:00
b776ed7821 Don't assume source and binary directories are the same
Some of the scripts assumed that other scripts would be located in the
same directory where the current script was executed.

Also fixed the SSL connection creation which depended on an obsolete
environment variable causing all out-of-source SSL tests to fail.
2018-05-15 10:14:38 +03:00
16b777ad17 Fix shell-script tests
The tests expected the source directory to contain the executables.
2018-05-15 10:14:38 +03:00
ed2d0f4a5b Allow out-of-source test runs
The test can now be run outside of the test source directory. Since the
`test_dir` global variable contains the absolute path to the test source,
all copying of configurations and execution of scripts can be done with
minimal changes.
2018-05-15 10:14:38 +03:00
00581e7f35 MXS-1826: Fix COM_CHANGE_USER regression
The re-authentication done in MaxScale caused multiple error packets to be
sent for the same COM_CHANGE_USER. In addition to this, the failure of
authentication did not terminate the client connection.

The change in behavior requires the test case to be changed as well.
2018-05-15 10:14:38 +03:00
b3d29da3d2 MXS-1861 Test that reveals problem
As this is so closely related to MXS-1719 the test program for
that is slightly modified to catch this one as well.
2018-05-14 10:15:36 +03:00
ec4569497e Merge branch '2.1' into 2.2 2018-05-14 10:14:16 +03:00
d7ca5f5b5d MXS-1628: Add bad handshake test case
The test checks that a bad handshake error is returned when a malformed
packet is sent.
2018-05-10 22:24:39 +03:00
6cebe67374 MXS-1831: Add test case
Added test case that reproduces the problem and verifies that it is fixed.
2018-04-27 12:38:42 +03:00
6f80e11f1d Fix sequence test
The test did not set SQL_MODE to ORACLE before using the Oracle syntax.
2018-04-26 16:02:09 +03:00
a155d1085c MXS-1824: Add test case
Added a test case that reproduces the problem and verifies that it is
fixed.
2018-04-26 16:02:09 +03:00
421e64ceeb Take -Wall into use for tests
Take almost all warnings into use except `format-overflow` and
`unused-function`. format-overflow needs to be handled in a separate
commit.
2018-04-23 14:02:54 +03:00
0f0913fc99 Fix test build failures with GCC 8
GCC 8 enables -Werror=return-type by default which combined with -Werror
causes the build to fail.
2018-04-23 14:02:53 +03:00
3a1c2119fb MXS-1804: Fix hanging of large session commands
Large session commands weren't properly handled which caused the router to
think that the trailing end of a multi-packet query was actually a new
query.

This cannot be confidently solved in 2.2 which is why the router session
is now closed the moment a large session command is noticed.
2018-04-17 15:04:12 +03:00
232f807ef3 MXS-1808: Only store SQL statements for retrying
Only commands that can contain an SQL statements should be stored for
retrying (COM_QUERY and COM_EXECUTE). Other commands are either session
commands or do not work with query retrying.
2018-04-17 11:25:56 +03:00
890902e338 Add maxinfo SQL interface test
Added a test for the maxinfo SQL interface.
2018-04-17 09:34:11 +03:00
b060e3a289 MXS-1787: Add test case
Added a test case that reproduces the problem.
2018-04-12 20:36:46 +03:00
802b16f709 MXS-1786: Fix hang on COM_STATISTICS
The commands needs to be handled separately from the rest of the result
types.

Added a test case that reproduces the problem and verifies that the change
in code fixes it.
2018-04-12 20:00:00 +03:00
a663ea2e80 Sync slaves in mxs1071_maxrows
The first test could fail due to replication lag.
2018-04-12 10:29:26 +03:00
252475cdc5 MXS-1776: Add test case
Added test case that reproduces the problem.
2018-04-11 15:13:20 +03:00
c0a3e6ba37 MXS-1773: Add test case
Added a test case that reproduces the problem and verifies that it is
fixed.
2018-04-11 09:45:13 +03:00
599f46ca7b Minor cleanup of different_size.cpp
Cleaned up the main testing function.
2018-04-04 19:43:47 +03:00
4f8e1a99fc MXS-1743: Add test case
Added test case that reproduces the problem.
2018-04-04 19:43:46 +03:00
9291815bcd Wait for monitor to start in mxs1719
The test starts MaxScale and immediately connects to it. As the monitoring
is asynchronous, we need to give it a few seconds to stabilize.
2018-04-03 10:59:55 +03:00
4167e88719 MXS-1751: Fix crash with available_when_donor=true
The `MYSQL_ROW row` variable was being overwritten by the extra query done
by the SST method detection code. Moving it into its own function prevents
this and makes the code significantly easier to comprehend.

Added a test case that reproduced the problem (MaxScale crashed) and
verifies that the patch fixes the problem.
2018-03-31 20:21:07 +03:00
b11fb53b95 Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2018-03-29 15:51:52 +03:00
fa41ca28e2 remove trailing whitespaces from MDBCI scripts 2018-03-29 15:51:36 +03:00
01b04094a6 Only check for cores at root level
The previous core check would pick up any file in /tmp/ that would start
with the `core` prefix. This included some npm generated files which are
created if MaxCtrl is built on the MaxScale machine.
2018-03-29 14:25:19 +03:00