1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

chore(tests): add mtr warnings functions, required for local mtr

This commit is contained in:
Leonid Fedorov
2025-05-05 18:20:11 +00:00
committed by Leonid Fedorov
parent 74f51afb21
commit 220d85329a
2 changed files with 47 additions and 3 deletions

View File

@ -1,10 +1,11 @@
#!/bin/bash
SCRIPT_LOCATION=$(dirname "$0")
MARIADB_SOURCE_PATH=$(realpath $SCRIPT_LOCATION/../../../../../)
COLUMNSTORE_MTR_SOURCE=$(realpath $SCRIPT_LOCATION/../../mysql-test/columnstore)
INSTALLED_MTR_PATH='/usr/share/mysql/mysql-test'
COLUMSNTORE_MTR_INSTALLED=${INSTALLED_MTR_PATH}/suite/columnstore
PATCHNAME=$(realpath $SCRIPT_LOCATION)/mtr_warn.patch
CURRENT_DIR=`pwd`
mysql -e "create database if not exists test;"
SOCKET=`mysql -e "show variables like 'socket';" | grep socket | cut -f2`
@ -12,6 +13,24 @@ SOCKET=`mysql -e "show variables like 'socket';" | grep socket | cut -f2`
export ASAN_OPTIONS=abort_on_error=1:disable_coredump=0,print_stats=false,detect_odr_violation=0,check_initialization_order=1,detect_stack_use_after_return=1,atexit=false,log_path=/core/asan.hz
# needed when run MTR tests locally, see mariadb-test-run.pl:417, mtr functions
# are added to the database mtr only when --extern is not specified
add_mtr_warn_functions()
{
echo "Adding mtr warnings functions..."
cd /tmp
mysql -e "drop database if exists mtr";
cp ${MARIADB_SOURCE_PATH}/mysql-test/include/mtr_warnings.sql mtr_warnings.sql
patch -p1 < ${PATCHNAME}
mysql -e "create database if not exists mtr;"
mysql mtr < mtr_warnings.sql
rm mtr_warnings.sql
cd -
echo "MTR Warnings function added"
}
cd ${INSTALLED_MTR_PATH}
if [[ ! -d ${COLUMSNTORE_MTR_INSTALLED} ]]; then
@ -24,10 +43,11 @@ if [[ ! -d '/data/qa/source/dbt3/' || ! -d '/data/qa/source/ssb/' ]]; then
echo ' ・ Downloading and extracting test data for full MTR to /data'
bash -c "wget -qO- https://cspkg.s3.amazonaws.com/mtr-test-data.tar.lz4 | lz4 -dc - | tar xf - -C /"
fi
run_suite()
{
ls /core >$CURRENT_DIR/mtr.$1.cores-before
./mtr --force --extern=socket=/run/mysqld/mysqld.sock --max-test-fail=0 --testcase-timeout=60 --suite=columnstore/$1 $2 | tee $CURRENT_DIR/mtr.$1.log 2>&1
./mtr --force --extern=socket=${SOCKET} --max-test-fail=0 --testcase-timeout=60 --suite=columnstore/$1 $2 | tee $CURRENT_DIR/mtr.$1.log 2>&1
# dump analyses.
systemctl stop mariadb
systemctl start mariadb
@ -37,6 +57,9 @@ run_suite()
rm $CURRENT_DIR/mtr.$1.cores-before $CURRENT_DIR/mtr.$1.cores-after
}
add_mtr_warn_functions
if (( $# == 2 )); then
run_suite $1 $2
exit 1
@ -47,7 +70,6 @@ if (( $# == 1 )); then
exit 1
fi
run_suite basic
run_suite bugfixes
run_suite setup

View File

@ -0,0 +1,22 @@
diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql
index 82c7aa8cd75..26fd2ee3bc5 100644
--- a/mtr_warnings.sql
+++ b/mtr_warnings.sql
@@ -13,7 +13,7 @@
-- along with this program; if not, write to the Free Software Foundation,
-- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
-delimiter ||;
+delimiter ||
use mtr||
@@ -271,7 +271,7 @@ BEGIN
IF @num_warnings > 0 THEN
SELECT line
FROM error_log WHERE suspicious=1;
- --SELECT * FROM test_suppressions;
+ -- SELECT * FROM test_suppressions;
-- Return 2 -> check failed
SELECT 2 INTO result;
ELSE