mariadb: Add ptest support

69 test cases in all, and all of them are PASS.

Test results:
root@intel-x86-64:~# ptest-runner mariadb
START: ptest-runner
2023-09-17T05:38
BEGIN: /usr/lib/mariadb/ptest
PASS: strings
PASS: json
PASS: simple
PASS: skip
PASS: todo
PASS: skip_all
PASS: no_plan
PASS: bitmap
PASS: base64
PASS: my_atomic
PASS: my_rdtsc
PASS: lf
PASS: my_malloc
PASS: my_getopt
PASS: dynstring
PASS: byte_order
PASS: queues
PASS: stacktrace
PASS: crc32
PASS: my_vsnprintf
PASS: aes
PASS: ma_dyncol
PASS: my_decimal
PASS: json_lib
PASS: json_normalize
PASS: my_apc
PASS: explain_filename
PASS: mf_iocache
PASS: my_json_writer
PASS: innodb_fts
PASS: innodb_sync
PASS: ma_control_file
PASS: trnman
PASS: ma_test_loghandler
PASS: ma_test_loghandler_multigroup
PASS: ma_test_loghandler_multithread
PASS: ma_test_loghandler_pagecache
PASS: ma_test_loghandler_long
PASS: ma_test_loghandler_noflush
PASS: ma_test_loghandler_first_lsn
PASS: ma_test_loghandler_max_lsn
PASS: ma_test_loghandler_purge
PASS: ma_test_loghandler_readonly
PASS: ma_test_loghandler_nologs
PASS: ma_pagecache_single_1k
PASS: ma_pagecache_single_8k
PASS: ma_pagecache_single_64k
PASS: ma_pagecache_consist_1k
PASS: ma_pagecache_consist_64k
PASS: ma_pagecache_consist_1kHC
PASS: ma_pagecache_consist_64kHC
PASS: ma_pagecache_consist_1kRD
PASS: ma_pagecache_consist_64kRD
PASS: ma_pagecache_consist_1kWR
PASS: ma_pagecache_consist_64kWR
PASS: ma_pagecache_rwconsist_1k
PASS: ma_pagecache_rwconsist2_1k
PASS: pfs_instr_class
PASS: pfs_instr_class-oom
PASS: pfs_instr
PASS: pfs_instr-oom
PASS: pfs_account-oom
PASS: pfs_host-oom
PASS: pfs_timer
PASS: pfs_user-oom
PASS: pfs_noop
PASS: pfs
PASS: pfs_misc
PASS: dbug
DURATION: 59
END: /usr/lib/mariadb/ptest
2023-09-17T05:39
STOP: ptest-runner
TOTAL: 1 FAIL: 0

Signed-off-by: Chi Xu <chi.xu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Chi Xu 2023-09-17 13:52:37 +08:00 committed by Khem Raj
parent 9bc3399e97
commit c332fd2659
3 changed files with 52 additions and 0 deletions

View File

@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
fftw \
libusb-compat \
rsyslog \
mariadb \
"
PTESTS_PROBLEMS_META_OE ="\

View File

@ -0,0 +1,20 @@
#!/bin/sh
# test case test-connect is excluded. Becasue this test case need following steps before running.
# Without these steps, test case test-connect will fail.
# 1. Disable 'skip-networking' in /etc/my.cnf
# $ sed -i '/skip-networking/s/^/#/g' /etc/my.cnf
# 2. Restart mysqld.service
# $ systemctl restart mysqld
# 3. Set password for MySQL user "root"
# $ mysql -u root
# MariaDB [(none)]> SET PASSWORD FOR "root"@"localhost" = PASSWORD("myReallyStrongPwd");
# MariaDB [(none)]> FLUSH PRIVILEGES;
# If test-connect is included, please uncomment these lines.
#export MASTER_MYPORT=3306
#export MYSQL_TEST_HOST=127.0.0.1
#export MYSQL_TEST_USER=root
#export MYSQL_TEST_PASSWD=myReallyStrongPwd
ctest --force-new-ctest-process -E test-connect | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'

View File

@ -1,5 +1,36 @@
require mariadb.inc
inherit ptest
SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}"
DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}"
RDEPENDS:${PN}-ptest += "cmake sed perl-module-test-more"
do_install_ptest () {
rsync -a ${B}/unittest ${B}/dbug ${D}${PTEST_PATH} \
--exclude CMakeFiles \
--exclude cmake_install.cmake \
--exclude Makefile \
--exclude=*.a \
--exclude=*.h \
--exclude=*.o \
--exclude=*.so \
--exclude=*.d \
--exclude=*.txt
install -m 0755 -d ${D}${PTEST_PATH}/storage
rsync -a ${B}/storage/maria ${B}/storage/perfschema ${B}/storage/innobase ${D}${PTEST_PATH}/storage \
--exclude CMakeFiles \
--exclude cmake_install.cmake \
--exclude Makefile \
--exclude=*.a \
--exclude=*.h \
--exclude=*.o \
--exclude=*.so \
--exclude=*.d \
--exclude=*.txt
cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
}
DEPENDS += "mariadb-native bison-native boost libpcre2 curl ncurses \
zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd"