json-c: Add ptest for json-c

Message ID 5e05e3aa-6b3f-44b1-85d1-8cd220310306@denue6es010.ebgroup.elektrobit.com
State New
Headers show
Series json-c: Add ptest for json-c | expand

Commit Message

Simone Weiss May 30, 2022, 9:47 a.m. UTC
Also add a script for executing the ptests. All tests were sucessful on a trial
run. Also add a small script for running the tests.

Signed-off-by: Simone Weiß <simone.weiss@elektrobit.com>
Signed-off-by: Kai Tomerius <kai.tomerius@elektrobit.com>
---
 .../distro/include/ptest-packagelists.inc     |  1 +
 meta/recipes-devtools/json-c/json-c/run-ptest | 20 +++++++++++++++++++
 meta/recipes-devtools/json-c/json-c_0.16.bb   | 15 ++++++++++++--
 3 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/json-c/json-c/run-ptest

Comments

Alexander Kanavin May 30, 2022, 10:30 a.m. UTC | #1
On Mon, 30 May 2022 at 11:48, Simone Weiss <simone.weiss@elektrobit.com> wrote:
> +               if ./$i > /dev/null 2>&1 ; then

Should the output be completely discarded like this? Maybe it's better
to have it printed, especially if something fails?

Alex
Luca Ceresoli May 30, 2022, 8:41 p.m. UTC | #2
Hi Simone,

Il giorno Mon, 30 May 2022 11:47:45 +0200
"Simone Weiss" <simone.weiss@elektrobit.com> ha scritto:

> Also add a script for executing the ptests. All tests were sucessful on a trial
> run. Also add a small script for running the tests.
> 
> Signed-off-by: Simone Weiß <simone.weiss@elektrobit.com>
> Signed-off-by: Kai Tomerius <kai.tomerius@elektrobit.com>

This patch causes reproducibility build failures:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/936/steps/12/logs/stdio
Simone Weiss May 31, 2022, 5:44 a.m. UTC | #3
Hi,

thanks for notifying, I'll see if I can fix this...

Kind Regards,

Simone
On Mon, 2022-05-30 at 22:41 +0200, Luca Ceresoli wrote:
> CAUTION: This email originated from outside of the Elektrobit
> organization. Do not click links or open attachments unless you
> recognize the sender and know the content is safe.
> 
> 
> Hi Simone,
> 
> Il giorno Mon, 30 May 2022 11:47:45 +0200
> "Simone Weiss" <simone.weiss@elektrobit.com> ha scritto:
> 
> > Also add a script for executing the ptests. All tests were
> > sucessful on a trial
> > run. Also add a small script for running the tests.
> > 
> > Signed-off-by: Simone Weiß <simone.weiss@elektrobit.com>
> > Signed-off-by: Kai Tomerius <kai.tomerius@elektrobit.com>
> 
> This patch causes reproducibility build failures:
> 
> 
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fautobuilder.yoctoproject.org%2Ftyphoon%2F%23%2Fbuilders%2F117%2Fbuilds%2F936%2Fsteps%2F12%2Flogs%2Fstdio&amp;data=05%7C01%7C%7Ce317d8b365b4486fbbce08da427cbf7b%7Ce764c36b012e4216910d8fd16283182d%7C0%7C0%7C637895400815424306%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=c7T%2Fi5NMND8iBU31BAjOZfYdIgyqU46yPtilQC7Z%2FFw%3D&amp;reserved=0
> 
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> 
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbootlin.com%2F&amp;data=05%7C01%7C%7Ce317d8b365b4486fbbce08da427cbf7b%7Ce764c36b012e4216910d8fd16283182d%7C0%7C0%7C637895400815424306%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=uvfd7vyS9Y33UtAWHPRN%2B7xLOQx4%2BwmBrMo9H7CIevw%3D&amp;reserved=0

Patch

diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index a1ead90649..0bfcb60c76 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -22,6 +22,7 @@  PTESTS_FAST = "\
     gettext-ptest \
     glib-networking-ptest \
     gzip-ptest \
+    json-c-ptest \
     json-glib-ptest \
     libconvert-asn1-perl-ptest \
     liberror-perl-ptest \
diff --git a/meta/recipes-devtools/json-c/json-c/run-ptest b/meta/recipes-devtools/json-c/json-c/run-ptest
new file mode 100644
index 0000000000..9e96a8e755
--- /dev/null
+++ b/meta/recipes-devtools/json-c/json-c/run-ptest
@@ -0,0 +1,20 @@ 
+#!/bin/sh
+
+# This script is used to run json-c test suites
+cd tests
+
+ret_val=0
+for i in test*.test; do
+	# test_basic is not a own testcase, just
+	# contains common code of other tests
+	if [ "$i" != "test_basic.test" ]; then
+		if ./$i > /dev/null 2>&1 ; then
+			echo PASS: $i
+		else
+			ret_val=1
+			echo FAIL: $i
+		fi
+	fi
+done
+
+exit $ret_val
diff --git a/meta/recipes-devtools/json-c/json-c_0.16.bb b/meta/recipes-devtools/json-c/json-c_0.16.bb
index fdec5ec9af..3fa5ce2c49 100644
--- a/meta/recipes-devtools/json-c/json-c_0.16.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.16.bb
@@ -4,7 +4,10 @@  HOMEPAGE = "https://github.com/json-c/json-c/wiki"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 
-SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz"
+SRC_URI = " \
+    https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+    file://run-ptest \
+"
 
 SRC_URI[sha256sum] = "8e45ac8f96ec7791eaf3bb7ee50e9c2100bbbc87b8d0f1d030c5ba8a0288d96b"
 
@@ -13,6 +16,14 @@  UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
 
 RPROVIDES:${PN} = "libjson"
 
-inherit cmake
+inherit cmake ptest
+
+do_install_ptest() {
+    cp -r ${B}/tests ${D}/${PTEST_PATH}
+    cp -r ${S}/tests/*.test ${D}/${PTEST_PATH}/tests
+    cp -r ${S}/tests/*.expected ${D}/${PTEST_PATH}/tests
+    cp -r ${S}/tests/test-defs.sh ${D}/${PTEST_PATH}/tests
+    cp -r ${S}/tests/valid*json ${D}/${PTEST_PATH}/tests
+}
 
 BBCLASSEXTEND = "native nativesdk"