test/py: Update docs, add requirements.txt for pip
To be more closely aligned with Python community best practices, we need to better document our usage of pip and make use of a requirements.txt file that shows the versions of the tools that we are using. This will aide in ensuring reproducibility of our tests as well. Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Simon Glass <sjg@chromium.org> [on sandbox] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
8add4fa417
commit
ddaa8bed3d
@ -21,19 +21,26 @@ involves executing some binary and interacting with its stdin/stdout. You will
|
||||
need to implement various "hook" scripts that are called by the test suite at
|
||||
the appropriate time.
|
||||
|
||||
On Debian or Debian-like distributions, the following packages are required.
|
||||
Some packages are required to execute any test, and others only for specific
|
||||
tests. Similar package names should exist in other distributions.
|
||||
In order to run the testsuite at a minimum we require that both python3 and
|
||||
pip for python3 be installed. All of the required python modules are
|
||||
described in the requirements.txt file in this directory and can be installed
|
||||
with the command ```pip install -r requirements.txt```
|
||||
|
||||
| Package | Version tested (Ubuntu 14.04) |
|
||||
| -------------- | ----------------------------- |
|
||||
| python | 2.7.5-5ubuntu3 |
|
||||
| python-pytest | 2.5.1-1 |
|
||||
| python-subunit | - |
|
||||
| gdisk | 0.8.8-1ubuntu0.1 |
|
||||
| dfu-util | 0.5-1 |
|
||||
| dtc | 1.4.0+dfsg-1 |
|
||||
| openssl | 1.0.1f-1ubuntu2.22 |
|
||||
In order to execute certain tests on their supported platforms other tools
|
||||
will be required. The following is an incomplete list:
|
||||
|
||||
| Package |
|
||||
| -------------- |
|
||||
| gdisk |
|
||||
| dfu-util |
|
||||
| dtc |
|
||||
| openssl |
|
||||
| sudo OR guestmount |
|
||||
| e2fsprogs |
|
||||
| dosfstools |
|
||||
|
||||
Please use the apporirate commands for your distribution to match these tools
|
||||
up with the package that provides them.
|
||||
|
||||
The test script supports either:
|
||||
|
||||
@ -45,18 +52,16 @@ The test script supports either:
|
||||
|
||||
### Using `virtualenv` to provide requirements
|
||||
|
||||
Older distributions (e.g. Ubuntu 10.04) may not provide all the required
|
||||
packages, or may provide versions that are too old to run the test suite. One
|
||||
can use the Python `virtualenv` script to locally install more up-to-date
|
||||
versions of the required packages without interfering with the OS installation.
|
||||
For example:
|
||||
The recommended way to run the test suite, in order to ensure reproducibility
|
||||
is to use `virtualenv` to set up the necessary environment. This can be done
|
||||
via the following commands:
|
||||
|
||||
```bash
|
||||
$ cd /path/to/u-boot
|
||||
$ sudo apt-get install python python-virtualenv
|
||||
$ virtualenv venv
|
||||
$ sudo apt-get install python3 python3-virtualenv
|
||||
$ virtualenv -p /usr/bin/python3 venv
|
||||
$ . ./venv/bin/activate
|
||||
$ pip install pytest
|
||||
$ pip install -r test/py/requirements.txt
|
||||
```
|
||||
|
||||
## Testing sandbox
|
||||
|
22
test/py/requirements.txt
Normal file
22
test/py/requirements.txt
Normal file
@ -0,0 +1,22 @@
|
||||
atomicwrites==1.3.0
|
||||
attrs==19.3.0
|
||||
coverage==4.5.4
|
||||
extras==1.0.0
|
||||
fixtures==3.0.0
|
||||
importlib-metadata==0.23
|
||||
linecache2==1.0.0
|
||||
more-itertools==7.2.0
|
||||
packaging==19.2
|
||||
pbr==5.4.3
|
||||
pluggy==0.13.0
|
||||
py==1.8.0
|
||||
pyparsing==2.4.2
|
||||
pytest==5.2.1
|
||||
python-mimeparse==1.6.0
|
||||
python-subunit==1.3.0
|
||||
six==1.12.0
|
||||
testtools==2.3.0
|
||||
traceback2==1.4.0
|
||||
unittest2==1.1.0
|
||||
wcwidth==0.1.7
|
||||
zipp==0.6.0
|
Loading…
Reference in New Issue
Block a user