rgb-cln/contrib/pyln-testing
Dustin Dettmer cdb93eefec resolve() appears broken on Python 3.7+
On my machine it should have produced:
/tmp/ltests-1p0v5z1j/.locks/lock-1631090663.1066182
but instead it produced:
/private/tmp/ltests-1p0v5z1j/.locks/lock-1631090663.105848

The mismatch resulted in a hang inside flock.

Path .resolve() seems to be causing problems for others as well. It appears the library was not meant to handle complex path situations and isn't maintained as such (see link reference).

Since we have already built a full path here anyway, the call to .resolve() appears redundant.

Tested on python 3.9.6 on my Mac OS X 11.4 (20F71), Xcode 12.5.1 (12E507)

Relevant discussion: https://discuss.python.org/t/pathlib-absolute-vs-resolve/2573
2021-09-10 11:55:50 +02:00
..
pyln/testing resolve() appears broken on Python 3.7+ 2021-09-10 11:55:50 +02:00
tests pyln-testing: Add a dummy test to check functionality 2020-08-30 20:03:42 +02:00
Makefile Skip following import and skip flask type to mypy code analysis. 2021-08-30 12:12:32 +09:30
README.md pyln-testing: Copy basic support infrastructure into pyln.testing 2019-11-12 21:23:55 +01:00
requirements.txt pytest: add schema support for JSON responses. 2021-05-27 20:28:49 +09:30
setup.py pyln-testing: Copy basic support infrastructure into pyln.testing 2019-11-12 21:23:55 +01:00

README.md

pyln-testing: A library to write tests against c-lightning

This library implements a number of utilities that help building tests for c-lightning nodes. In particular it provides a number of pytest fixtures that allow the management of a test network of a given topology and then execute a test scenarion.

pyln-testing is used by c-lightning for its internal tests, and by the community plugin directory to exercise the plugins.

Installation

pyln-testing is available on pip:

pip install pyln-testing

Alternatively you can also install the development version to get access to currently unreleased features by checking out the c-lightning source code and installing into your python3 environment:

git clone https://github.com/ElementsProject/lightning.git
cd lightning/contrib/pyln-testing
python3 setup.py develop

This will add links to the library into your environment so changing the checked out source code will also result in the environment picking up these changes. Notice however that unreleased versions may change API without warning, so test thoroughly with the released version.