diff mbox series

[meta-oe,v2] mariadb: Add ptest support

Message ID 20230914034222.3307772-1-chi.xu@windriver.com
State Under Review
Headers show
Series [meta-oe,v2] mariadb: Add ptest support | expand

Commit Message

Xu, Chi Sept. 14, 2023, 3:42 a.m. UTC
70 test cases in all, and all of them are PASS.
There are some specific steps before doing test,
please refer to the comments in run-ptest.

Test results:
root@intel-x86-64:~# ptest-runner mariadb
START: ptest-runner
2023-09-14T15:17
BEGIN: /usr/lib64/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
PASS: test-connect
DURATION: 60
END: /usr/lib64/mariadb/ptest
2023-09-14T15:18
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   | 19 ++++++++++++
 meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb  | 31 +++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/run-ptest

Comments

Khem Raj Sept. 14, 2023, 3:17 p.m. UTC | #1
while running

bitbake meta-oe-ptest-image-mariadb -ctestimage

I am seeing

WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: There were
failing ptests.
Traceback (most recent call last):
  File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
line 35, in wrapped_f
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
line 35, in wrapped_f
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
line 35, in wrapped_f
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
line 27, in test_ptestrunner_expectfail
    self.do_ptestrunner()
  File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
line 120, in do_ptestrunner
    self.fail(failmsg)
AssertionError:
ptests which had no test results:
['mariadb']

Cannot run ptests without @expectedFailure as ptests are expected to fail
WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: Can not
retrieve /var/log from test target

On Wed, Sep 13, 2023 at 8:42 PM Chi Xu <chi.xu@eng.windriver.com> wrote:
>
> 70 test cases in all, and all of them are PASS.
> There are some specific steps before doing test,
> please refer to the comments in run-ptest.
>
> Test results:
> root@intel-x86-64:~# ptest-runner mariadb
> START: ptest-runner
> 2023-09-14T15:17
> BEGIN: /usr/lib64/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
> PASS: test-connect
> DURATION: 60
> END: /usr/lib64/mariadb/ptest
> 2023-09-14T15:18
> 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   | 19 ++++++++++++
>  meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb  | 31 +++++++++++++++++++
>  3 files changed, 51 insertions(+)
>  create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/run-ptest
>
> diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> index 06f3e16054..cafc43e011 100644
> --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> @@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
>      fftw \
>      libusb-compat \
>      rsyslog \
> +    mariadb \
>  "
>
>  PTESTS_PROBLEMS_META_OE ="\
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> new file mode 100644
> index 0000000000..57201035d4
> --- /dev/null
> +++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> @@ -0,0 +1,19 @@
> +#!/bin/sh
> +
> +# Becasue test case test-connect, please do following steps before testing.
> +# 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;
> +
> +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 | sed -u 's/\*\*\*/   /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
> diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> index 87faabfa27..2ef4e89064 100644
> --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> @@ -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"
> +
> +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"
>
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#104863): https://lists.openembedded.org/g/openembedded-devel/message/104863
> Mute This Topic: https://lists.openembedded.org/mt/101352157/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Sept. 14, 2023, 5:32 p.m. UTC | #2
When running manually, I see this

root@qemux86-64:/usr/lib/mariadb/ptest# ./run-ptest
sed: unrecognized option: u
BusyBox v1.36.1 () multi-call binary.

Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
or: sed [-i[SFX]] [-nrE] CMD [FILE]...

So I guess it needs a full sed command. Add

RDEPENDS:${PN}-ptest += "cmake sed"

