diff mbox series

[master,v3] python3-inotify: add ptest

Message ID 20221128154457.3778874-1-zheng.qiu@windriver.com
State Under Review
Headers show
Series [master,v3] python3-inotify: add ptest | expand

Commit Message

Zheng Qiu Nov. 28, 2022, 3:44 p.m. UTC
Add ptest provided from the source code, and run it using pytest.

Since the tarball provided with pypi does not include ptest, switch the
source to be its git repo.

ptest result:
           PASS FAIL SKIP
qemux86-64 5    3    1
qemuarm64  5    3    1

This issue exists since inotify adds unit test support, and it is
reported here: https://github.com/dsoprea/PyInotify/issues/95

Signed-off-by: Zheng Qiu <zheng.qiu@windriver.com>
---
 .../python/python3-inotify/run-ptest          |  3 ++
 .../python/python3-inotify_0.2.10.bb          | 14 --------
 .../python/python3-inotify_git.bb             | 35 +++++++++++++++++++
 3 files changed, 38 insertions(+), 14 deletions(-)
 create mode 100644 meta-python/recipes-devtools/python/python3-inotify/run-ptest
 delete mode 100644 meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
 create mode 100644 meta-python/recipes-devtools/python/python3-inotify_git.bb

Comments

Randy MacLeod Nov. 28, 2022, 4:23 p.m. UTC | #1
On 2022-11-28 10:44, Zheng Qiu wrote:
> Add ptest provided from the source code, and run it using pytest.
> 
> Since the tarball provided with pypi does not include ptest, switch the
> source to be its git repo.
> 
> ptest result:
>             PASS FAIL SKIP
> qemux86-64 5    3    1
> qemuarm64  5    3    1
> 
> This issue exists since inotify adds unit test support, and it is
> reported here: https://github.com/dsoprea/PyInotify/issues/95
> 
> Signed-off-by: Zheng Qiu <zheng.qiu@windriver.com>
> ---
>   .../python/python3-inotify/run-ptest          |  3 ++
>   .../python/python3-inotify_0.2.10.bb          | 14 --------
>   .../python/python3-inotify_git.bb             | 35 +++++++++++++++++++
>   3 files changed, 38 insertions(+), 14 deletions(-)
>   create mode 100644 meta-python/recipes-devtools/python/python3-inotify/run-ptest
>   delete mode 100644 meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
>   create mode 100644 meta-python/recipes-devtools/python/python3-inotify_git.bb
> 
> diff --git a/meta-python/recipes-devtools/python/python3-inotify/run-ptest b/meta-python/recipes-devtools/python/python3-inotify/run-ptest
> new file mode 100644
> index 000000000..3385d6893
> --- /dev/null
> +++ b/meta-python/recipes-devtools/python/python3-inotify/run-ptest
> @@ -0,0 +1,3 @@
> +#!/bin/sh
> +
> +pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
> diff --git a/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb b/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
> deleted file mode 100644
> index 524c3a0d2..000000000
> --- a/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -SUMMARY = "An adapter to Linux kernel support for inotify directory-watching."
> -AUTHOR = "Dustin Oprea"
> -HOMEPAGE = "https://pypi.org/project/inotify/"
> -LICENSE = "GPL-2.0-only"
> -LIC_FILES_CHKSUM = "file://setup.py;md5=79b7ec72aa0d446a552d3cceb5799e41;beginline=28;endline=28"
> -
> -SRC_URI[sha256sum] = "974a623a338482b62e16d4eb705fb863ed33ec178680fc3e96ccdf0df6c02a07"
> -
> -inherit pypi setuptools3
> -
> -RDEPENDS:${PN} += " \
> -    python3-ctypes \
> -    python3-logging \
> -"
> diff --git a/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-python/recipes-devtools/python/python3-inotify_git.bb
> new file mode 100644
> index 000000000..15fb92eed
> --- /dev/null
> +++ b/meta-python/recipes-devtools/python/python3-inotify_git.bb
> @@ -0,0 +1,35 @@
> +SUMMARY = "An adapter to Linux kernel support for inotify directory-watching."
> +AUTHOR = "Dustin Oprea"
> +HOMEPAGE = "https://pypi.org/project/inotify/"
> +LICENSE = "GPL-2.0-only"
> +LIC_FILES_CHKSUM = "file://setup.py;md5=79b7ec72aa0d446a552d3cceb5799e41;beginline=28;endline=28"
> +
> +SRC_URI[sha256sum] = "974a623a338482b62e16d4eb705fb863ed33ec178680fc3e96ccdf0df6c02a07"
> +
> +SRC_URI = " \
> +    git://github.com/dsoprea/pyinotify.git;branch=master;protocol=https \
> +    file://run-ptest \
> +"
> +
> +SRCREV = "9be6a51d1660991562eefaaddefa757ca0e0e00f"

