openwisp / openwisp/openwisp-utils
[bug] Development setup omits dependencies required by the full test suite
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 93
- Forks
- 104
- Avg merge
- 14h 10m
- Merged PRs (30d)
- 22
Description
Describe the bug
Following the development installation instructions leaves the environment unable to run the documented full test suite. The instructions install .[qa,rest,selenium], but ./runtests also collects releaser and GitHub Actions helper tests that require pypandoc, google-genai, and PyGithub. These dependencies are provided by the releaser and github_actions extras, which CI installs but the development instructions omit.
Steps To Reproduce
- Clone the current
masterbranch and create and activate a virtual environment. - Follow
docs/developer/installation.rstby runningpip install -e .[qa,rest,selenium]andpip install -r requirements-test.txt. - Run
./runtests. - Test collection stops with
ModuleNotFoundErrorforpypandoc,google, andgithub. - Install the missing extras with
pip install -e .[qa,rest,selenium,releaser,github_actions]. - Run
./runtestsagain and observe that the full suite passes.
Expected behavior
Following the development installation instructions should install all dependencies required to run the documented ./runtests command successfully on a supported Python and Django combination.
Screenshots
Not applicable.
System Informatioon:
- OS: Debian GNU/Linux 13 (x86_64)
- Python Version: Python 3.13.5
- Django Version: Django 5.2.17
- Browser and Browser Version: Not applicable
- OpenWISP Utils Revision:
353784ded2942cca1ec13d0b9d5d2d541ccf9524
Additional context
A similar documentation issue was reported in #114 and fixed by #135 when the qa and rest extras were added. The current failure appears to be a recurrence after tests requiring the releaser and github_actions extras were introduced.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review docs/developer/installation.rst alongside the extras in pyproject.toml and the ./runtests entry point. Reproduce the documented setup, then update the installation instructions so the documented full suite includes its releaser and GitHub Actions dependencies. Run ./runtests with the documented commands and confirm collection and execution complete successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- django, github-actions, python
- Domain
- documentation, testing
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 85/100