| Message ID | 20251119175829.857849-1-skandigraun@gmail.com |
|---|---|
| State | New |
| Headers | show |
| Series | [meta-oe] mariadb: skip failing test on musl | expand |
Thanks for the patch, Please rebase it on top of master-next and resend. On Wed, Nov 19, 2025 at 9:58 AM Gyorgy Sarvari via lists.openembedded.org <skandigraun=gmail.com@lists.openembedded.org> wrote: > There is a timezone related ptest that fails using musl-libc. > This has been reported to the mariadb developers[1], who came up with > the backported patch that's the subject of this change. > > This patch skips the timezone related tests with musl, in case the > testcase uses a timezone that behaves differently with musl than on > other platforms. > > [1]: https://jira.mariadb.org/browse/MDEV-38029 > > Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> > --- > .../include/ptest-packagelists-meta-oe.inc | 4 +- > meta-oe/recipes-dbs/mysql/mariadb.inc | 1 + > ...info-t-fails-for-certain-TZ-values-o.patch | 47 +++++++++++++++++++ > 3 files changed, 50 insertions(+), 2 deletions(-) > create mode 100644 > meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch > > diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > index 96e0d87bd4..48958ff2b0 100644 > --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc > @@ -71,7 +71,7 @@ PTESTS_SLOW_META_OE = "\ > " > PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest" > PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest" > -PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest mariadb" > +PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest" > > PTESTS_PROBLEMS_META_OE = "\ > keyutils \ > @@ -80,4 +80,4 @@ PTESTS_PROBLEMS_META_OE = "\ > psqlodbc \ > rsyslog \ > " > -PTESTS_PROBLEMS_META_OE:append:libc-musl = " jemalloc minicoredumper > oprofile mariadb" > +PTESTS_PROBLEMS_META_OE:append:libc-musl = " jemalloc minicoredumper > oprofile" > diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc > b/meta-oe/recipes-dbs/mysql/mariadb.inc > index 6e07f1ffa9..9f43e8363d 100644 > --- a/meta-oe/recipes-dbs/mysql/mariadb.inc > +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc > @@ -25,6 +25,7 @@ SRC_URI = " > https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ > > file://0001-Ensure-compatibility-with-ARMv9-by-updating-.arch-di.patch \ > file://riscv32.patch \ > file://0001-Remove-x86-specific-loop-in-my_convert.patch \ > + > file://0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch \ > " > SRC_URI[sha256sum] = > "52fa4dca2c5f80afc1667d523a27c06176d98532298a6b0c31ed73505f49e15c" > > diff --git > a/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch > b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch > new file mode 100644 > index 0000000000..b8eed1476c > --- /dev/null > +++ > b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch > @@ -0,0 +1,47 @@ > +From 51ab21bebcc29f7ec2e54d92e2acf9de2a555bcb Mon Sep 17 00:00:00 2001 > +From: Gyorgy Sarvari <skandigraun@gmail.com> > +Date: Wed, 19 Nov 2025 13:01:56 +0100 > +Subject: [PATCH] MDEV-38029 my_tzinfo-t fails for certain TZ values on > musl > + > +From: Vladislav Vaintroub <vvaintroub@gmail.com> > + > +The test fails for TZ values such as `PST8PDT` (present but outdated in > +tzdb) and custom forms like `GST-1GDT`. On musl, these values do not > +trigger the expected DST transitions, leading to incorrect DST offsets > +or abbreviations. > + > +This appears to be a musl libc bug; the same TZ values behave correctly > +elsewhere, including Windows. We work around it by skipping the > +affected tests when musl is detected. > + > +Upstream-Status: Submitted [https://github.com/MariaDB/server/pull/4452] > +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> > +--- > + unittest/mysys/my_tzinfo-t.c | 14 ++++++++++++++ > + 1 file changed, 14 insertions(+) > + > +diff --git a/unittest/mysys/my_tzinfo-t.c b/unittest/mysys/my_tzinfo-t.c > +index b38ebd37..585d52f8 100644 > +--- a/unittest/mysys/my_tzinfo-t.c > ++++ b/unittest/mysys/my_tzinfo-t.c > +@@ -112,6 +112,20 @@ void test_timezone(const char *tz_env, const char > **expected_tznames, > + } > + } > + ok(found, "%s: timezone_name = %s", tz_env, timezone_name); > ++ > ++#if defined __linux__ && !defined __GLIBC__ && !defined __UCLIBC__ > ++ /* > ++ MUSL incorrectly calculates UTC offsets and abbreviations > ++ for certain values of TZ (DST related). See MDEV-38029 > ++ Skip tests in this case. > ++ */ > ++ if (!strcmp(tz_env, "PST8PDT") || !strcmp(tz_env, "GST-1GDT")) > ++ { > ++ skip(6, "musl UTC offset/abbreviation bug, tzname %s, see > MDEV-38029", tz_env); > ++ return; > ++ } > ++#endif > ++ > + my_tzinfo(SUMMER_TIMESTAMP, &tz); > + ok(summer_gmt_off == tz.seconds_offset, "%s: Summer GMT offset %ld", > tz_env, tz.seconds_offset); > + check_utc_offset(SUMMER_TIMESTAMP,tz.seconds_offset, tz_env); > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#121912): > https://lists.openembedded.org/g/openembedded-devel/message/121912 > Mute This Topic: https://lists.openembedded.org/mt/116378016/1997914 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [ > raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc index 96e0d87bd4..48958ff2b0 100644 --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc @@ -71,7 +71,7 @@ PTESTS_SLOW_META_OE = "\ " PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest" PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest" -PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest mariadb" +PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest" PTESTS_PROBLEMS_META_OE = "\ keyutils \ @@ -80,4 +80,4 @@ PTESTS_PROBLEMS_META_OE = "\ psqlodbc \ rsyslog \ " -PTESTS_PROBLEMS_META_OE:append:libc-musl = " jemalloc minicoredumper oprofile mariadb" +PTESTS_PROBLEMS_META_OE:append:libc-musl = " jemalloc minicoredumper oprofile" diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc index 6e07f1ffa9..9f43e8363d 100644 --- a/meta-oe/recipes-dbs/mysql/mariadb.inc +++ b/meta-oe/recipes-dbs/mysql/mariadb.inc @@ -25,6 +25,7 @@ SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \ file://0001-Ensure-compatibility-with-ARMv9-by-updating-.arch-di.patch \ file://riscv32.patch \ file://0001-Remove-x86-specific-loop-in-my_convert.patch \ + file://0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch \ " SRC_URI[sha256sum] = "52fa4dca2c5f80afc1667d523a27c06176d98532298a6b0c31ed73505f49e15c" diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch new file mode 100644 index 0000000000..b8eed1476c --- /dev/null +++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch @@ -0,0 +1,47 @@ +From 51ab21bebcc29f7ec2e54d92e2acf9de2a555bcb Mon Sep 17 00:00:00 2001 +From: Gyorgy Sarvari <skandigraun@gmail.com> +Date: Wed, 19 Nov 2025 13:01:56 +0100 +Subject: [PATCH] MDEV-38029 my_tzinfo-t fails for certain TZ values on musl + +From: Vladislav Vaintroub <vvaintroub@gmail.com> + +The test fails for TZ values such as `PST8PDT` (present but outdated in +tzdb) and custom forms like `GST-1GDT`. On musl, these values do not +trigger the expected DST transitions, leading to incorrect DST offsets +or abbreviations. + +This appears to be a musl libc bug; the same TZ values behave correctly +elsewhere, including Windows. We work around it by skipping the +affected tests when musl is detected. + +Upstream-Status: Submitted [https://github.com/MariaDB/server/pull/4452] +Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> +--- + unittest/mysys/my_tzinfo-t.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/unittest/mysys/my_tzinfo-t.c b/unittest/mysys/my_tzinfo-t.c +index b38ebd37..585d52f8 100644 +--- a/unittest/mysys/my_tzinfo-t.c ++++ b/unittest/mysys/my_tzinfo-t.c +@@ -112,6 +112,20 @@ void test_timezone(const char *tz_env, const char **expected_tznames, + } + } + ok(found, "%s: timezone_name = %s", tz_env, timezone_name); ++ ++#if defined __linux__ && !defined __GLIBC__ && !defined __UCLIBC__ ++ /* ++ MUSL incorrectly calculates UTC offsets and abbreviations ++ for certain values of TZ (DST related). See MDEV-38029 ++ Skip tests in this case. ++ */ ++ if (!strcmp(tz_env, "PST8PDT") || !strcmp(tz_env, "GST-1GDT")) ++ { ++ skip(6, "musl UTC offset/abbreviation bug, tzname %s, see MDEV-38029", tz_env); ++ return; ++ } ++#endif ++ + my_tzinfo(SUMMER_TIMESTAMP, &tz); + ok(summer_gmt_off == tz.seconds_offset, "%s: Summer GMT offset %ld", tz_env, tz.seconds_offset); + check_utc_offset(SUMMER_TIMESTAMP,tz.seconds_offset, tz_env);
There is a timezone related ptest that fails using musl-libc. This has been reported to the mariadb developers[1], who came up with the backported patch that's the subject of this change. This patch skips the timezone related tests with musl, in case the testcase uses a timezone that behaves differently with musl than on other platforms. [1]: https://jira.mariadb.org/browse/MDEV-38029 Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- .../include/ptest-packagelists-meta-oe.inc | 4 +- meta-oe/recipes-dbs/mysql/mariadb.inc | 1 + ...info-t-fails-for-certain-TZ-values-o.patch | 47 +++++++++++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-38029-my_tzinfo-t-fails-for-certain-TZ-values-o.patch