On Thu, Sep 14, 2023 at 8:17 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> while running
>
> bitbake meta-oe-ptest-image-mariadb -ctestimage
>
> I am seeing
>
> WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: There were
> failing ptests.
> Traceback (most recent call last):
>   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
>     return func(*args, **kwargs)
>            ^^^^^^^^^^^^^^^^^^^^^
>   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
>     return func(*args, **kwargs)
>            ^^^^^^^^^^^^^^^^^^^^^
>   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
>     return func(*args, **kwargs)
>            ^^^^^^^^^^^^^^^^^^^^^
>   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
> line 27, in test_ptestrunner_expectfail
>     self.do_ptestrunner()
>   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
> line 120, in do_ptestrunner
>     self.fail(failmsg)
> AssertionError:
> ptests which had no test results:
> ['mariadb']
>
> Cannot run ptests without @expectedFailure as ptests are expected to fail
> WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: Can not
> retrieve /var/log from test target
>
> On Wed, Sep 13, 2023 at 8:42 PM Chi Xu <chi.xu@eng.windriver.com> wrote:
> >
> > 70 test cases in all, and all of them are PASS.
> > There are some specific steps before doing test,
> > please refer to the comments in run-ptest.
> >
> > Test results:
> > root@intel-x86-64:~# ptest-runner mariadb
> > START: ptest-runner
> > 2023-09-14T15:17
> > BEGIN: /usr/lib64/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
> > PASS: test-connect
> > DURATION: 60
> > END: /usr/lib64/mariadb/ptest
> > 2023-09-14T15:18
> > 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   | 19 ++++++++++++
> >  meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb  | 31 +++++++++++++++++++
> >  3 files changed, 51 insertions(+)
> >  create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> >
> > diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > index 06f3e16054..cafc43e011 100644
> > --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > @@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
> >      fftw \
> >      libusb-compat \
> >      rsyslog \
> > +    mariadb \
> >  "
> >
> >  PTESTS_PROBLEMS_META_OE ="\
> > diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > new file mode 100644
> > index 0000000000..57201035d4
> > --- /dev/null
> > +++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > @@ -0,0 +1,19 @@
> > +#!/bin/sh
> > +
> > +# Becasue test case test-connect, please do following steps before testing.
> > +# 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;
> > +
> > +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 | sed -u 's/\*\*\*/   /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
> > diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > index 87faabfa27..2ef4e89064 100644
> > --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > @@ -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"
> > +
> > +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"
> >
> > --
> > 2.25.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#104863): https://lists.openembedded.org/g/openembedded-devel/message/104863
> > Mute This Topic: https://lists.openembedded.org/mt/101352157/1997914
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Khem Raj Sept. 14, 2023, 5:46 p.m. UTC | #3
it also needs perl-module-test-more rdep for

FAIL: dbug

tests to pass.

There still remains one failure on musl

70/70 Testing: test-connect
70/70 Test: test-connect
Command: "/usr/lib/mariadb/ptest/unittest/embedded/test-connect-t"
Directory: /usr/lib/mariadb/ptest/unittest/embedded
"test-connect" start time: Sep 14 17:44 UTC
Output:
----------------------------------------------------------
mysql_real_connect failed: Can't connect to server on '127.0.0.1' (111
"Connection refused")
<end of output>
Test time =   0.03 sec
----------------------------------------------------------
Test Failed.
"test-connect" end time: Sep 14 17:44 UTC
"test-connect" time elapsed: 00:00:00
----------------------------------------------------------

On Thu, Sep 14, 2023 at 10:32 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> When running manually, I see this
>
> root@qemux86-64:/usr/lib/mariadb/ptest# ./run-ptest
> sed: unrecognized option: u
> BusyBox v1.36.1 () multi-call binary.
>
> Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
> or: sed [-i[SFX]] [-nrE] CMD [FILE]...
>
> So I guess it needs a full sed command. Add
>
> RDEPENDS:${PN}-ptest += "cmake sed"
>
> On Thu, Sep 14, 2023 at 8:17 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > while running
> >
> > bitbake meta-oe-ptest-image-mariadb -ctestimage
> >
> > I am seeing
> >
> > WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: There were
> > failing ptests.
> > Traceback (most recent call last):
> >   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> > line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >            ^^^^^^^^^^^^^^^^^^^^^
> >   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> > line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >            ^^^^^^^^^^^^^^^^^^^^^
> >   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init__.py",
> > line 35, in wrapped_f
> >     return func(*args, **kwargs)
> >            ^^^^^^^^^^^^^^^^^^^^^
> >   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
> > line 27, in test_ptestrunner_expectfail
> >     self.do_ptestrunner()
> >   File "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py",
> > line 120, in do_ptestrunner
> >     self.fail(failmsg)
> > AssertionError:
> > ptests which had no test results:
> > ['mariadb']
> >
> > Cannot run ptests without @expectedFailure as ptests are expected to fail
> > WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: Can not
> > retrieve /var/log from test target
> >
> > On Wed, Sep 13, 2023 at 8:42 PM Chi Xu <chi.xu@eng.windriver.com> wrote:
> > >
> > > 70 test cases in all, and all of them are PASS.
> > > There are some specific steps before doing test,
> > > please refer to the comments in run-ptest.
> > >
> > > Test results:
> > > root@intel-x86-64:~# ptest-runner mariadb
> > > START: ptest-runner
> > > 2023-09-14T15:17
> > > BEGIN: /usr/lib64/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
> > > PASS: test-connect
> > > DURATION: 60
> > > END: /usr/lib64/mariadb/ptest
> > > 2023-09-14T15:18
> > > 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   | 19 ++++++++++++
> > >  meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb  | 31 +++++++++++++++++++
> > >  3 files changed, 51 insertions(+)
> > >  create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > >
> > > diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > index 06f3e16054..cafc43e011 100644
> > > --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > @@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
> > >      fftw \
> > >      libusb-compat \
> > >      rsyslog \
> > > +    mariadb \
> > >  "
> > >
> > >  PTESTS_PROBLEMS_META_OE ="\
> > > diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > new file mode 100644
> > > index 0000000000..57201035d4
> > > --- /dev/null
> > > +++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > @@ -0,0 +1,19 @@
> > > +#!/bin/sh
> > > +
> > > +# Becasue test case test-connect, please do following steps before testing.
> > > +# 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;
> > > +
> > > +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 | sed -u 's/\*\*\*/   /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
> > > diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > index 87faabfa27..2ef4e89064 100644
> > > --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > @@ -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"
> > > +
> > > +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"
> > >
> > > --
> > > 2.25.1
> > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#104863): https://lists.openembedded.org/g/openembedded-devel/message/104863
> > > Mute This Topic: https://lists.openembedded.org/mt/101352157/1997914
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >
Xu, Chi Sept. 15, 2023, 4:30 a.m. UTC | #4
Thanks for your reminder, I didn't realize that we use busybox in ptest image, I will add 'sed' and 'perl-module-test-more ' to RDEPENDS.

