@@ -54,6 +54,7 @@ PTESTS_FAST_META_OE = "\
xmlsec1 \
zeromq \
cjson \
+ libplist \
"
PTESTS_FAST_META_OE:append:x86 = " mcelog"
PTESTS_FAST_META_OE:append:x86-64 = " mcelog"
new file mode 100644
@@ -0,0 +1,68 @@
+From 18e5b22a71f85091127cc063db79c8df687c582c Mon Sep 17 00:00:00 2001
+From: Ankur Tyagi <ankur.tyagi85@gmail.com>
+Date: Thu, 20 Nov 2025 16:01:58 +1300
+Subject: [PATCH] test: fix operator error
+
+Otherwise test fail with error [: -neq: binary operator expected
+
+Upstream-Status: Submitted [https://github.com/libimobiledevice/libplist/pull/284]
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ test/json-invalid-types.test | 6 +++---
+ test/ostep-invalid-types.test | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/test/json-invalid-types.test b/test/json-invalid-types.test
+index c532316..a21fcd9 100755
+--- a/test/json-invalid-types.test
++++ b/test/json-invalid-types.test
+@@ -14,19 +14,19 @@ export PLIST_JSON_DEBUG=1
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f json -i $DATASRC/$TESTFILE0 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 1
+ fi
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f json -i $DATASRC/$TESTFILE1 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 2
+ fi
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f json -i $DATASRC/$TESTFILE2 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 3
+ fi
+
+diff --git a/test/ostep-invalid-types.test b/test/ostep-invalid-types.test
+index 9222394..240505c 100755
+--- a/test/ostep-invalid-types.test
++++ b/test/ostep-invalid-types.test
+@@ -14,19 +14,19 @@ export PLIST_OSTEP_DEBUG=1
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f openstep -i $DATASRC/$TESTFILE0 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 1
+ fi
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f openstepn -i $DATASRC/$TESTFILE1 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 2
+ fi
+
+ echo "Converting (failure expected)"
+ $top_builddir/tools/plistutil -f openstep -i $DATASRC/$TESTFILE2 -o /dev/null
+-if [ $? -neq 2 ]; then
++if [ $? -ne 2 ]; then
+ exit 3
+ fi
+
new file mode 100644
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for t in `ls test/*.test`; do
+ top_srcdir=$(pwd)/input top_builddir=$(pwd)/test ./$t && echo PASS: $t || echo FAIL: $t
+ rm $(pwd)/test/test/data/* 2>/dev/null
+done
@@ -6,10 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
DEPENDS = "libxml2 glib-2.0 swig python3"
-inherit autotools pkgconfig python3native python3targetconfig
+inherit autotools pkgconfig python3native python3targetconfig ptest
SRCREV = "2117b8fdb6b4096455bd2041a63e59a028120136"
-SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master \
+ file://run-ptest \
+ file://0001-test-fix-operator-error.patch \
+"
CVE_STATUS_GROUPS += "CVE_STATUS_LIBLIST"
@@ -30,6 +33,28 @@ do_install:append () {
fi
}
+do_install_ptest(){
+ # tests expect a particular directory structure for input and output
+ install -d ${D}${PTEST_PATH}/input/test/data
+ install -d ${D}${PTEST_PATH}/test/tools
+ install -d ${D}${PTEST_PATH}/test/test/.libs
+ install -d ${D}${PTEST_PATH}/test/test/data
+ install ${S}/test/data/* ${D}${PTEST_PATH}/input/test/data/
+ install ${S}/test/*.test ${D}${PTEST_PATH}/test/
+ install -m 0755 ${B}/test/.libs/plist* ${D}${PTEST_PATH}/test/test/.libs/
+ install -m 0755 ${B}/test/.libs/integer_set_test ${D}${PTEST_PATH}/test/test/
+ for t in $(find ${B}/test -type f -name 'plist*' \! -name '*.o'); do
+ install -m 0755 $t ${D}${PTEST_PATH}/test/test/
+ done
+ for t in $(find ${B}/tools -type f -name 'plist*' \! -name '*.o'); do
+ install -m 0755 $t ${D}${PTEST_PATH}/test/tools/
+ done
+ sed -i 's@LD_LIBRARY_PATH="[^"]*:@LD_LIBRARY_PATH="@g' \
+ ${D}${PTEST_PATH}/test/test/plist_cmp
+ sed -i 's@LD_LIBRARY_PATH="[^"]*:@LD_LIBRARY_PATH="@g' \
+ ${D}${PTEST_PATH}/test/test/plist_test
+}
+
PACKAGES =+ "${PN}-utils \
${PN}++ \
${PN}-python"
@@ -38,3 +63,5 @@ FILES:${PN} = "${libdir}/libplist-2.0${SOLIBS}"
FILES:${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
FILES:${PN}-utils = "${bindir}/*"
FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+
+RDEPENDS:${PN}-ptest += "bash"