@@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
fftw \
libusb-compat \
rsyslog \
+ mariadb \
"
PTESTS_PROBLEMS_META_OE ="\
new file mode 100644
@@ -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();}'
@@ -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"
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> --- .../include/ptest-packagelists-meta-oe.inc | 1 + meta-oe/recipes-dbs/mysql/mariadb/run-ptest | 20 ++++++++++++ meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb | 31 +++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/run-ptest