openwisp / openwisp/openwisp-utils

[bug] Development setup omits dependencies required by the full test suite

Open Beginner friendly
#757 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

  1. Clone the current master branch and create and activate a virtual environment.
  2. Follow docs/developer/installation.rst by running pip install -e .[qa,rest,selenium] and pip install -r requirements-test.txt.
  3. Run ./runtests.
  4. Test collection stops with ModuleNotFoundError for pypandoc, google, and github.
  5. Install the missing extras with pip install -e .[qa,rest,selenium,releaser,github_actions].
  6. Run ./runtests again 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.