This is the 2nd from top commit:

$ git log --oneline -4
f77596a (HEAD -> master, origin/master, origin/HEAD) Add Dockerfile
9be6a51 Fix constant in adapter to match with DELETE events
269d541 etup.cfg: Add missing newline
8e79335 tests/test_inotify.py: Canonicalize import

We don't need the Dockerfile so that's fine.

> +
> +S = "${WORKDIR}/git"
> +
> +inherit setuptools3 ptest
> +PIP_INSTALL_PACKAGE = "inotify"
> +PIP_INSTALL_DIST_PATH = "${S}/dist"

Apparently needed so fine with me.

> +
> +
> +RDEPENDS:${PN} += " \
> +    python3-ctypes \
> +    python3-logging \
> +"
> +
> +RDEPENDS:${PN}-ptest += " \
> +    ${PYTHON_PN}-pytest \
> +"
> +
> +do_install_ptest() {
> +    install -d ${D}${PTEST_PATH}/tests
> +    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
> +}
diff mbox series

Patch

diff --git a/meta-python/recipes-devtools/python/python3-inotify/run-ptest b/meta-python/recipes-devtools/python/python3-inotify/run-ptest
new file mode 100644
index 000000000..3385d6893
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-inotify/run-ptest
@@ -0,0 +1,3 @@ 
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb b/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
deleted file mode 100644
index 524c3a0d2..000000000
--- a/meta-python/recipes-devtools/python/python3-inotify_0.2.10.bb
+++ /dev/null
@@ -1,14 +0,0 @@ 
-SUMMARY = "An adapter to Linux kernel support for inotify directory-watching."
-AUTHOR = "Dustin Oprea"
-HOMEPAGE = "https://pypi.org/project/inotify/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://setup.py;md5=79b7ec72aa0d446a552d3cceb5799e41;beginline=28;endline=28"
-
-SRC_URI[sha256sum] = "974a623a338482b62e16d4eb705fb863ed33ec178680fc3e96ccdf0df6c02a07"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += " \
-    python3-ctypes \
-    python3-logging \
-"
diff --git a/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-python/recipes-devtools/python/python3-inotify_git.bb
new file mode 100644
index 000000000..15fb92eed
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-inotify_git.bb
@@ -0,0 +1,35 @@ 
+SUMMARY = "An adapter to Linux kernel support for inotify directory-watching."
+AUTHOR = "Dustin Oprea"
+HOMEPAGE = "https://pypi.org/project/inotify/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://setup.py;md5=79b7ec72aa0d446a552d3cceb5799e41;beginline=28;endline=28"
+
+SRC_URI[sha256sum] = "974a623a338482b62e16d4eb705fb863ed33ec178680fc3e96ccdf0df6c02a07"
+
+SRC_URI = " \
+    git://github.com/dsoprea/pyinotify.git;branch=master;protocol=https \
+    file://run-ptest \
+"
+
+SRCREV = "9be6a51d1660991562eefaaddefa757ca0e0e00f"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3 ptest
+PIP_INSTALL_PACKAGE = "inotify"
+PIP_INSTALL_DIST_PATH = "${S}/dist"
+
+
+RDEPENDS:${PN} += " \
+    python3-ctypes \
+    python3-logging \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    ${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}