* [PATCH 1/3] lttng-tools: exclude one more test that sporadically fails
@ 2020-02-23 13:52 Alexander Kanavin
2020-02-23 13:52 ` [PATCH 2/3] libinput: update 1.14.3 -> 1.15.2 Alexander Kanavin
2020-02-23 13:52 ` [PATCH 3/3] ptest: add an option to enforce a failure (e.g. ptests are required to pass) Alexander Kanavin
0 siblings, 2 replies; 3+ messages in thread
From: Alexander Kanavin @ 2020-02-23 13:52 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
...-regression-disable-the-tools-live-tests.patch | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
index a558a0993f..f2c14ecc94 100644
--- a/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
+++ b/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch
@@ -1,4 +1,4 @@
-From 5f0ef3e007ed83c1ce7ae817308e5942decc1230 Mon Sep 17 00:00:00 2001
+From c69b68e5c03f1d260025fb1dd9ab7345e31e15ef Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 24 Jan 2020 18:03:25 +0100
Subject: [PATCH] tests/regression: disable the tools/live tests
@@ -10,14 +10,14 @@ https://bugs.lttng.org/issues/1217
Upstream-Status: Inappropriate [upstream is working on a real fix]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- tests/regression/Makefile.am | 3 ---
- 1 file changed, 3 deletions(-)
+ tests/regression/Makefile.am | 4 ----
+ 1 file changed, 4 deletions(-)
diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am
-index 73eb9f7..92fc18f 100644
+index 73eb9f7..b92bdbd 100644
--- a/tests/regression/Makefile.am
+++ b/tests/regression/Makefile.am
-@@ -9,9 +9,6 @@ TESTS = tools/filtering/test_invalid_filter \
+@@ -9,14 +9,10 @@ TESTS = tools/filtering/test_invalid_filter \
tools/filtering/test_valid_filter \
tools/streaming/test_ust \
tools/health/test_thread_ok \
@@ -27,3 +27,8 @@ index 73eb9f7..92fc18f 100644
tools/tracefile-limits/test_tracefile_count \
tools/tracefile-limits/test_tracefile_size \
tools/exclusion/test_exclusion \
+ tools/snapshots/test_ust_fast \
+- tools/snapshots/test_ust_streaming \
+ tools/save-load/test_save \
+ tools/save-load/test_load \
+ tools/save-load/test_autoload \
--
2.25.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/3] libinput: update 1.14.3 -> 1.15.2
2020-02-23 13:52 [PATCH 1/3] lttng-tools: exclude one more test that sporadically fails Alexander Kanavin
@ 2020-02-23 13:52 ` Alexander Kanavin
2020-02-23 13:52 ` [PATCH 3/3] ptest: add an option to enforce a failure (e.g. ptests are required to pass) Alexander Kanavin
1 sibling, 0 replies; 3+ messages in thread
From: Alexander Kanavin @ 2020-02-23 13:52 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
...64bit-time_t-for-32bit-architectures.patch | 386 ------------------
...{libinput_1.14.3.bb => libinput_1.15.2.bb} | 8 +-
2 files changed, 4 insertions(+), 390 deletions(-)
delete mode 100644 meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch
rename meta/recipes-graphics/wayland/{libinput_1.14.3.bb => libinput_1.15.2.bb} (86%)
diff --git a/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch b/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch
deleted file mode 100644
index 344e6aaf8f..0000000000
--- a/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch
+++ /dev/null
@@ -1,386 +0,0 @@
-From ab6ce09bfb669177c90cc5c10155eec44e9fc34b Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Sat, 23 Nov 2019 17:23:56 -0800
-Subject: [PATCH] Adjust for 64bit time_t for 32bit architectures
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/libinput/libinput/merge_requests/346]
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- meson.build | 1 +
- src/evdev-mt-touchpad-buttons.c | 15 ++++---
- src/evdev.c | 5 ++-
- src/util-input-event.h | 69 +++++++++++++++++++++++++++++++++
- tools/libinput-record.c | 16 +++++---
- 5 files changed, 90 insertions(+), 16 deletions(-)
- create mode 100644 src/util-input-event.h
-
---- a/meson.build
-+++ b/meson.build
-@@ -220,7 +220,8 @@ endif
- ############ libinput-util.a ############
- src_libinput_util = [
- 'src/libinput-util.c',
-- 'src/libinput-util.h'
-+ 'src/libinput-util.h',
-+ 'src/util-input-event.h'
- ]
- libinput_util = static_library('libinput-util',
- src_libinput_util,
---- a/src/evdev-mt-touchpad-buttons.c
-+++ b/src/evdev-mt-touchpad-buttons.c
-@@ -30,6 +30,7 @@
- #include <unistd.h>
- #include "linux/input.h"
-
-+#include "util-input-event.h"
- #include "evdev-mt-touchpad.h"
-
- #define DEFAULT_BUTTON_ENTER_TIMEOUT ms2us(100)
-@@ -1145,14 +1146,12 @@ tp_notify_clickpadbutton(struct tp_dispa
- if (tp->buttons.trackpoint) {
- if (is_topbutton) {
- struct evdev_dispatch *dispatch = tp->buttons.trackpoint->dispatch;
-- struct input_event event;
-- struct input_event syn_report = {{ 0, 0 }, EV_SYN, SYN_REPORT, 0 };
-+ struct input_event event, syn_report;
-+ int value;
-
-- event.time = us2tv(time);
-- event.type = EV_KEY;
-- event.code = button;
-- event.value = (state == LIBINPUT_BUTTON_STATE_PRESSED) ? 1 : 0;
-- syn_report.time = event.time;
-+ value = (state == LIBINPUT_BUTTON_STATE_PRESSED) ? 1 : 0;
-+ event = input_event_init(time, EV_KEY, button, value);
-+ syn_report = input_event_init(time, EV_SYN, SYN_REPORT, 0);
- dispatch->interface->process(dispatch,
- tp->buttons.trackpoint,
- &event,
---- a/src/evdev.c
-+++ b/src/evdev.c
-@@ -44,6 +44,7 @@
- #include "filter.h"
- #include "libinput-private.h"
- #include "quirks.h"
-+#include "util-input-event.h"
-
- #if HAVE_LIBWACOM
- #include <libwacom/libwacom.h>
-@@ -859,7 +860,7 @@ evdev_print_event(struct evdev_device *d
- {
- static uint32_t offset = 0;
- static uint32_t last_time = 0;
-- uint32_t time = us2ms(tv2us(&e->time));
-+ uint32_t time = us2ms(input_event_time(e));
-
- if (offset == 0) {
- offset = time;
-@@ -891,7 +892,7 @@ static inline void
- evdev_process_event(struct evdev_device *device, struct input_event *e)
- {
- struct evdev_dispatch *dispatch = device->dispatch;
-- uint64_t time = tv2us(&e->time);
-+ uint64_t time = input_event_time(e);
-
- #if 0
- evdev_print_event(device, e);
---- /dev/null
-+++ b/src/util-input-event.h
-@@ -0,0 +1,69 @@
-+/*
-+ * Copyright © 2019 Red Hat, Inc.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#pragma once
-+
-+#include "config.h"
-+
-+#include "util-time.h"
-+#include <linux/input.h>
-+
-+static inline struct input_event
-+input_event_init(uint64_t time,
-+ unsigned int code,
-+ unsigned int type,
-+ int value)
-+{
-+ struct input_event ev;
-+ struct timeval tval = us2tv(time);
-+
-+ ev.input_event_sec = tval.tv_sec;
-+ ev.input_event_usec = tval.tv_usec;
-+ ev.type = type;
-+ ev.code = code;
-+ ev.value = value;
-+
-+ return ev;
-+}
-+
-+static inline uint64_t
-+input_event_time(const struct input_event *e)
-+{
-+ struct timeval tval;
-+
-+ tval.tv_sec = e->input_event_sec;
-+ tval.tv_usec = e->input_event_usec;
-+
-+ return tv2us(&tval);
-+}
-+
-+
-+static inline void
-+input_event_set_time(struct input_event *e,
-+ uint64_t time)
-+{
-+ struct timeval tval = us2tv(time);
-+
-+ e->input_event_sec = tval.tv_sec;
-+ e->input_event_usec = tval.tv_usec;
-+}
---- a/tools/libinput-record.c
-+++ b/tools/libinput-record.c
-@@ -41,6 +41,7 @@
- #include <stdbool.h>
-
- #include "libinput-versionsort.h"
-+#include "util-input-event.h"
- #include "libinput-util.h"
- #include "libinput-version.h"
- #include "libinput-git-version.h"
-@@ -196,8 +197,9 @@ print_evdev_event(struct record_context
- const char *cname;
- bool was_modified = false;
- char desc[1024];
-+ uint64_t time = input_event_time(ev) - ctx->offset;
-
-- ev->time = us2tv(tv2us(&ev->time) - ctx->offset);
-+ input_event_set_time(ev, time);
-
- /* Don't leak passwords unless the user wants to */
- if (!ctx->show_keycodes)
-@@ -215,7 +217,7 @@ print_evdev_event(struct record_context
- static unsigned long last_ms = 0;
- unsigned long time, dt;
-
-- time = us2ms(tv2us(&ev->time));
-+ time = us2ms(input_event_time(ev));
- dt = time - last_ms;
- last_ms = time;
-
-@@ -239,8 +241,8 @@ print_evdev_event(struct record_context
-
- iprintf(ctx,
- "- [%3lu, %6u, %3d, %3d, %6d] # %s\n",
-- ev->time.tv_sec,
-- (unsigned int)ev->time.tv_usec,
-+ ev->input_event_sec,
-+ (unsigned int)ev->input_event_usec,
- ev->type,
- ev->code,
- ev->value,
-@@ -268,16 +270,18 @@ handle_evdev_frame(struct record_context
- while (libevdev_next_event(evdev,
- LIBEVDEV_READ_FLAG_NORMAL,
- &e) == LIBEVDEV_READ_STATUS_SUCCESS) {
-+ uint64_t time;
-
- if (ctx->offset == 0)
-- ctx->offset = tv2us(&e.time);
-+ ctx->offset = input_event_time(&e);
-
- if (d->nevents == d->events_sz)
- resize(d->events, d->events_sz);
-
- event = &d->events[d->nevents++];
- event->type = EVDEV;
-- event->time = tv2us(&e.time) - ctx->offset;
-+ time = input_event_time(&e);
-+ input_event_set_time(&e, time - ctx->offset);
- event->u.evdev = e;
- count++;
-
---- a/src/libinput-private.h
-+++ b/src/libinput-private.h
-@@ -39,6 +39,7 @@
-
- #include "libinput.h"
- #include "libinput-util.h"
-+#include "util-time.h"
- #include "libinput-version.h"
-
- #if LIBINPUT_VERSION_MICRO >= 90
---- a/src/libinput-util.h
-+++ b/src/libinput-util.h
-@@ -206,12 +206,6 @@ clear_bit(unsigned char *array, int bit)
- array[bit / 8] &= ~(1 << (bit % 8));
- }
-
--static inline void
--msleep(unsigned int ms)
--{
-- usleep(ms * 1000);
--}
--
- static inline bool
- long_bit_is_set(const unsigned long *array, int bit)
- {
-@@ -453,53 +447,6 @@ bool
- parse_switch_reliability_property(const char *prop,
- enum switch_reliability *reliability);
-
--static inline uint64_t
--us(uint64_t us)
--{
-- return us;
--}
--
--static inline uint64_t
--ns2us(uint64_t ns)
--{
-- return us(ns / 1000);
--}
--
--static inline uint64_t
--ms2us(uint64_t ms)
--{
-- return us(ms * 1000);
--}
--
--static inline uint64_t
--s2us(uint64_t s)
--{
-- return ms2us(s * 1000);
--}
--
--static inline uint32_t
--us2ms(uint64_t us)
--{
-- return (uint32_t)(us / 1000);
--}
--
--static inline uint64_t
--tv2us(const struct timeval *tv)
--{
-- return s2us(tv->tv_sec) + tv->tv_usec;
--}
--
--static inline struct timeval
--us2tv(uint64_t time)
--{
-- struct timeval tv;
--
-- tv.tv_sec = time / ms2us(1000);
-- tv.tv_usec = time % ms2us(1000);
--
-- return tv;
--}
--
- static inline bool
- safe_atoi_base(const char *str, int *val, int base)
- {
---- /dev/null
-+++ b/src/util-time.h
-@@ -0,0 +1,84 @@
-+/*
-+ * Copyright © 2013-2019 Red Hat, Inc.
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#pragma once
-+
-+#include "config.h"
-+
-+#include <time.h>
-+#include <stdint.h>
-+#include <unistd.h>
-+#include <linux/input.h>
-+
-+static inline void
-+msleep(unsigned int ms)
-+{
-+ usleep(ms * 1000);
-+}
-+
-+static inline uint64_t
-+us(uint64_t us)
-+{
-+ return us;
-+}
-+
-+static inline uint64_t
-+ns2us(uint64_t ns)
-+{
-+ return us(ns / 1000);
-+}
-+
-+static inline uint64_t
-+ms2us(uint64_t ms)
-+{
-+ return us(ms * 1000);
-+}
-+
-+static inline uint64_t
-+s2us(uint64_t s)
-+{
-+ return ms2us(s * 1000);
-+}
-+
-+static inline uint32_t
-+us2ms(uint64_t us)
-+{
-+ return (uint32_t)(us / 1000);
-+}
-+
-+static inline uint64_t
-+tv2us(const struct timeval *tv)
-+{
-+ return s2us(tv->tv_sec) + tv->tv_usec;
-+}
-+
-+static inline struct timeval
-+us2tv(uint64_t time)
-+{
-+ struct timeval tv;
-+
-+ tv.tv_sec = time / ms2us(1000);
-+ tv.tv_usec = time % ms2us(1000);
-+
-+ return tv;
-+}
diff --git a/meta/recipes-graphics/wayland/libinput_1.14.3.bb b/meta/recipes-graphics/wayland/libinput_1.15.2.bb
similarity index 86%
rename from meta/recipes-graphics/wayland/libinput_1.14.3.bb
rename to meta/recipes-graphics/wayland/libinput_1.15.2.bb
index bc5a76dc9a..810532774e 100644
--- a/meta/recipes-graphics/wayland/libinput_1.14.3.bb
+++ b/meta/recipes-graphics/wayland/libinput_1.15.2.bb
@@ -13,11 +13,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63"
DEPENDS = "libevdev udev mtdev"
SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \
- file://0001-adjust-for-64bit-time_t-for-32bit-architectures.patch \
file://determinism.patch \
-"
-SRC_URI[md5sum] = "d052faa64eb6d2e649e582cc0fcf6e32"
-SRC_URI[sha256sum] = "0feb3a0589709cc1032893bfaf4c49150d5360bd9782bec888f9e4dd9044c5b7"
+ "
+SRC_URI[md5sum] = "eb6bd2907ad33d53954d70dfb881a643"
+SRC_URI[sha256sum] = "971c3fbfb624f95c911adeb2803c372e4e3647d1b98f278f660051f834597747"
UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
@@ -38,3 +37,4 @@ EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
RPROVIDES_${PN} = "libinput"
RREPLACES_${PN} = "libinput"
RCONFLICTS_${PN} = "libinput"
+
--
2.25.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 3/3] ptest: add an option to enforce a failure (e.g. ptests are required to pass)
2020-02-23 13:52 [PATCH 1/3] lttng-tools: exclude one more test that sporadically fails Alexander Kanavin
2020-02-23 13:52 ` [PATCH 2/3] libinput: update 1.14.3 -> 1.15.2 Alexander Kanavin
@ 2020-02-23 13:52 ` Alexander Kanavin
1 sibling, 0 replies; 3+ messages in thread
From: Alexander Kanavin @ 2020-02-23 13:52 UTC (permalink / raw)
To: openembedded-core
This can be useful with a more specific, targeted and robust set of ptest
packages; the benefit is that ptest regressions are caught as they happen
and can be more easily traced to changes that caused them.
The existing AB ptest image continues to be expected to fail, my observation
of the AB runs is that the full set of ptests is not robust enough
(particularly around socket/network related tests) and sporadically fails
in random places. This can probably be addressed by making ptests exclusive
to a worker (e.g. there is no other workload happening at the same time as
ptests).
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
meta/lib/oeqa/runtime/cases/ptest.py | 15 ++++++++++++++-
.../images/core-image-sato-sdk-ptest.bb | 3 +++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oeqa/runtime/cases/ptest.py b/meta/lib/oeqa/runtime/cases/ptest.py
index eb284df439..5626f707b9 100644
--- a/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/meta/lib/oeqa/runtime/cases/ptest.py
@@ -18,7 +18,20 @@ class PtestRunnerTest(OERuntimeTestCase):
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['ptest-runner'])
@unittest.expectedFailure
- def test_ptestrunner(self):
+ def test_ptestrunner_expectfail(self):
+ if not self.td.get('PTEST_EXPECT_FAILURE'):
+ self.skipTest('Cannot run ptests with @expectedFailure as ptests are required to pass')
+ self.do_ptestrunner()
+
+ @skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES')
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(['ptest-runner'])
+ def test_ptestrunner_expectsuccess(self):
+ if self.td.get('PTEST_EXPECT_FAILURE'):
+ self.skipTest('Cannot run ptests without @expectedFailure as ptests are expected to fail')
+ self.do_ptestrunner()
+
+ def do_ptestrunner(self):
status, output = self.target.run('which ptest-runner', 0)
if status != 0:
self.skipTest("No -ptest packages are installed in the image")
diff --git a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index 58c257c49f..bf749acd79 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -18,3 +18,6 @@ IMAGE_ROOTFS_EXTRA_SPACE = "1124288"
# ptests need more memory than standard to avoid the OOM killer
# also lttng-tools needs /tmp that has at least 1G
QB_MEM = "-m 2048"
+
+# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
+PTEST_EXPECT_FAILURE = "1"
--
2.25.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-23 13:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-23 13:52 [PATCH 1/3] lttng-tools: exclude one more test that sporadically fails Alexander Kanavin
2020-02-23 13:52 ` [PATCH 2/3] libinput: update 1.14.3 -> 1.15.2 Alexander Kanavin
2020-02-23 13:52 ` [PATCH 3/3] ptest: add an option to enforce a failure (e.g. ptests are required to pass) Alexander Kanavin
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.