diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 05:32:37 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 05:32:37 +0000 |
commit | ca8a6cd86cea6d45b7edad2314ae11514e4770f8 (patch) | |
tree | a8bba8f7ef8ea1a32399dfbb7927c8c80d80f16b | |
parent | d1d22ddc8005999bcfc2b7ceccb92929a8f1dd78 (diff) |
automatic import of python-iceteaopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-icetea.spec | 711 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 713 insertions, 0 deletions
@@ -0,0 +1 @@ +/icetea-2.0.1.tar.gz diff --git a/python-icetea.spec b/python-icetea.spec new file mode 100644 index 0000000..878e758 --- /dev/null +++ b/python-icetea.spec @@ -0,0 +1,711 @@ +%global _empty_manifest_terminate_build 0 +Name: python-icetea +Version: 2.0.1 +Release: 1 +Summary: Icetea - test framework +License: (R) ARM +URL: https://github.com/ARMmbed/icetea.git +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/05/e5/f9ab4666fb517f0701f8852470c6160a149aaf3a50fe034c63c1a0927754/icetea-2.0.1.tar.gz +BuildArch: noarch + +Requires: python3-prettytable +Requires: python3-requests +Requires: python3-yattag +Requires: python3-pyserial +Requires: python3-jsonmerge +Requires: python3-jsonschema +Requires: python3-mbed-ls +Requires: python3-semver +Requires: python3-mbed-flasher +Requires: python3-six +Requires: python3-pydash +Requires: python3-transitions + +%description +## Icetea test framework + +Icetea is an automated testing framework for Mbed development. +It automates the process of flashing Mbed boards, running tests +and accumulating test results into reports. +Developers use it for local development as well as for +automation in a Continuous Integration Environment. + +When testing [`Mbed OS`](https://www.mbed.com/en/platform/mbed-os/) +Icetea allows you to execute commands remotely via +the command line interface (`CLI`) in a device under test (`DUT`). +The interface between the test framework and `DUT` can be +for example UART or stdio. + +More detailed documentation on the tool is available +[here in rst format](https://github.com/ARMmbed/icetea/tree/master/doc-source) +and [here in markdown format](https://github.com/ARMmbed/icetea/tree/master/doc). + +### Prerequisites +Icetea supports Linux (Ubuntu preferred), Windows and OS X. Our main target is Linux. +We support both Python 2.7 and 3.5 or later. Some OS specific prerequisites below: + +* Linux + * python-dev and python-lxml + `sudo apt-get install python-dev python-lxml` + * In order to run test cases with hardware in Linux without sudo rights: + ``` + sudo usermod -a -G dialout username + Log out & log in back to Linux + ``` + This command will add the user 'username' to the 'dialout' group and + grant the required permissions to the USB ports. +* OS X + * [XCode developer tools](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/) + * [MacPorts](https://www.macports.org/install.php) + * [lxml](http://lxml.de/installation.html#installation): + `STATIC_DEPS=true sudo pip install lxml` + +* Windows + * python-lxml installation is problematic on Windows since + it usually requires build tools. It can however be installed + from pre-built binaries. + * Search for a binary for you system from the internet. + * Navigate to the directory where you downloaded the + binary and install it with `pip install <insert_file_name>` + * You can follow instructions [here](http://lxml.de/installation.html#installation) + instead. + +#### Optional + +There are some optional dependencies that brings some optional features, +like `coloredlogs` which decorate your console outputs with all kind of colors. + +All optional dependencies are declared [`extra_requirements.txt`](extra_requirements.txt) and they can be installed using pip. +Note that you need `extra_requirements.txt` file locally. + +``` +> pip install -r extra_requirements.txt +``` + +#### Pyshark +Sniffer integration component requires pyshark, +which is not covered in requirements.txt due to installation issues with trollius (requirement for python 2 +version of pyshark called pyshark-legacy). To use this integration, you need to manually install pyshark for your setup. +For python 3: + +``` +> pip install pyshark +``` +For python 2: + +``` +> pip install pyshark-legacy +``` + +### Installation + +`> pip install icetea` + +### Usage + +To print the help page: + +`icetea --help` + +To list all local testcases from the examples subfolder: + +`icetea --list --tcdir examples` + +To print Icetea version: + +`icetea --version` + +#### Typical use + +All of the commands described below might also need other options, +depending on the test case. + +**Running test cases using the tc argument** + +`> icetea --tc <test case name> --tcdir <test case search path>` + +To run all existing test cases from the `examples` folder: + +`> icetea --tc all --tcdir examples` + +**Running an example test case with hardware** + +In this example, we assume that a compatible board has been connected +to the computer and an application binary for the board is available. +The referred test case is available in [the icetea github repository](https://github.com/ARMmbed/icetea/blob/master/examples/test_cmdline.py). + +`> icetea --tc test_cmdline --tcdir examples --type hardware --bin <path to a binary>` + +**Using metadata filters** + +To run all test cases with testtype regression in the metadata: + +`> icetea --testtype regression --tcdir <test case search path>` + +The following metadata filters are available: +* test type (--testtype) +* test subtype (--subtype) +* feature (--feature) +* test case name (--tc) +* tested component (--component) +* test case folder (--group) + +**Running a premade suite** + +Icetea supports a suite file that describes a suite of test cases +in `json` format. + +`> icetea --suite <suite file name> --tcdir <test case search path> --suitedir <path to suite directory>` + +**Enabling debug level logging** + +Use -v or -vv arguments to control logging levels. -v increases the frameworks logging level +to debug (default is info) and the level of logging in +certain plugins and external components to info (default is warning). +--vv increases the level of logging on all Icetea loggers to debug. + +**Further details** + +For further details on any of the features see our documentation. + +#### Creating a test case +Icetea test cases are implemented as Python classes that inherit the Bench object available in `icetea_lib.bench` module. +The test case needs to have an initialization function that defines the metadata and a case function that implements the test sequence. +There are two optional functions, setup and teardown. More information is available in our documentation. + +An example test case is shown below: + +``` +""" +Copyright 2017 ARM Limited +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +from icetea_lib.bench import Bench + + +class Testcase(Bench): + def __init__(self): + Bench.__init__(self, + name="example_test", + title="Example test", + status="development", + purpose="Show example of a test", + component=["examples"], + type="smoke", + requirements={ + "duts": { + '*': { + "count": 1, + "type": "hardware" + } + } + } + ) + + def setup(self): + # nothing for now + pass + + + def case(self): + self.command(1, "echo hello world", timeout=5) + self.command("help") + + def teardown(self): + # nothing for now + pass +``` + +### License +See the [license](https://github.com/ARMmbed/icetea/blob/master/LICENSE) agreement. + + + + +%package -n python3-icetea +Summary: Icetea - test framework +Provides: python-icetea +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-icetea +## Icetea test framework + +Icetea is an automated testing framework for Mbed development. +It automates the process of flashing Mbed boards, running tests +and accumulating test results into reports. +Developers use it for local development as well as for +automation in a Continuous Integration Environment. + +When testing [`Mbed OS`](https://www.mbed.com/en/platform/mbed-os/) +Icetea allows you to execute commands remotely via +the command line interface (`CLI`) in a device under test (`DUT`). +The interface between the test framework and `DUT` can be +for example UART or stdio. + +More detailed documentation on the tool is available +[here in rst format](https://github.com/ARMmbed/icetea/tree/master/doc-source) +and [here in markdown format](https://github.com/ARMmbed/icetea/tree/master/doc). + +### Prerequisites +Icetea supports Linux (Ubuntu preferred), Windows and OS X. Our main target is Linux. +We support both Python 2.7 and 3.5 or later. Some OS specific prerequisites below: + +* Linux + * python-dev and python-lxml + `sudo apt-get install python-dev python-lxml` + * In order to run test cases with hardware in Linux without sudo rights: + ``` + sudo usermod -a -G dialout username + Log out & log in back to Linux + ``` + This command will add the user 'username' to the 'dialout' group and + grant the required permissions to the USB ports. +* OS X + * [XCode developer tools](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/) + * [MacPorts](https://www.macports.org/install.php) + * [lxml](http://lxml.de/installation.html#installation): + `STATIC_DEPS=true sudo pip install lxml` + +* Windows + * python-lxml installation is problematic on Windows since + it usually requires build tools. It can however be installed + from pre-built binaries. + * Search for a binary for you system from the internet. + * Navigate to the directory where you downloaded the + binary and install it with `pip install <insert_file_name>` + * You can follow instructions [here](http://lxml.de/installation.html#installation) + instead. + +#### Optional + +There are some optional dependencies that brings some optional features, +like `coloredlogs` which decorate your console outputs with all kind of colors. + +All optional dependencies are declared [`extra_requirements.txt`](extra_requirements.txt) and they can be installed using pip. +Note that you need `extra_requirements.txt` file locally. + +``` +> pip install -r extra_requirements.txt +``` + +#### Pyshark +Sniffer integration component requires pyshark, +which is not covered in requirements.txt due to installation issues with trollius (requirement for python 2 +version of pyshark called pyshark-legacy). To use this integration, you need to manually install pyshark for your setup. +For python 3: + +``` +> pip install pyshark +``` +For python 2: + +``` +> pip install pyshark-legacy +``` + +### Installation + +`> pip install icetea` + +### Usage + +To print the help page: + +`icetea --help` + +To list all local testcases from the examples subfolder: + +`icetea --list --tcdir examples` + +To print Icetea version: + +`icetea --version` + +#### Typical use + +All of the commands described below might also need other options, +depending on the test case. + +**Running test cases using the tc argument** + +`> icetea --tc <test case name> --tcdir <test case search path>` + +To run all existing test cases from the `examples` folder: + +`> icetea --tc all --tcdir examples` + +**Running an example test case with hardware** + +In this example, we assume that a compatible board has been connected +to the computer and an application binary for the board is available. +The referred test case is available in [the icetea github repository](https://github.com/ARMmbed/icetea/blob/master/examples/test_cmdline.py). + +`> icetea --tc test_cmdline --tcdir examples --type hardware --bin <path to a binary>` + +**Using metadata filters** + +To run all test cases with testtype regression in the metadata: + +`> icetea --testtype regression --tcdir <test case search path>` + +The following metadata filters are available: +* test type (--testtype) +* test subtype (--subtype) +* feature (--feature) +* test case name (--tc) +* tested component (--component) +* test case folder (--group) + +**Running a premade suite** + +Icetea supports a suite file that describes a suite of test cases +in `json` format. + +`> icetea --suite <suite file name> --tcdir <test case search path> --suitedir <path to suite directory>` + +**Enabling debug level logging** + +Use -v or -vv arguments to control logging levels. -v increases the frameworks logging level +to debug (default is info) and the level of logging in +certain plugins and external components to info (default is warning). +--vv increases the level of logging on all Icetea loggers to debug. + +**Further details** + +For further details on any of the features see our documentation. + +#### Creating a test case +Icetea test cases are implemented as Python classes that inherit the Bench object available in `icetea_lib.bench` module. +The test case needs to have an initialization function that defines the metadata and a case function that implements the test sequence. +There are two optional functions, setup and teardown. More information is available in our documentation. + +An example test case is shown below: + +``` +""" +Copyright 2017 ARM Limited +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +from icetea_lib.bench import Bench + + +class Testcase(Bench): + def __init__(self): + Bench.__init__(self, + name="example_test", + title="Example test", + status="development", + purpose="Show example of a test", + component=["examples"], + type="smoke", + requirements={ + "duts": { + '*': { + "count": 1, + "type": "hardware" + } + } + } + ) + + def setup(self): + # nothing for now + pass + + + def case(self): + self.command(1, "echo hello world", timeout=5) + self.command("help") + + def teardown(self): + # nothing for now + pass +``` + +### License +See the [license](https://github.com/ARMmbed/icetea/blob/master/LICENSE) agreement. + + + + +%package help +Summary: Development documents and examples for icetea +Provides: python3-icetea-doc +%description help +## Icetea test framework + +Icetea is an automated testing framework for Mbed development. +It automates the process of flashing Mbed boards, running tests +and accumulating test results into reports. +Developers use it for local development as well as for +automation in a Continuous Integration Environment. + +When testing [`Mbed OS`](https://www.mbed.com/en/platform/mbed-os/) +Icetea allows you to execute commands remotely via +the command line interface (`CLI`) in a device under test (`DUT`). +The interface between the test framework and `DUT` can be +for example UART or stdio. + +More detailed documentation on the tool is available +[here in rst format](https://github.com/ARMmbed/icetea/tree/master/doc-source) +and [here in markdown format](https://github.com/ARMmbed/icetea/tree/master/doc). + +### Prerequisites +Icetea supports Linux (Ubuntu preferred), Windows and OS X. Our main target is Linux. +We support both Python 2.7 and 3.5 or later. Some OS specific prerequisites below: + +* Linux + * python-dev and python-lxml + `sudo apt-get install python-dev python-lxml` + * In order to run test cases with hardware in Linux without sudo rights: + ``` + sudo usermod -a -G dialout username + Log out & log in back to Linux + ``` + This command will add the user 'username' to the 'dialout' group and + grant the required permissions to the USB ports. +* OS X + * [XCode developer tools](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/) + * [MacPorts](https://www.macports.org/install.php) + * [lxml](http://lxml.de/installation.html#installation): + `STATIC_DEPS=true sudo pip install lxml` + +* Windows + * python-lxml installation is problematic on Windows since + it usually requires build tools. It can however be installed + from pre-built binaries. + * Search for a binary for you system from the internet. + * Navigate to the directory where you downloaded the + binary and install it with `pip install <insert_file_name>` + * You can follow instructions [here](http://lxml.de/installation.html#installation) + instead. + +#### Optional + +There are some optional dependencies that brings some optional features, +like `coloredlogs` which decorate your console outputs with all kind of colors. + +All optional dependencies are declared [`extra_requirements.txt`](extra_requirements.txt) and they can be installed using pip. +Note that you need `extra_requirements.txt` file locally. + +``` +> pip install -r extra_requirements.txt +``` + +#### Pyshark +Sniffer integration component requires pyshark, +which is not covered in requirements.txt due to installation issues with trollius (requirement for python 2 +version of pyshark called pyshark-legacy). To use this integration, you need to manually install pyshark for your setup. +For python 3: + +``` +> pip install pyshark +``` +For python 2: + +``` +> pip install pyshark-legacy +``` + +### Installation + +`> pip install icetea` + +### Usage + +To print the help page: + +`icetea --help` + +To list all local testcases from the examples subfolder: + +`icetea --list --tcdir examples` + +To print Icetea version: + +`icetea --version` + +#### Typical use + +All of the commands described below might also need other options, +depending on the test case. + +**Running test cases using the tc argument** + +`> icetea --tc <test case name> --tcdir <test case search path>` + +To run all existing test cases from the `examples` folder: + +`> icetea --tc all --tcdir examples` + +**Running an example test case with hardware** + +In this example, we assume that a compatible board has been connected +to the computer and an application binary for the board is available. +The referred test case is available in [the icetea github repository](https://github.com/ARMmbed/icetea/blob/master/examples/test_cmdline.py). + +`> icetea --tc test_cmdline --tcdir examples --type hardware --bin <path to a binary>` + +**Using metadata filters** + +To run all test cases with testtype regression in the metadata: + +`> icetea --testtype regression --tcdir <test case search path>` + +The following metadata filters are available: +* test type (--testtype) +* test subtype (--subtype) +* feature (--feature) +* test case name (--tc) +* tested component (--component) +* test case folder (--group) + +**Running a premade suite** + +Icetea supports a suite file that describes a suite of test cases +in `json` format. + +`> icetea --suite <suite file name> --tcdir <test case search path> --suitedir <path to suite directory>` + +**Enabling debug level logging** + +Use -v or -vv arguments to control logging levels. -v increases the frameworks logging level +to debug (default is info) and the level of logging in +certain plugins and external components to info (default is warning). +--vv increases the level of logging on all Icetea loggers to debug. + +**Further details** + +For further details on any of the features see our documentation. + +#### Creating a test case +Icetea test cases are implemented as Python classes that inherit the Bench object available in `icetea_lib.bench` module. +The test case needs to have an initialization function that defines the metadata and a case function that implements the test sequence. +There are two optional functions, setup and teardown. More information is available in our documentation. + +An example test case is shown below: + +``` +""" +Copyright 2017 ARM Limited +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +""" + +from icetea_lib.bench import Bench + + +class Testcase(Bench): + def __init__(self): + Bench.__init__(self, + name="example_test", + title="Example test", + status="development", + purpose="Show example of a test", + component=["examples"], + type="smoke", + requirements={ + "duts": { + '*': { + "count": 1, + "type": "hardware" + } + } + } + ) + + def setup(self): + # nothing for now + pass + + + def case(self): + self.command(1, "echo hello world", timeout=5) + self.command("help") + + def teardown(self): + # nothing for now + pass +``` + +### License +See the [license](https://github.com/ARMmbed/icetea/blob/master/LICENSE) agreement. + + + + +%prep +%autosetup -n icetea-2.0.1 + +%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-icetea -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.1-1 +- Package Spec generated @@ -0,0 +1 @@ +557711f7e9f07b7fc7523fb673c55060 icetea-2.0.1.tar.gz |