[PATCH 1/2] minicoredumper: Add ptest


Simone Weiss <simone.weiss@...>
 

Add the demo from minicoredumper - that is intended as a test for it -
as a ptest for minicoredumper.

Result example:

root@qemux86-64:~# ptest-runner minicoredumper
START: ptest-runner
2023-02-02T12:27
BEGIN: /usr/lib/minicoredumper/ptest
minicoredumper_demo
expecting Segmentation fault with core dump ...
[ 21.791878] minicoredumper_[330]: segfault at 0 ip 00000000004014f2 sp
00007ffe4271f870 error 4 in minicoredumper_demo[401000+1000] likely on CPU 0
(core 0, socket 0)
[ 21.793886] Code: 00 b8 00 00 00 00 e8 7d fb ff ff 83 bd 5c ff ff ff 01 75
2f 48 c7 45 e8 00 00 00 00 bf 58 21 40 00 e8 52 fb ff ff 48 8b 45 e8 <0f> b6
00 0f be c0 89 c6 bf 77 21 40 00 b8 00 00 00 00 e8 47 ff
/usr/lib/minicoredumper/ptest/run-ptest: line 6: 330 Segmentation fault
minicoredumper_demo
minicoredumper
SUCCESS
DURATION: 3
END: /usr/lib/minicoredumper/ptest
2023-02-02T12:28
STOP: ptest-runner
TOTAL: 1 FAIL: 0
root@qemux86-64:~#

Please note the Segmentation fault is intended to provoke a coredump.

Signed-off-by: Simone Weiss <simone.weiss@...>
Signed-off-by: Kai Tomerius <kai.tomerius@...>
---
.../packagegroups/packagegroup-meta-oe.bb | 1 +
.../recipes-kernel/minicoredumper/files/run-ptest | 12 ++++++++++++
.../minicoredumper/minicoredumper_2.0.1.bb | 6 +++++-
3 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 meta-oe/recipes-kernel/minicoredumper/files/run-ptest

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 34689fb48..d37383919 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -982,6 +982,7 @@ RDEPENDS:packagegroup-meta-oe-ptest-packages = "\
libee-ptest \
poco-ptest \
cmocka-ptest \
+ minicoredumper-ptest \
"
RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86 = " mcelog-ptest"
RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86-64 = " mcelog-ptest"
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/run-ptest b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
new file mode 100644
index 000000000..fbddc0774
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo minicoredumper_demo
+echo expecting Segmentation fault with core dump ...
+
+minicoredumper_demo 6 & sleep 3 && minicoredumper_demo
+
+if ls /var/crash/ | grep minicoredumper; then
+ echo SUCCESS
+else
+ echo FAIL
+fi
diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
index 0b934ee2d..992de014f 100644
--- a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=71827c617ec7b45a0dd23658347cc1e9 \
"
DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"

-inherit autotools pkgconfig systemd update-rc.d
+inherit autotools pkgconfig ptest systemd update-rc.d

SRCREV = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c"

@@ -18,6 +18,7 @@ SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https;branch=master \
file://minicoredumper.service \
file://minicoredumper.init \
file://0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch \
+ file://run-ptest \
"

S = "${WORKDIR}/git"
@@ -29,6 +30,9 @@ INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME:${PN} = "minicoredumper"
INITSCRIPT_PARAMS:${PN} = "defaults 89"

