On 2020/2/3 下午8:50, Alexander Kanavin wrote:
I think a build configuration for this also needs to be enabled and tested as 
explained in the email thread from the bug (in magefeatures.py from selftest I 
think). Otherwise this wouldn’t be built or checked anywhere.

Hi Alex,

In imagefeatures.py, it just run 'bitbake -g core-image-sato' and doesn't really build and test RDEPENDS packages of packagegroup-core-base-utils.

So for the packages in the RDEPENDS packages of packagegroup-core-base-utils but not in any image, they all are not be tested.

I didn't find a proper recipe to place these recipes. Maybe a new image recipe need to be created.

Regards,
Kai




Alex

On 3 Feb 2020, at 10.14, <[email protected]> <[email protected]> 
wrote:

From: Kai Kang <[email protected]>

Add ptest for ifupdown with its own test cases.

[Yocto #13736]

Signed-off-by: Kai Kang <[email protected]>
---
meta/recipes-core/ifupdown/files/run-ptest    |  4 ++
.../ifupdown/files/tweak-ptest-script.patch   | 49 +++++++++++++++++++
meta/recipes-core/ifupdown/ifupdown_0.8.35.bb | 10 +++-
3 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-core/ifupdown/files/run-ptest
create mode 100644 meta/recipes-core/ifupdown/files/tweak-ptest-script.patch

diff --git a/meta/recipes-core/ifupdown/files/run-ptest 
b/meta/recipes-core/ifupdown/files/run-ptest
new file mode 100644
index 0000000000..8694042392
--- /dev/null
+++ b/meta/recipes-core/ifupdown/files/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+CURDIR=$(dirname `readlink -f $0`)
+cd $CURDIR/tests && ./testbuild-linux
diff --git a/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch 
b/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
new file mode 100644
index 0000000000..d7600cf243
--- /dev/null
+++ b/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
@@ -0,0 +1,49 @@
+Tweak tests of ifupdown to make it work with oe-core ptest framework.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Kai Kang <[email protected]>
+
+diff --git a/tests/testbuild-linux b/tests/testbuild-linux
+index 1181ea0..d5c1814 100755
+--- a/tests/testbuild-linux
++++ b/tests/testbuild-linux
+@@ -1,6 +1,7 @@
+ #!/bin/sh -e
+
+-dir=tests/linux
++curdir=$(dirname `readlink -f $0`)
++dir=$curdir/linux
+
+ result=true
+ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+@@ -12,7 +13,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+         echo "Testcase $test: $args"
+
+    exitcode=0
+-        ./ifup -v --no-act-commands --force -i $dir/testcase.$test 
--state-dir=$dir/state.$test $args \
++        ifup -v --no-act-commands --force -i $dir/testcase.$test 
--state-dir=$dir/state.$test $args \
+                 >$dir/up-res-out.$test 2>$dir/up-res-err.$test || exitcode=$?
+
+         (echo "exit code: $exitcode";
+@@ -20,7 +21,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+          echo "====stderr===="; cat $dir/up-res-err.$test) > $dir/up-res.$test
+
+    exitcode=0
+-        ./ifdown -v --no-act-commands --force -i $dir/testcase.$test 
--state-dir=$dir/state.$test $args \
++        ifdown -v --no-act-commands --force -i $dir/testcase.$test 
--state-dir=$dir/state.$test $args \
+                >$dir/down-res-out.$test 2>$dir/down-res-err.$test || 
exitcode=$?
+
+         (echo "exit code: $exitcode";
+@@ -28,9 +29,9 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+          echo "====stderr===="; cat $dir/down-res-err.$test) > 
$dir/down-res.$test
+
+         if diff -ub $dir/up.$test $dir/up-res.$test && diff -ub 
$dir/down.$test $dir/down-res.$test; then
+-                echo "(okay)"
++                echo "PASS: $test"
+         else
+-                echo "(failed)"
++                echo "FAIL: $test"
+                 result=false
+         fi
+         echo "=========="
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb 
b/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
index 0de97fe372..53cb971d33 100644
--- a/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
+++ b/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
@@ -11,13 +11,15 @@ SRC_URI = 
"git://salsa.debian.org/debian/ifupdown.git;protocol=https \
            file://99_network \
            file://0001-Define-FNM_EXTMATCH-for-musl.patch \
            file://0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch \
+           file://run-ptest \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 
'file://tweak-ptest-script.patch', '', d)} \
            "
SRCREV = "4af76318cfc57f8e4a44d357104188666213bd4b"

S = "${WORKDIR}/git"


-inherit update-alternatives
+inherit ptest update-alternatives

do_compile () {
    chmod a+rx *.pl *.sh
@@ -40,6 +42,12 @@ do_install () {
    cd ${D}${mandir}/man8 && ln -s ifup.8 ifdown.8
}

+do_install_ptest () {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -r ${S}/tests/testbuild-linux ${D}${PTEST_PATH}/tests/
+    cp -r ${S}/tests/linux ${D}${PTEST_PATH}/tests/
+}
+
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN} = "ifup ifdown"

--
2.17.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core


--
Kai Kang

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to