For test case  "test-connect", we should do following steps before running it.
Because these steps are relate with the configuration of mariadb, I didn't execute them in script 'run-ptest', just add them as comments in this script. 
--------------------------------
# 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;
#    MariaDB [(none)]> quit
--------------------------------

About the issue of 'bitbake meta-oe-ptest-image-mariadb -ctestimage', I have no idea yet and will do more investigation.
Please let me know if you have any suggestions, thanks!

> -----Original Message-----
> From: Khem Raj <raj.khem@gmail.com>
> Sent: Friday, September 15, 2023 1:46 AM
> To: Xu, Chi <Chi.Xu@windriver.com>
> Cc: openembedded-devel@lists.openembedded.org
> Subject: Re: [oe] [meta-oe][PATCH v2] mariadb: Add ptest support
> 
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and
> know the content is safe.
> 
> it also needs perl-module-test-more rdep for
> 
> FAIL: dbug
> 
> tests to pass.
> 
> There still remains one failure on musl
> 
> 70/70 Testing: test-connect
> 70/70 Test: test-connect
> Command: "/usr/lib/mariadb/ptest/unittest/embedded/test-connect-t"
> Directory: /usr/lib/mariadb/ptest/unittest/embedded
> "test-connect" start time: Sep 14 17:44 UTC
> Output:
> ----------------------------------------------------------
> mysql_real_connect failed: Can't connect to server on '127.0.0.1' (111
> "Connection refused") <end of output>
> Test time =   0.03 sec
> ----------------------------------------------------------
> Test Failed.
> "test-connect" end time: Sep 14 17:44 UTC "test-connect" time elapsed:
> 00:00:00
> ----------------------------------------------------------
> 
> On Thu, Sep 14, 2023 at 10:32 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > When running manually, I see this
> >
> > root@qemux86-64:/usr/lib/mariadb/ptest# ./run-ptest
> > sed: unrecognized option: u
> > BusyBox v1.36.1 () multi-call binary.
> >
> > Usage: sed [-i[SFX]] [-nrE] [-f FILE]... [-e CMD]... [FILE]...
> > or: sed [-i[SFX]] [-nrE] CMD [FILE]...
> >
> > So I guess it needs a full sed command. Add
> >
> > RDEPENDS:${PN}-ptest += "cmake sed"
> >
> > On Thu, Sep 14, 2023 at 8:17 AM Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > while running
> > >
> > > bitbake meta-oe-ptest-image-mariadb -ctestimage
> > >
> > > I am seeing
> > >
> > > WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: There
> were
> > > failing ptests.
> > > Traceback (most recent call last):
> > >   File
> > > "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init_
> > > _.py",
> > > line 35, in wrapped_f
> > >     return func(*args, **kwargs)
> > >            ^^^^^^^^^^^^^^^^^^^^^
> > >   File
> > > "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init_
> > > _.py",
> > > line 35, in wrapped_f
> > >     return func(*args, **kwargs)
> > >            ^^^^^^^^^^^^^^^^^^^^^
> > >   File
> > > "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/core/decorator/__init_
> > > _.py",
> > > line 35, in wrapped_f
> > >     return func(*args, **kwargs)
> > >            ^^^^^^^^^^^^^^^^^^^^^
> > >   File
> > > "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py
> > > ", line 27, in test_ptestrunner_expectfail
> > >     self.do_ptestrunner()
> > >   File
> > > "/mnt/b/yoe/master/sources/poky/meta/lib/oeqa/runtime/cases/ptest.py
> > > ",
> > > line 120, in do_ptestrunner
> > >     self.fail(failmsg)
> > > AssertionError:
> > > ptests which had no test results:
> > > ['mariadb']
> > >
> > > Cannot run ptests without @expectedFailure as ptests are expected to
> > > fail
> > > WARNING: meta-oe-ptest-image-mariadb-1.0-r0 do_testimage: Can not
> > > retrieve /var/log from test target
> > >
> > > On Wed, Sep 13, 2023 at 8:42 PM Chi Xu <chi.xu@eng.windriver.com>
> wrote:
> > > >
> > > > 70 test cases in all, and all of them are PASS.
> > > > There are some specific steps before doing test, please refer to
> > > > the comments in run-ptest.
> > > >
> > > > Test results:
> > > > root@intel-x86-64:~# ptest-runner mariadb
> > > > START: ptest-runner
> > > > 2023-09-14T15:17
> > > > BEGIN: /usr/lib64/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
> > > > PASS: test-connect
> > > > DURATION: 60
> > > > END: /usr/lib64/mariadb/ptest
> > > > 2023-09-14T15:18
> > > > 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   | 19 ++++++++++++
> > > >  meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb  | 31
> > > > +++++++++++++++++++
> > > >  3 files changed, 51 insertions(+)  create mode 100644
> > > > meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > >
> > > > diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > > b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > > index 06f3e16054..cafc43e011 100644
> > > > --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > > +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> > > > @@ -49,6 +49,7 @@ PTESTS_SLOW_META_OE = "\
> > > >      fftw \
> > > >      libusb-compat \
> > > >      rsyslog \
> > > > +    mariadb \
> > > >  "
> > > >
> > > >  PTESTS_PROBLEMS_META_OE ="\
> > > > diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > > b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > > new file mode 100644
> > > > index 0000000000..57201035d4
> > > > --- /dev/null
> > > > +++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
> > > > @@ -0,0 +1,19 @@
> > > > +#!/bin/sh
> > > > +
> > > > +# Becasue test case test-connect, please do following steps before
> testing.
> > > > +# 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;
> > > > +
> > > > +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 | sed -u 's/\*\*\*/   /g' | awk '/Test
> +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP");
> print $6": "$4; fflush();}'
> > > > diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > > b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > > index 87faabfa27..2ef4e89064 100644
> > > > --- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > > +++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
> > > > @@ -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"
> > > > +
> > > > +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"
> > > >
> > > > --
> > > > 2.25.1
> > > >
> > > >
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > > Links: You receive all messages sent to this group.
> > > > View/Reply Online (#104863):
> > > > https://lists.openembedded.org/g/openembedded-
> devel/message/104863
> > > > Mute This Topic:
> > > > https://lists.openembedded.org/mt/101352157/1997914
> > > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > > Unsubscribe:
> > > > https://lists.openembedded.org/g/openembedded-devel/unsub
> > > > [raj.khem@gmail.com]
> > > > -=-=-=-=-=-=-=-=-=-=-=-
> > > >
diff mbox series

Patch

diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index 06f3e16054..cafc43e011 100644
--- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -49,6 +49,7 @@  PTESTS_SLOW_META_OE = "\
     fftw \
     libusb-compat \
     rsyslog \
+    mariadb \
 "
 
 PTESTS_PROBLEMS_META_OE ="\
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
new file mode 100644
index 0000000000..57201035d4
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
@@ -0,0 +1,19 @@ 
+#!/bin/sh
+
+# Becasue test case test-connect, please do following steps before testing.
+# 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;
+
+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 | sed -u 's/\*\*\*/   /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}'
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
index 87faabfa27..2ef4e89064 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
+++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
@@ -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"
+
+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"