From 9661ddaefbcaa2c51d777eadbd16d06055f1cc3c Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Thu, 24 Jun 2021 11:27:07 +0200 Subject: [PATCH 1/2] Fixed compiler warnings (introduced by changeset b78ba1b251ddda9a2119995716976104ecfd96dd) --- unittest/libmariadb/charset.c | 3 ++- unittest/libmariadb/connection.c | 5 +++-- unittest/libmariadb/cursor.c | 2 +- unittest/libmariadb/ps_bugs.c | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/unittest/libmariadb/charset.c b/unittest/libmariadb/charset.c index f8a9cfc0..6424b94f 100644 --- a/unittest/libmariadb/charset.c +++ b/unittest/libmariadb/charset.c @@ -790,12 +790,13 @@ static int charset_auto(MYSQL *my __attribute__((unused))) /* check if all server character sets are supported */ static int test_conc223(MYSQL *mysql) { - SKIP_MYSQL(mysql); int rc; MYSQL_RES *res; MYSQL_ROW row; int found= 0; + SKIP_MYSQL(mysql); + rc= mysql_query(mysql, "SELECT ID, CHARACTER_SET_NAME, COLLATION_NAME FROM INFORMATION_SCHEMA.COLLATIONS"); check_mysql_rc(rc, mysql); diff --git a/unittest/libmariadb/connection.c b/unittest/libmariadb/connection.c index 875d7766..f05dff12 100644 --- a/unittest/libmariadb/connection.c +++ b/unittest/libmariadb/connection.c @@ -1723,7 +1723,7 @@ static int test_conc366(MYSQL *mysql) if (mysql_get_server_version(mysql) < 100400) { sprintf(query, "CREATE OR REPLACE USER 'ede'@'%s' IDENTIFIED VIA ed25519 USING '6aW9C7ENlasUfymtfMvMZZtnkCVlcb1ssxOLJ0kj/AA'", this_host); } else { - sprintf(query, "CREATE OR REPLACE USER 'ede'@'%s' IDENTIFIED VIA ed25519 USING PASSWORD('MySup8%rPassw@ord')", this_host); + sprintf(query, "CREATE OR REPLACE USER 'ede'@'%s' IDENTIFIED VIA ed25519 USING PASSWORD('MySup8%%rPassw@ord')", this_host); } rc= mysql_query(mysql, query); check_mysql_rc(rc, mysql); @@ -1754,12 +1754,13 @@ static int test_conc366(MYSQL *mysql) static int test_conc392(MYSQL *mysql) { - SKIP_MYSQL(mysql); int rc; const char *data; size_t len; ulong capabilities= 0; + SKIP_MYSQL(mysql); + mariadb_get_infov(mysql, MARIADB_CONNECTION_SERVER_CAPABILITIES, &capabilities); if (!(capabilities & CLIENT_SESSION_TRACKING)) { diff --git a/unittest/libmariadb/cursor.c b/unittest/libmariadb/cursor.c index fd976c08..6378501a 100644 --- a/unittest/libmariadb/cursor.c +++ b/unittest/libmariadb/cursor.c @@ -283,11 +283,11 @@ static int test_cursors_with_union(MYSQL *mysql) static int test_cursors_with_procedure(MYSQL *mysql) { - SKIP_MYSQL(mysql); const char *queries[]= { "SELECT * FROM t1 procedure analyse()" }; + SKIP_MYSQL(mysql); FAIL_IF(fetch_n(mysql, queries, sizeof(queries)/sizeof(*queries), USE_ROW_BY_ROW_FETCH), "fetch_n failed"); FAIL_IF(fetch_n(mysql, queries, sizeof(queries)/sizeof(*queries), USE_STORE_RESULT), "fetch_n failed"); diff --git a/unittest/libmariadb/ps_bugs.c b/unittest/libmariadb/ps_bugs.c index c205a43a..07a4bac0 100644 --- a/unittest/libmariadb/ps_bugs.c +++ b/unittest/libmariadb/ps_bugs.c @@ -674,11 +674,11 @@ static int test_bug1500(MYSQL *mysql) static int test_bug15510(MYSQL *mysql) { - SKIP_MYSQL(mysql); MYSQL_STMT *stmt; int rc; const char *query= "select 1 from dual where 1/0"; + SKIP_MYSQL(mysql); rc= mysql_query(mysql, "set @@sql_mode='ERROR_FOR_DIVISION_BY_ZERO'"); check_mysql_rc(rc, mysql); From d1119803805ff91af262e8df7c41db5e13025bd2 Mon Sep 17 00:00:00 2001 From: Georg Richter Date: Thu, 24 Jun 2021 16:44:21 +0200 Subject: [PATCH 2/2] Fix for MDEV-25820: Tests will be skipped unless the following environment variables were specified: - MYSQLTEST_VARDIR (will be automatically set when running inside mtr) - MARIADB_CC_TEST --- appveyor.yml | 1 + travis.sh | 2 ++ unittest/libmariadb/my_test.h | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 5486a7ed..9088b993 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -24,6 +24,7 @@ before_build: - cmd: appveyor-download.bat - cmd: msiexec /i server.msi INSTALLDIR=c:\projects\server SERVICENAME=mariadb ALLOWREMOTEROOTACCESS=true /qn - cmd: "\"c:\\projects\\server\\bin\\mysql.exe\" -e \"create database testc\" --user=root" + - cmd: set MARIADB_CC_TEST=1 - cmd: set MYSQL_TEST_USER=root - cmd: set MYSQL_TEST_HOST=127.0.0.1 - cmd: set MYSQL_TEST_PASSWD= diff --git a/travis.sh b/travis.sh index dbd95da3..ea65dfe3 100755 --- a/travis.sh +++ b/travis.sh @@ -52,6 +52,7 @@ else if [ "$TRAVIS_OS_NAME" = "windows" ] ; then echo "build from windows" + set MARIADB_CC_TEST=1 set MYSQL_TEST_DB=testc set MYSQL_TEST_TLS=%TEST_REQUIRE_TLS% set MYSQL_TEST_USER=%TEST_DB_USER% @@ -62,6 +63,7 @@ else cmake --build . --config RelWithDebInfo else echo "build from linux" + export MARIADB_CC_TEST=1 export MYSQL_TEST_USER=$TEST_DB_USER export MYSQL_TEST_HOST=$TEST_DB_HOST export MYSQL_TEST_PASSWD=$TEST_DB_PASSWORD diff --git a/unittest/libmariadb/my_test.h b/unittest/libmariadb/my_test.h index 3682821f..ca9fed77 100644 --- a/unittest/libmariadb/my_test.h +++ b/unittest/libmariadb/my_test.h @@ -556,6 +556,13 @@ static int reset_connection(MYSQL *mysql) { void get_envvars() { char *envvar; + if (!getenv("MYSQLTEST_VARDIR") && + !getenv("MARIADB_CC_TEST")) + { + skip_all("Tests skipped.\nFor running unittest suite outside of MariaDB server tests,\nplease specify MARIADB_CC_TEST environment variable."); + exit(0); + } + if (getenv("TRAVIS_JOB_ID")) travis_test= 1;