* [OE-core][PATCH v3] libevent: mark util/monotonic_prc_fallback as retriable
@ 2021-09-29 15:02 Thomas Perrot
2021-09-30 8:50 ` Alexander Kanavin
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Perrot @ 2021-09-29 15:02 UTC (permalink / raw)
To: openembedded-core; +Cc: alexandre.belloni, mingli.yu, Thomas Perrot
Backport a patch to fix the below ptest failure:
# ./run-ptest
Running tests:
EVPORT
Skipping test
KQUEUE
Skipping test
EPOLL
test-eof: OKAY
test-dumpevents: OKAY (output not checked)
regress:
FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478: assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
[monotonic_prc_fallback FAILED]
1/312 TESTS FAILED. (33 skipped)
FAILED
regress_debug:
FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478: assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
[monotonic_prc_fallback FAILED]
1/312 TESTS FAILED. (33 skipped)
FAILED
[snip]
(From OE-Core rev: edecbbdacab5227c75e4a199e124389f8036b421)
[YOCTO #14507]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
---
...-monotonic_prc_fallback-as-retriable.patch | 28 +++++++
...ts-are-marked-failed-only-when-all-a.patch | 81 +++++++++++++++++++
.../libevent/libevent/run-ptest | 10 +--
.../libevent/libevent_2.1.12.bb | 4 +-
4 files changed, 117 insertions(+), 6 deletions(-)
create mode 100644 meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
create mode 100644 meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
diff --git a/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
new file mode 100644
index 000000000000..8a2c78983e1d
--- /dev/null
+++ b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
@@ -0,0 +1,28 @@
+From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat@libevent.org>
+Date: Sun, 19 Sep 2021 00:57:31 +0300
+Subject: [PATCH] test: mark util/monotonic_prc_fallback as retriable
+
+Refs: #1193
+
+Upstream-status: Backported
+---
+ test/regress_util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/regress_util.c b/test/regress_util.c
+index 45caa2700a40..a9e80db20149 100644
+--- a/test/regress_util.c
++++ b/test/regress_util.c
+@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = {
+ { "monotonic_res_fallback", test_evutil_monotonic_res, TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" },
+ { "monotonic_prc", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"" },
+ { "monotonic_prc_precise", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"precise" },
+- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0, &basic_setup, (void*)"fallback" },
++ { "monotonic_prc_fallback", test_evutil_monotonic_prc, TT_RETRIABLE, &basic_setup, (void*)"fallback" },
+ { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL },
+ { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0, NULL, NULL },
+ { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0, NULL, NULL },
+--
+2.31.1
+
diff --git a/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
new file mode 100644
index 000000000000..ae7db0b7aa85
--- /dev/null
+++ b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
@@ -0,0 +1,81 @@
+From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00 2001
+From: Thomas Perrot <thomas.perrot@bootlin.com>
+Date: Wed, 29 Sep 2021 13:50:35 +0200
+Subject: [PATCH] test: retriable tests are marked failed only when all
+ attempts have failed
+
+Fixes: #1193
+
+Upstream-status: Pending
+
+Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
+---
+ test/tinytest.c | 13 ++++++-------
+ test/tinytest.h | 2 +-
+ 2 files changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/test/tinytest.c b/test/tinytest.c
+index 85dfe74a720e..bf2882418eb6 100644
+--- a/test/tinytest.c
++++ b/test/tinytest.c
+@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t *group,
+
+ int
+ testcase_run_one(const struct testgroup_t *group,
+- const struct testcase_t *testcase)
++ const struct testcase_t *testcase,
++ const int test_attempts)
+ {
+ enum outcome outcome;
+
+@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t *group,
+ if (opt_verbosity>0 && !opt_forked)
+ puts("SKIPPED");
+ } else {
+- if (!opt_forked)
++ if (!opt_forked && (testcase->flags & TT_RETRIABLE) && !test_attempts)
+ printf("\n [%s FAILED]\n", testcase->name);
+ }
+
+@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
+ struct testgroup_t *group = &groups[i];
+ for (j = 0; group->cases[j].name; ++j) {
+ struct testcase_t *testcase = &group->cases[j];
+- int test_attempts = 3;
++ int test_attempts = (testcase->flags & TT_RETRIABLE) ? 3: 1;
+ int test_ret_err;
+
+ if (!(testcase->flags & TT_ENABLED_))
+ continue;
+
+ for (;;) {
+- test_ret_err = testcase_run_one(group, testcase);
++ test_ret_err = testcase_run_one(group, testcase, test_attempts);
+
+ if (test_ret_err == OK)
+ break;
+- if (!(testcase->flags & TT_RETRIABLE))
++ if (!--test_attempts)
+ break;
+ printf("\n [RETRYING %s (%i)]\n", testcase->name, test_attempts);
+- if (!test_attempts--)
+- break;
+ }
+
+ switch (test_ret_err) {
+diff --git a/test/tinytest.h b/test/tinytest.h
+index d321dd467542..c276b5339331 100644
+--- a/test/tinytest.h
++++ b/test/tinytest.h
+@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *, unsigned long);
+ tinytest_set_flag_(groups, named, 1, TT_SKIP)
+
+ /** Run a single testcase in a single group. */
+-int testcase_run_one(const struct testgroup_t *,const struct testcase_t *);
++int testcase_run_one(const struct testgroup_t *,const struct testcase_t *, const int test_attempts);
+
+ void tinytest_set_aliases(const struct testlist_alias_t *aliases);
+
+--
+2.31.1
+
diff --git a/meta/recipes-support/libevent/libevent/run-ptest b/meta/recipes-support/libevent/libevent/run-ptest
index d3b5e793c3c5..ef4260d1c413 100644
--- a/meta/recipes-support/libevent/libevent/run-ptest
+++ b/meta/recipes-support/libevent/libevent/run-ptest
@@ -1,14 +1,14 @@
#!/bin/sh
# run-ptest - 'ptest' test infrastructure shell script that
-# wraps the libevent test scripts
+# wraps the libevent test scripts
#
# Trevor Gamblin <trevor.gamblin@windriver.com>
###############################################################
LIBEVENTLIB=@libdir@/libevent
LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log"
-cd ${LIBEVENTLIB}/ptest
+cd ${LIBEVENTLIB}/ptest
# Run only the libevent "regress" test. All other test scripts in the
# libevent "test" folder are related to performance, e.g. read/write
@@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest
# in the ptest log.
./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG}
-passed=`grep PASS ${LOG}|wc -l`
-failed=`grep FAIL ${LOG}|wc -l`
-skipped=`grep -E SKIP ${LOG}|wc -l`
+passed=`grep PASS: ${LOG}|wc -l`
+failed=`grep FAIL: ${LOG}|wc -l`
+skipped=`grep -E SKIP: ${LOG}|wc -l`
all=$((passed + failed + skipped))
( echo "=== Test Summary ==="
diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb b/meta/recipes-support/libevent/libevent_2.1.12.bb
index 4b419eab226d..e26e8a9b5725 100644
--- a/meta/recipes-support/libevent/libevent_2.1.12.bb
+++ b/meta/recipes-support/libevent/libevent_2.1.12.bb
@@ -16,6 +16,8 @@ SRC_URI = "https://github.com/libevent/libevent/releases/download/release-${PV}-
file://run-ptest \
file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \
file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \
+ file://0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch \
+ file://0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch \
"
SRC_URI[sha256sum] = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb"
@@ -56,7 +58,7 @@ do_install_ptest() {
do
install -m 0755 $file ${D}${PTEST_PATH}/test
done
-
+
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
}
--
2.31.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core][PATCH v3] libevent: mark util/monotonic_prc_fallback as retriable
2021-09-29 15:02 [OE-core][PATCH v3] libevent: mark util/monotonic_prc_fallback as retriable Thomas Perrot
@ 2021-09-30 8:50 ` Alexander Kanavin
2021-09-30 12:25 ` Thomas Perrot
0 siblings, 1 reply; 3+ messages in thread
From: Alexander Kanavin @ 2021-09-30 8:50 UTC (permalink / raw)
To: Thomas Perrot; +Cc: OE-core, Alexandre Belloni, Yu, Mingli
[-- Attachment #1: Type: text/plain, Size: 10355 bytes --]
Please submit the patch upstream first. Also note the syntax:
Upstream-Status: Pending
Upstream-Status: Backport [from where]
Alex
On Wed, 29 Sept 2021 at 17:02, Thomas Perrot <thomas.perrot@bootlin.com>
wrote:
> Backport a patch to fix the below ptest failure:
> # ./run-ptest
> Running tests:
> EVPORT
> Skipping test
> KQUEUE
> Skipping test
> EPOLL
> test-eof: OKAY
> test-dumpevents: OKAY (output not checked)
> regress:
> FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478:
> assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
> [monotonic_prc_fallback FAILED]
> 1/312 TESTS FAILED. (33 skipped)
> FAILED
> regress_debug:
> FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478:
> assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
> [monotonic_prc_fallback FAILED]
> 1/312 TESTS FAILED. (33 skipped)
> FAILED
> [snip]
>
> (From OE-Core rev: edecbbdacab5227c75e4a199e124389f8036b421)
>
> [YOCTO #14507]
>
> Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
> ---
> ...-monotonic_prc_fallback-as-retriable.patch | 28 +++++++
> ...ts-are-marked-failed-only-when-all-a.patch | 81 +++++++++++++++++++
> .../libevent/libevent/run-ptest | 10 +--
> .../libevent/libevent_2.1.12.bb | 4 +-
> 4 files changed, 117 insertions(+), 6 deletions(-)
> create mode 100644
> meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
> create mode 100644
> meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
>
> diff --git
> a/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
> b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
> new file mode 100644
> index 000000000000..8a2c78983e1d
> --- /dev/null
> +++
> b/meta/recipes-support/libevent/libevent/0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch
> @@ -0,0 +1,28 @@
> +From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00 2001
> +From: Azat Khuzhin <azat@libevent.org>
> +Date: Sun, 19 Sep 2021 00:57:31 +0300
> +Subject: [PATCH] test: mark util/monotonic_prc_fallback as retriable
> +
> +Refs: #1193
> +
> +Upstream-status: Backported
> +---
> + test/regress_util.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/test/regress_util.c b/test/regress_util.c
> +index 45caa2700a40..a9e80db20149 100644
> +--- a/test/regress_util.c
> ++++ b/test/regress_util.c
> +@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = {
> + { "monotonic_res_fallback", test_evutil_monotonic_res,
> TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" },
> + { "monotonic_prc", test_evutil_monotonic_prc, 0, &basic_setup,
> (void*)"" },
> + { "monotonic_prc_precise", test_evutil_monotonic_prc,
> TT_RETRIABLE, &basic_setup, (void*)"precise" },
> +- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0,
> &basic_setup, (void*)"fallback" },
> ++ { "monotonic_prc_fallback", test_evutil_monotonic_prc,
> TT_RETRIABLE, &basic_setup, (void*)"fallback" },
> + { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL },
> + { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0, NULL,
> NULL },
> + { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0, NULL,
> NULL },
> +--
> +2.31.1
> +
> diff --git
> a/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
> b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
> new file mode 100644
> index 000000000000..ae7db0b7aa85
> --- /dev/null
> +++
> b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch
> @@ -0,0 +1,81 @@
> +From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00 2001
> +From: Thomas Perrot <thomas.perrot@bootlin.com>
> +Date: Wed, 29 Sep 2021 13:50:35 +0200
> +Subject: [PATCH] test: retriable tests are marked failed only when all
> + attempts have failed
> +
> +Fixes: #1193
> +
> +Upstream-status: Pending
> +
> +Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
> +---
> + test/tinytest.c | 13 ++++++-------
> + test/tinytest.h | 2 +-
> + 2 files changed, 7 insertions(+), 8 deletions(-)
> +
> +diff --git a/test/tinytest.c b/test/tinytest.c
> +index 85dfe74a720e..bf2882418eb6 100644
> +--- a/test/tinytest.c
> ++++ b/test/tinytest.c
> +@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t *group,
> +
> + int
> + testcase_run_one(const struct testgroup_t *group,
> +- const struct testcase_t *testcase)
> ++ const struct testcase_t *testcase,
> ++ const int test_attempts)
> + {
> + enum outcome outcome;
> +
> +@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t *group,
> + if (opt_verbosity>0 && !opt_forked)
> + puts("SKIPPED");
> + } else {
> +- if (!opt_forked)
> ++ if (!opt_forked && (testcase->flags & TT_RETRIABLE) &&
> !test_attempts)
> + printf("\n [%s FAILED]\n", testcase->name);
> + }
> +
> +@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct
> testgroup_t *groups)
> + struct testgroup_t *group = &groups[i];
> + for (j = 0; group->cases[j].name; ++j) {
> + struct testcase_t *testcase = &group->cases[j];
> +- int test_attempts = 3;
> ++ int test_attempts = (testcase->flags &
> TT_RETRIABLE) ? 3: 1;
> + int test_ret_err;
> +
> + if (!(testcase->flags & TT_ENABLED_))
> + continue;
> +
> + for (;;) {
> +- test_ret_err = testcase_run_one(group,
> testcase);
> ++ test_ret_err = testcase_run_one(group,
> testcase, test_attempts);
> +
> + if (test_ret_err == OK)
> + break;
> +- if (!(testcase->flags & TT_RETRIABLE))
> ++ if (!--test_attempts)
> + break;
> + printf("\n [RETRYING %s (%i)]\n",
> testcase->name, test_attempts);
> +- if (!test_attempts--)
> +- break;
> + }
> +
> + switch (test_ret_err) {
> +diff --git a/test/tinytest.h b/test/tinytest.h
> +index d321dd467542..c276b5339331 100644
> +--- a/test/tinytest.h
> ++++ b/test/tinytest.h
> +@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *, unsigned long);
> + tinytest_set_flag_(groups, named, 1, TT_SKIP)
> +
> + /** Run a single testcase in a single group. */
> +-int testcase_run_one(const struct testgroup_t *,const struct testcase_t
> *);
> ++int testcase_run_one(const struct testgroup_t *,const struct testcase_t
> *, const int test_attempts);
> +
> + void tinytest_set_aliases(const struct testlist_alias_t *aliases);
> +
> +--
> +2.31.1
> +
> diff --git a/meta/recipes-support/libevent/libevent/run-ptest
> b/meta/recipes-support/libevent/libevent/run-ptest
> index d3b5e793c3c5..ef4260d1c413 100644
> --- a/meta/recipes-support/libevent/libevent/run-ptest
> +++ b/meta/recipes-support/libevent/libevent/run-ptest
> @@ -1,14 +1,14 @@
> #!/bin/sh
>
> # run-ptest - 'ptest' test infrastructure shell script that
> -# wraps the libevent test scripts
> +# wraps the libevent test scripts
> #
> # Trevor Gamblin <trevor.gamblin@windriver.com>
> ###############################################################
> LIBEVENTLIB=@libdir@/libevent
> LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log"
>
> -cd ${LIBEVENTLIB}/ptest
> +cd ${LIBEVENTLIB}/ptest
>
> # Run only the libevent "regress" test. All other test scripts in the
> # libevent "test" folder are related to performance, e.g. read/write
> @@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest
> # in the ptest log.
> ./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: /
> ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' |
> cut -f1,2 -d ':' | tee -a ${LOG}
>
> -passed=`grep PASS ${LOG}|wc -l`
> -failed=`grep FAIL ${LOG}|wc -l`
> -skipped=`grep -E SKIP ${LOG}|wc -l`
> +passed=`grep PASS: ${LOG}|wc -l`
> +failed=`grep FAIL: ${LOG}|wc -l`
> +skipped=`grep -E SKIP: ${LOG}|wc -l`
> all=$((passed + failed + skipped))
>
> ( echo "=== Test Summary ==="
> diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb
> b/meta/recipes-support/libevent/libevent_2.1.12.bb
> index 4b419eab226d..e26e8a9b5725 100644
> --- a/meta/recipes-support/libevent/libevent_2.1.12.bb
> +++ b/meta/recipes-support/libevent/libevent_2.1.12.bb
> @@ -16,6 +16,8 @@ SRC_URI = "
> https://github.com/libevent/libevent/releases/download/release-${PV}-
> file://run-ptest \
>
> file://0001-test-regress_dns.c-patch-out-tests-that-require-a-wo.patch \
>
> file://0002-test-regress.h-Increase-default-timeval-tolerance-50.patch \
> +
> file://0003-test-mark-util-monotonic_prc_fallback-as-retriable.patch \
> +
> file://0004-test-retriable-tests-are-marked-failed-only-when-all-a.patch \
> "
>
> SRC_URI[sha256sum] =
> "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb"
> @@ -56,7 +58,7 @@ do_install_ptest() {
> do
> install -m 0755 $file ${D}${PTEST_PATH}/test
> done
> -
> +
> # handle multilib
> sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
> }
> --
> 2.31.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#156468):
> https://lists.openembedded.org/g/openembedded-core/message/156468
> Mute This Topic: https://lists.openembedded.org/mt/85950365/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
[-- Attachment #2: Type: text/html, Size: 13725 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core][PATCH v3] libevent: mark util/monotonic_prc_fallback as retriable
2021-09-30 8:50 ` Alexander Kanavin
@ 2021-09-30 12:25 ` Thomas Perrot
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Perrot @ 2021-09-30 12:25 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: OE-core, Alexandre Belloni, Yu, Mingli
[-- Attachment #1: Type: text/plain, Size: 12337 bytes --]
Hello,
On Thu, 2021-09-30 at 10:50 +0200, Alexander Kanavin wrote:
> Please submit the patch upstream first. Also note the syntax:
>
> Upstream-Status: Pending
> Upstream-Status: Backport [from where]
>
I'm currently submitting a reworked patch for the libevent master
branch, because since 2.1.12 there were some changes that required
reworking the patch 0004.
I will correct the syntax of upstream status, thank you.
Best regards,
Thomas
> Alex
>
> On Wed, 29 Sept 2021 at 17:02, Thomas Perrot <
> thomas.perrot@bootlin.com> wrote:
> > Backport a patch to fix the below ptest failure:
> > # ./run-ptest
> > Running tests:
> > EVPORT
> > Skipping test
> > KQUEUE
> > Skipping test
> > EPOLL
> > test-eof: OKAY
> > test-dumpevents: OKAY (output not checked)
> > regress:
> > FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478:
> > assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
> > [monotonic_prc_fallback FAILED]
> > 1/312 TESTS FAILED. (33 skipped)
> > FAILED
> > regress_debug:
> > FAIL ../libevent-2.1.12-stable/test/regress_util.c:1478:
> > assert(diff.tv_sec == 0): 1 vs 0 util/monotonic_prc_fallback:
> > [monotonic_prc_fallback FAILED]
> > 1/312 TESTS FAILED. (33 skipped)
> > FAILED
> > [snip]
> >
> > (From OE-Core rev: edecbbdacab5227c75e4a199e124389f8036b421)
> >
> > [YOCTO #14507]
> >
> > Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> > Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> > Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
> > ---
> > ...-monotonic_prc_fallback-as-retriable.patch | 28 +++++++
> > ...ts-are-marked-failed-only-when-all-a.patch | 81
> > +++++++++++++++++++
> > .../libevent/libevent/run-ptest | 10 +--
> > .../libevent/libevent_2.1.12.bb | 4 +-
> > 4 files changed, 117 insertions(+), 6 deletions(-)
> > create mode 100644 meta/recipes-support/libevent/libevent/0003-
> > test-
> > mark-util-monotonic_prc_fallback-as-retriable.patch
> > create mode 100644 meta/recipes-support/libevent/libevent/0004-
> > test-
> > retriable-tests-are-marked-failed-only-when-all-a.patch
> >
> > diff --git a/meta/recipes-support/libevent/libevent/0003-test-mark-
> > util-monotonic_prc_fallback-as-retriable.patch b/meta/recipes-
> > support/libevent/libevent/0003-test-mark-util-
> > monotonic_prc_fallback-
> > as-retriable.patch
> > new file mode 100644
> > index 000000000000..8a2c78983e1d
> > --- /dev/null
> > +++ b/meta/recipes-support/libevent/libevent/0003-test-mark-util-
> > monotonic_prc_fallback-as-retriable.patch
> > @@ -0,0 +1,28 @@
> > +From d01a57a998798da977c470f3b8d6a457c1adb144 Mon Sep 17 00:00:00
> > 2001
> > +From: Azat Khuzhin <azat@libevent.org>
> > +Date: Sun, 19 Sep 2021 00:57:31 +0300
> > +Subject: [PATCH] test: mark util/monotonic_prc_fallback as
> > retriable
> > +
> > +Refs: #1193
> > +
> > +Upstream-status: Backported
> > +---
> > + test/regress_util.c | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/test/regress_util.c b/test/regress_util.c
> > +index 45caa2700a40..a9e80db20149 100644
> > +--- a/test/regress_util.c
> > ++++ b/test/regress_util.c
> > +@@ -1672,7 +1672,7 @@ struct testcase_t util_testcases[] = {
> > + { "monotonic_res_fallback", test_evutil_monotonic_res,
> > TT_OFF_BY_DEFAULT, &basic_setup, (void*)"fallback" },
> > + { "monotonic_prc", test_evutil_monotonic_prc, 0,
> > &basic_setup, (void*)"" },
> > + { "monotonic_prc_precise", test_evutil_monotonic_prc,
> > TT_RETRIABLE, &basic_setup, (void*)"precise" },
> > +- { "monotonic_prc_fallback", test_evutil_monotonic_prc, 0,
> > &basic_setup, (void*)"fallback" },
> > ++ { "monotonic_prc_fallback", test_evutil_monotonic_prc,
> > TT_RETRIABLE, &basic_setup, (void*)"fallback" },
> > + { "date_rfc1123", test_evutil_date_rfc1123, 0, NULL, NULL
> > },
> > + { "evutil_v4addr_is_local", test_evutil_v4addr_is_local, 0,
> > NULL, NULL },
> > + { "evutil_v6addr_is_local", test_evutil_v6addr_is_local, 0,
> > NULL, NULL },
> > +--
> > +2.31.1
> > +
> > diff --git a/meta/recipes-support/libevent/libevent/0004-test-
> > retriable-tests-are-marked-failed-only-when-all-a.patch
> > b/meta/recipes-support/libevent/libevent/0004-test-retriable-tests-
> > are-marked-failed-only-when-all-a.patch
> > new file mode 100644
> > index 000000000000..ae7db0b7aa85
> > --- /dev/null
> > +++ b/meta/recipes-support/libevent/libevent/0004-test-retriable-
> > tests-are-marked-failed-only-when-all-a.patch
> > @@ -0,0 +1,81 @@
> > +From 36ebd92fa53c0097f1e2f9ec5aa5b5c6ec1b411d Mon Sep 17 00:00:00
> > 2001
> > +From: Thomas Perrot <thomas.perrot@bootlin.com>
> > +Date: Wed, 29 Sep 2021 13:50:35 +0200
> > +Subject: [PATCH] test: retriable tests are marked failed only when
> > all
> > + attempts have failed
> > +
> > +Fixes: #1193
> > +
> > +Upstream-status: Pending
> > +
> > +Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
> > +---
> > + test/tinytest.c | 13 ++++++-------
> > + test/tinytest.h | 2 +-
> > + 2 files changed, 7 insertions(+), 8 deletions(-)
> > +
> > +diff --git a/test/tinytest.c b/test/tinytest.c
> > +index 85dfe74a720e..bf2882418eb6 100644
> > +--- a/test/tinytest.c
> > ++++ b/test/tinytest.c
> > +@@ -310,7 +310,8 @@ testcase_run_forked_(const struct testgroup_t
> > *group,
> > +
> > + int
> > + testcase_run_one(const struct testgroup_t *group,
> > +- const struct testcase_t *testcase)
> > ++ const struct testcase_t *testcase,
> > ++ const int test_attempts)
> > + {
> > + enum outcome outcome;
> > +
> > +@@ -348,7 +349,7 @@ testcase_run_one(const struct testgroup_t
> > *group,
> > + if (opt_verbosity>0 && !opt_forked)
> > + puts("SKIPPED");
> > + } else {
> > +- if (!opt_forked)
> > ++ if (!opt_forked && (testcase->flags & TT_RETRIABLE)
> > && !test_attempts)
> > + printf("\n [%s FAILED]\n", testcase-
> > >name);
> > + }
> > +
> > +@@ -525,22 +526,20 @@ tinytest_main(int c, const char **v, struct
> > testgroup_t *groups)
> > + struct testgroup_t *group = &groups[i];
> > + for (j = 0; group->cases[j].name; ++j) {
> > + struct testcase_t *testcase = &group-
> > > cases[j];
> > +- int test_attempts = 3;
> > ++ int test_attempts = (testcase->flags &
> > TT_RETRIABLE) ? 3: 1;
> > + int test_ret_err;
> > +
> > + if (!(testcase->flags & TT_ENABLED_))
> > + continue;
> > +
> > + for (;;) {
> > +- test_ret_err =
> > testcase_run_one(group, testcase);
> > ++ test_ret_err =
> > testcase_run_one(group, testcase, test_attempts);
> > +
> > + if (test_ret_err == OK)
> > + break;
> > +- if (!(testcase->flags &
> > TT_RETRIABLE))
> > ++ if (!--test_attempts)
> > + break;
> > + printf("\n [RETRYING %s (%i)]\n",
> > testcase->name, test_attempts);
> > +- if (!test_attempts--)
> > +- break;
> > + }
> > +
> > + switch (test_ret_err) {
> > +diff --git a/test/tinytest.h b/test/tinytest.h
> > +index d321dd467542..c276b5339331 100644
> > +--- a/test/tinytest.h
> > ++++ b/test/tinytest.h
> > +@@ -92,7 +92,7 @@ char *tinytest_format_hex_(const void *,
> > unsigned
> > long);
> > + tinytest_set_flag_(groups, named, 1, TT_SKIP)
> > +
> > + /** Run a single testcase in a single group. */
> > +-int testcase_run_one(const struct testgroup_t *,const struct
> > testcase_t *);
> > ++int testcase_run_one(const struct testgroup_t *,const struct
> > testcase_t *, const int test_attempts);
> > +
> > + void tinytest_set_aliases(const struct testlist_alias_t
> > *aliases);
> > +
> > +--
> > +2.31.1
> > +
> > diff --git a/meta/recipes-support/libevent/libevent/run-ptest
> > b/meta/recipes-support/libevent/libevent/run-ptest
> > index d3b5e793c3c5..ef4260d1c413 100644
> > --- a/meta/recipes-support/libevent/libevent/run-ptest
> > +++ b/meta/recipes-support/libevent/libevent/run-ptest
> > @@ -1,14 +1,14 @@
> > #!/bin/sh
> >
> > # run-ptest - 'ptest' test infrastructure shell script that
> > -# wraps the libevent test scripts
> > +# wraps the libevent test scripts
> > #
> > # Trevor Gamblin <trevor.gamblin@windriver.com>
> > ###############################################################
> > LIBEVENTLIB=@libdir@/libevent
> > LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-
> > %H%M%S).log"
> >
> > -cd ${LIBEVENTLIB}/ptest
> > +cd ${LIBEVENTLIB}/ptest
> >
> > # Run only the libevent "regress" test. All other test scripts in
> > the
> > # libevent "test" folder are related to performance, e.g.
> > read/write
> > @@ -16,9 +16,9 @@ cd ${LIBEVENTLIB}/ptest
> > # in the ptest log.
> > ./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/
> > s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ;
> > /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG}
> >
> > -passed=`grep PASS ${LOG}|wc -l`
> > -failed=`grep FAIL ${LOG}|wc -l`
> > -skipped=`grep -E SKIP ${LOG}|wc -l`
> > +passed=`grep PASS: ${LOG}|wc -l`
> > +failed=`grep FAIL: ${LOG}|wc -l`
> > +skipped=`grep -E SKIP: ${LOG}|wc -l`
> > all=$((passed + failed + skipped))
> >
> > ( echo "=== Test Summary ==="
> > diff --git a/meta/recipes-support/libevent/libevent_2.1.12.bb
> > b/meta/recipes-support/libevent/libevent_2.1.12.bb
> > index 4b419eab226d..e26e8a9b5725 100644
> > --- a/meta/recipes-support/libevent/libevent_2.1.12.bb
> > +++ b/meta/recipes-support/libevent/libevent_2.1.12.bb
> > @@ -16,6 +16,8 @@ SRC_URI =
> > "
> > https://github.com/libevent/libevent/releases/download/release-${PV}
> > -
> > file://run-ptest \
> > file://0001-test-regress_dns.c-patch-out-tests-that-
> > require-a-wo.patch \
> > file://0002-test-regress.h-Increase-default-timeval-
> > tolerance-50.patch \
> > + file://0003-test-mark-util-monotonic_prc_fallback-as-
> > retriable.patch \
> > +
> > file://0004-test-retriable-tests-are-marked-failed-only-
> > when-all-a.patch \
> > "
> >
> > SRC_URI[sha256sum] =
> > "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb"
> > @@ -56,7 +58,7 @@ do_install_ptest() {
> > do
> > install -m 0755 $file ${D}${PTEST_PATH}/test
> > done
> > -
> > +
> > # handle multilib
> > sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
> > }
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#156488):
> > https://lists.openembedded.org/g/openembedded-core/message/156488
> > Mute This Topic: https://lists.openembedded.org/mt/85950365/5443093
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe:
> > https://lists.openembedded.org/g/openembedded-core/unsub [
> > thomas.perrot@bootlin.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
--
Thomas Perrot, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-30 12:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 15:02 [OE-core][PATCH v3] libevent: mark util/monotonic_prc_fallback as retriable Thomas Perrot
2021-09-30 8:50 ` Alexander Kanavin
2021-09-30 12:25 ` Thomas Perrot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.