+EXTRA_OECONF:append = " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '--with-minicoredumper_demo', '--without-libminicoredumper', d)} \
+"
do_install:append() {
rmdir ${D}${localstatedir}/run
install -d ${D}/${sysconfdir}/minicoredumper
--
2.25.1


Simone Weiss <simone.weiss@...>
 

On Fri, 2023-02-03 at 06:44 +0100, Simone Weiss wrote:
Add the demo from minicoredumper - that is intended as a test for it
-
as a ptest for minicoredumper.

Result example:

root@qemux86-64:~# ptest-runner minicoredumper
START: ptest-runner
2023-02-02T12:27
BEGIN: /usr/lib/minicoredumper/ptest
minicoredumper_demo
expecting Segmentation fault with core dump ...
[ 21.791878] minicoredumper_[330]: segfault at 0 ip
00000000004014f2 sp
00007ffe4271f870 error 4 in minicoredumper_demo[401000+1000] likely
on CPU 0
(core 0, socket 0)
[ 21.793886] Code: 00 b8 00 00 00 00 e8 7d fb ff ff 83 bd 5c ff ff
ff 01 75
2f 48 c7 45 e8 00 00 00 00 bf 58 21 40 00 e8 52 fb ff ff 48 8b 45 e8
<0f> b6
00 0f be c0 89 c6 bf 77 21 40 00 b8 00 00 00 00 e8 47 ff
/usr/lib/minicoredumper/ptest/run-ptest: line 6: 330 Segmentation
fault
minicoredumper_demo
minicoredumper
SUCCESS
DURATION: 3
END: /usr/lib/minicoredumper/ptest
2023-02-02T12:28
STOP: ptest-runner
TOTAL: 1 FAIL: 0
root@qemux86-64:~#

Please note the Segmentation fault is intended to provoke a coredump.

Signed-off-by: Simone Weiss <simone.weiss@...>
Signed-off-by: Kai Tomerius <kai.tomerius@...>
---
.../packagegroups/packagegroup-meta-oe.bb | 1 +
.../recipes-kernel/minicoredumper/files/run-ptest | 12
++++++++++++
.../minicoredumper/minicoredumper_2.0.1.bb | 6 +++++-
3 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 meta-oe/recipes-kernel/minicoredumper/files/run-
ptest

diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-
oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 34689fb48..d37383919 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -982,6 +982,7 @@ RDEPENDS:packagegroup-meta-oe-ptest-packages = "\
libee-ptest \
poco-ptest \
cmocka-ptest \
+ minicoredumper-ptest \
"
RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86 = " mcelog-
ptest"
RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86-64 = "
mcelog-ptest"
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
new file mode 100644
index 000000000..fbddc0774
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo minicoredumper_demo
+echo expecting Segmentation fault with core dump ...
+
+minicoredumper_demo 6 & sleep 3 && minicoredumper_demo
+
+if ls /var/crash/ | grep minicoredumper; then
+ echo SUCCESS
+else
+ echo FAIL
+fi
diff --git a/meta-oe/recipes-
kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-oe/recipes-
kernel/minicoredumper/minicoredumper_2.0.1.bb
index 0b934ee2d..992de014f 100644
--- a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "
file://COPYING;md5=71827c617ec7b45a0dd23658347cc1e9 \
"
DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-
linux json-c"

-inherit autotools pkgconfig systemd update-rc.d
+inherit autotools pkgconfig ptest systemd update-rc.d

SRCREV = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c"

@@ -18,6 +18,7 @@ SRC_URI =
"git://github.com/diamon/minicoredumper;protocol=https;branch=master
\
file://minicoredumper.service \
file://minicoredumper.init \
file://0001-minicoredumper-retry-elf-parsing-as-long-as-
needed.patch \
+ file://run-ptest \
"

S = "${WORKDIR}/git"
@@ -29,6 +30,9 @@ INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME:${PN} = "minicoredumper"
INITSCRIPT_PARAMS:${PN} = "defaults 89"

+EXTRA_OECONF:append = " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '--with-
minicoredumper_demo', '--without-libminicoredumper', d)} \
+"
do_install:append() {
rmdir ${D}${localstatedir}/run
install -d ${D}/${sysconfdir}/minicoredumper

Hello,

I am very sorry the Headline should start with PATCH not with PATCH
1/2. No second patch will follow for the minicoredumper ptest. This
is complete and was an early morning git-send mail error on my side.

Kind Regards,
Simone