From 776eea0691dde919741ae8f836e09b44daf5af7d Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Mon, 3 Feb 2020 17:33:11 +0800 Subject: ifupdown: add ptest Add ptest for ifupdown with its own test cases. [Yocto #13736] (From OE-Core rev: 2333ef5bb40132f05f69a5f6abaa3d086ecf9f6c) Signed-off-by: Kai Kang Signed-off-by: Richard Purdie --- 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 + +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" -- cgit v1.2.3-54-g00ecf