diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-29 11:24:46 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-29 11:24:46 +0000 |
commit | e60608fa4e9b656399c594856a8c94ff6a198f47 (patch) | |
tree | b1fef16c9616f173d04016895a972501c60d5995 | |
parent | 9958b5da322daa5f7a2c82c9ee828824d7e4b11d (diff) |
automatic import of python-nanaimo
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-nanaimo.spec | 405 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 407 insertions, 0 deletions
@@ -0,0 +1 @@ +/nanaimo-0.2.5.tar.gz diff --git a/python-nanaimo.spec b/python-nanaimo.spec new file mode 100644 index 0000000..6d02874 --- /dev/null +++ b/python-nanaimo.spec @@ -0,0 +1,405 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nanaimo +Version: 0.2.5 +Release: 1 +Summary: Framework for automating tests involving hardware test fixtures. +License: MIT +URL: https://github.com/thirtytwobits/nanaimo +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c5/44/f491f669c60fa70025d2a3d72f53425cbaf4b95970190bf299321aa7029d/nanaimo-0.2.5.tar.gz +BuildArch: noarch + +Requires: python3-pyserial +Requires: python3-pytest +Requires: python3-pytest-asyncio + +%description +############################################ +Nanaimo: Hardware-In-the-Loop Unit Testing +############################################ + +|badge_docs|_ |badge_build|_ |badge_github_license|_ |badge_pypi_support|_ |badge_pypi_version|_ \ +|badge_sonarcloud_quality|_ |badge_sonarcloud_coverage|_ |badge_sonarcloud_bugs|_ + +.. note:: + Nanaimo is alpha software and will remain so until we bump its version to 1.0.0 or greater. + We will not knowingly break compatibility within a minor revision but we will break compatibility + a few more times between minor revisions until beta is declared. Because of this you should depend + on a minor version explicitly. For example :: + + nanaimo ~= 0.1 + + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/nanaimo.png + :alt: A delicious Nanaimo bar + + A delicious Python treat that makes on-target testing sweet and satisfying. + +Nanaimo is a set of utilities and plugins designed to enable integration of hardware test apparatuses +with pytest. This can allow on-target tests to run as part of continuous integration pipelines like +`Buildkite`_, `Bamboo`_, or `Jenkins`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/pifarm.jpeg + :alt: S32K evaluation boards attached to Raspberry PIs. + + Example of S32K dev boards attached to Raspberry PI CI workers running the `Buildkite`_ agent and using Nanaimo. + +Nanaimo is designed to enable testing of software-defined, physical components in isolation to +provide pre-integration verification of software interfaces and behavioral contracts. It adapts +asynchronous control and monitoring of these components to fit familiar testing idioms +(e.g. x-unit testing) using the popular python test framework, `pytest`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/block.png + :alt: Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + + Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + +Nanaimo is *not* a simulation framework and is not designed to support the complexity of a full hardware-in-the-loop platform. +Instead it's focused on testing small integrations with a few hardware components and instruments using concepts, syntax, +and frameworks familiar to software engineers. Examples of these small integrations might include verifying a SPI driver for a +microcontroller or ensuring the upload time for a serial bootloader meets expected Key-Performance-Indicators (KPIs). To do this +Nanaimo abstractions provide async interfaces to hardware either directly using available communication protocols +(e.g. serial or IP networks) or by invoking a CLI provided by the instrument vendor. Because of this latter use case some +instruments will require additional programs be available in a test environment. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/example.png + :alt: Example scenario using Nanaimo to test an I2C driver for a microcontroller. + + Example scenario using Nanaimo to test an I2C driver for a microcontroller. + +This design is an amalgam of the `TLYF`_ (Test Like You Fly) methodology and the `Swiss cheese`_ model of +failure analysis. Specifically; Nanaimo facilitates testing on actual or representative hardware +for the first integration of software into a part or subassembly. Traditionally software engineers were +responsible only for unit-testing and Software-In-the-Loop (SIL) simulation of their code. Nanaimo encourages +software engineers to also provide hardware integration tests by enabling Hardware-In-the-Loop +`continuous-integration <https://en.wikipedia.org/wiki/Continuous_integration>`_ (HIL-CI, perhaps?). + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/test_triangle.png + :alt: Hierarchy of system testing. + + Hierarchy of system testing. Nanaimo focuses on part and subassembly testing. + +.. Note:: + Nanaimo is named after `Nanaimo bars`_ which are about the best things humans have ever invented. + +.. _`Nanaimo bars`: https://en.wikipedia.org/wiki/Nanaimo_bar +.. _`Buildkite`: https://buildkite.com +.. _`Bamboo`: https://www.atlassian.com/software/bamboo +.. _`Jenkins`: https://jenkins.io/ +.. _`pytest`: https://docs.pytest.org/en/latest/ +.. _`TLYF`: https://www.youtube.com/watch?v=0BSaI117ITI +.. _`Swiss cheese`: https://en.wikipedia.org/wiki/Swiss_cheese_model + + +.. |badge_docs| image:: https://readthedocs.org/projects/nanaimo/badge/?version=latest + :alt: Documentation Status +.. _badge_docs: https://nanaimo.readthedocs.io/en/latest/?badge=latest + +.. |badge_build| image:: https://badge.buildkite.com/80558e71a357a16151e4b537bfc19527c9b1ac543975b92ed7.svg + :alt: Build status +.. _badge_build: https://buildkite.com/friends-of-scott/nanaimo-release + +.. |badge_github_license| image:: https://img.shields.io/badge/license-MIT-blue.svg + :alt: MIT license +.. _badge_github_license: https://github.com/thirtytwobits/nanaimo/blob/master/LICENSE.rst + +.. |badge_pypi_support| image:: https://img.shields.io/pypi/pyversions/nanaimo.svg + :alt: Supported Python Versions +.. _badge_pypi_support: https://pypi.org/project/nanaimo/ + +.. |badge_pypi_version| image:: https://img.shields.io/pypi/v/nanaimo.svg + :alt: Pypi Release Version +.. _badge_pypi_version: https://pypi.org/project/nanaimo/ + +.. |badge_sonarcloud_quality| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=alert_status + :alt: Sonarcloud Quality Gate +.. _badge_sonarcloud_quality: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_coverage| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=coverage + :alt: Sonarcloud coverage +.. _badge_sonarcloud_coverage: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=bugs + :alt: Sonarcloud bugs +.. _badge_sonarcloud_bugs: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + + + + +%package -n python3-nanaimo +Summary: Framework for automating tests involving hardware test fixtures. +Provides: python-nanaimo +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nanaimo +############################################ +Nanaimo: Hardware-In-the-Loop Unit Testing +############################################ + +|badge_docs|_ |badge_build|_ |badge_github_license|_ |badge_pypi_support|_ |badge_pypi_version|_ \ +|badge_sonarcloud_quality|_ |badge_sonarcloud_coverage|_ |badge_sonarcloud_bugs|_ + +.. note:: + Nanaimo is alpha software and will remain so until we bump its version to 1.0.0 or greater. + We will not knowingly break compatibility within a minor revision but we will break compatibility + a few more times between minor revisions until beta is declared. Because of this you should depend + on a minor version explicitly. For example :: + + nanaimo ~= 0.1 + + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/nanaimo.png + :alt: A delicious Nanaimo bar + + A delicious Python treat that makes on-target testing sweet and satisfying. + +Nanaimo is a set of utilities and plugins designed to enable integration of hardware test apparatuses +with pytest. This can allow on-target tests to run as part of continuous integration pipelines like +`Buildkite`_, `Bamboo`_, or `Jenkins`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/pifarm.jpeg + :alt: S32K evaluation boards attached to Raspberry PIs. + + Example of S32K dev boards attached to Raspberry PI CI workers running the `Buildkite`_ agent and using Nanaimo. + +Nanaimo is designed to enable testing of software-defined, physical components in isolation to +provide pre-integration verification of software interfaces and behavioral contracts. It adapts +asynchronous control and monitoring of these components to fit familiar testing idioms +(e.g. x-unit testing) using the popular python test framework, `pytest`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/block.png + :alt: Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + + Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + +Nanaimo is *not* a simulation framework and is not designed to support the complexity of a full hardware-in-the-loop platform. +Instead it's focused on testing small integrations with a few hardware components and instruments using concepts, syntax, +and frameworks familiar to software engineers. Examples of these small integrations might include verifying a SPI driver for a +microcontroller or ensuring the upload time for a serial bootloader meets expected Key-Performance-Indicators (KPIs). To do this +Nanaimo abstractions provide async interfaces to hardware either directly using available communication protocols +(e.g. serial or IP networks) or by invoking a CLI provided by the instrument vendor. Because of this latter use case some +instruments will require additional programs be available in a test environment. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/example.png + :alt: Example scenario using Nanaimo to test an I2C driver for a microcontroller. + + Example scenario using Nanaimo to test an I2C driver for a microcontroller. + +This design is an amalgam of the `TLYF`_ (Test Like You Fly) methodology and the `Swiss cheese`_ model of +failure analysis. Specifically; Nanaimo facilitates testing on actual or representative hardware +for the first integration of software into a part or subassembly. Traditionally software engineers were +responsible only for unit-testing and Software-In-the-Loop (SIL) simulation of their code. Nanaimo encourages +software engineers to also provide hardware integration tests by enabling Hardware-In-the-Loop +`continuous-integration <https://en.wikipedia.org/wiki/Continuous_integration>`_ (HIL-CI, perhaps?). + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/test_triangle.png + :alt: Hierarchy of system testing. + + Hierarchy of system testing. Nanaimo focuses on part and subassembly testing. + +.. Note:: + Nanaimo is named after `Nanaimo bars`_ which are about the best things humans have ever invented. + +.. _`Nanaimo bars`: https://en.wikipedia.org/wiki/Nanaimo_bar +.. _`Buildkite`: https://buildkite.com +.. _`Bamboo`: https://www.atlassian.com/software/bamboo +.. _`Jenkins`: https://jenkins.io/ +.. _`pytest`: https://docs.pytest.org/en/latest/ +.. _`TLYF`: https://www.youtube.com/watch?v=0BSaI117ITI +.. _`Swiss cheese`: https://en.wikipedia.org/wiki/Swiss_cheese_model + + +.. |badge_docs| image:: https://readthedocs.org/projects/nanaimo/badge/?version=latest + :alt: Documentation Status +.. _badge_docs: https://nanaimo.readthedocs.io/en/latest/?badge=latest + +.. |badge_build| image:: https://badge.buildkite.com/80558e71a357a16151e4b537bfc19527c9b1ac543975b92ed7.svg + :alt: Build status +.. _badge_build: https://buildkite.com/friends-of-scott/nanaimo-release + +.. |badge_github_license| image:: https://img.shields.io/badge/license-MIT-blue.svg + :alt: MIT license +.. _badge_github_license: https://github.com/thirtytwobits/nanaimo/blob/master/LICENSE.rst + +.. |badge_pypi_support| image:: https://img.shields.io/pypi/pyversions/nanaimo.svg + :alt: Supported Python Versions +.. _badge_pypi_support: https://pypi.org/project/nanaimo/ + +.. |badge_pypi_version| image:: https://img.shields.io/pypi/v/nanaimo.svg + :alt: Pypi Release Version +.. _badge_pypi_version: https://pypi.org/project/nanaimo/ + +.. |badge_sonarcloud_quality| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=alert_status + :alt: Sonarcloud Quality Gate +.. _badge_sonarcloud_quality: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_coverage| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=coverage + :alt: Sonarcloud coverage +.. _badge_sonarcloud_coverage: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=bugs + :alt: Sonarcloud bugs +.. _badge_sonarcloud_bugs: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + + + + +%package help +Summary: Development documents and examples for nanaimo +Provides: python3-nanaimo-doc +%description help +############################################ +Nanaimo: Hardware-In-the-Loop Unit Testing +############################################ + +|badge_docs|_ |badge_build|_ |badge_github_license|_ |badge_pypi_support|_ |badge_pypi_version|_ \ +|badge_sonarcloud_quality|_ |badge_sonarcloud_coverage|_ |badge_sonarcloud_bugs|_ + +.. note:: + Nanaimo is alpha software and will remain so until we bump its version to 1.0.0 or greater. + We will not knowingly break compatibility within a minor revision but we will break compatibility + a few more times between minor revisions until beta is declared. Because of this you should depend + on a minor version explicitly. For example :: + + nanaimo ~= 0.1 + + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/nanaimo.png + :alt: A delicious Nanaimo bar + + A delicious Python treat that makes on-target testing sweet and satisfying. + +Nanaimo is a set of utilities and plugins designed to enable integration of hardware test apparatuses +with pytest. This can allow on-target tests to run as part of continuous integration pipelines like +`Buildkite`_, `Bamboo`_, or `Jenkins`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/pifarm.jpeg + :alt: S32K evaluation boards attached to Raspberry PIs. + + Example of S32K dev boards attached to Raspberry PI CI workers running the `Buildkite`_ agent and using Nanaimo. + +Nanaimo is designed to enable testing of software-defined, physical components in isolation to +provide pre-integration verification of software interfaces and behavioral contracts. It adapts +asynchronous control and monitoring of these components to fit familiar testing idioms +(e.g. x-unit testing) using the popular python test framework, `pytest`_. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/block.png + :alt: Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + + Block diagram of Nanaimo's relationship to other components of a typical software build and test pipeline. + +Nanaimo is *not* a simulation framework and is not designed to support the complexity of a full hardware-in-the-loop platform. +Instead it's focused on testing small integrations with a few hardware components and instruments using concepts, syntax, +and frameworks familiar to software engineers. Examples of these small integrations might include verifying a SPI driver for a +microcontroller or ensuring the upload time for a serial bootloader meets expected Key-Performance-Indicators (KPIs). To do this +Nanaimo abstractions provide async interfaces to hardware either directly using available communication protocols +(e.g. serial or IP networks) or by invoking a CLI provided by the instrument vendor. Because of this latter use case some +instruments will require additional programs be available in a test environment. + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/example.png + :alt: Example scenario using Nanaimo to test an I2C driver for a microcontroller. + + Example scenario using Nanaimo to test an I2C driver for a microcontroller. + +This design is an amalgam of the `TLYF`_ (Test Like You Fly) methodology and the `Swiss cheese`_ model of +failure analysis. Specifically; Nanaimo facilitates testing on actual or representative hardware +for the first integration of software into a part or subassembly. Traditionally software engineers were +responsible only for unit-testing and Software-In-the-Loop (SIL) simulation of their code. Nanaimo encourages +software engineers to also provide hardware integration tests by enabling Hardware-In-the-Loop +`continuous-integration <https://en.wikipedia.org/wiki/Continuous_integration>`_ (HIL-CI, perhaps?). + +.. figure:: https://thirtytwobits.github.io/nanaimo/static/images/test_triangle.png + :alt: Hierarchy of system testing. + + Hierarchy of system testing. Nanaimo focuses on part and subassembly testing. + +.. Note:: + Nanaimo is named after `Nanaimo bars`_ which are about the best things humans have ever invented. + +.. _`Nanaimo bars`: https://en.wikipedia.org/wiki/Nanaimo_bar +.. _`Buildkite`: https://buildkite.com +.. _`Bamboo`: https://www.atlassian.com/software/bamboo +.. _`Jenkins`: https://jenkins.io/ +.. _`pytest`: https://docs.pytest.org/en/latest/ +.. _`TLYF`: https://www.youtube.com/watch?v=0BSaI117ITI +.. _`Swiss cheese`: https://en.wikipedia.org/wiki/Swiss_cheese_model + + +.. |badge_docs| image:: https://readthedocs.org/projects/nanaimo/badge/?version=latest + :alt: Documentation Status +.. _badge_docs: https://nanaimo.readthedocs.io/en/latest/?badge=latest + +.. |badge_build| image:: https://badge.buildkite.com/80558e71a357a16151e4b537bfc19527c9b1ac543975b92ed7.svg + :alt: Build status +.. _badge_build: https://buildkite.com/friends-of-scott/nanaimo-release + +.. |badge_github_license| image:: https://img.shields.io/badge/license-MIT-blue.svg + :alt: MIT license +.. _badge_github_license: https://github.com/thirtytwobits/nanaimo/blob/master/LICENSE.rst + +.. |badge_pypi_support| image:: https://img.shields.io/pypi/pyversions/nanaimo.svg + :alt: Supported Python Versions +.. _badge_pypi_support: https://pypi.org/project/nanaimo/ + +.. |badge_pypi_version| image:: https://img.shields.io/pypi/v/nanaimo.svg + :alt: Pypi Release Version +.. _badge_pypi_version: https://pypi.org/project/nanaimo/ + +.. |badge_sonarcloud_quality| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=alert_status + :alt: Sonarcloud Quality Gate +.. _badge_sonarcloud_quality: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_coverage| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=coverage + :alt: Sonarcloud coverage +.. _badge_sonarcloud_coverage: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + +.. |badge_sonarcloud_bugs| image:: https://sonarcloud.io/api/project_badges/measure?project=thirtytwobits_nanaimo&metric=bugs + :alt: Sonarcloud bugs +.. _badge_sonarcloud_bugs: https://sonarcloud.io/dashboard?id=thirtytwobits_nanaimo + + + + +%prep +%autosetup -n nanaimo-0.2.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-nanaimo -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.5-1 +- Package Spec generated @@ -0,0 +1 @@ +bc108c004ec886db71310e24310928b9 nanaimo-0.2.5.tar.gz |