Opened 18 months ago

Last modified 18 months ago

#21793 new Cleanup/optimization

Require specific versions of test suite's Python dependencies?

Reported by: JustinTArthur Owned by: nobody
Component: Testing framework Version: master
Severity: Normal Keywords: testing, test suite, continuous integration, ci, dependencies, pip, pypi
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Currently, there are several tests that depend on 3rd party libraries that we haven't assimilated into the source code directly. These tests are simply skipped/passed when a developer or tester's environment is missing one of these libraries.

The question is:
Do we want to specify the preferred versions of these dependencies in test/requirements/*.txt?

Do we want to have the CI environment(s) use those text files for the automated testing we do? (they currently don't according to timo)

I vote for at least adjusting those text files to refer to the same dependency versions as our CI environments are currently using for the sake of giving contributors a consistent regression testing process (their passing-on-local test less likely to fail-on-continuous-integration).

We may also have a day when a developer's local test suite goes red, not because Django has regressed, but because one of the test's dependencies has changed in API or behavior. This could be desired behavior? I don't know.

Ticket inspired by a #django-dev conversation with timo on 2014-01-16 with regards to pull request 2173, which adds a dependency to a specific version of a 3rd-party library.

Change History (2)

comment:1 Changed 18 months ago by JustinTArthur

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset

Where these dependencies are currently documented (outside those pip-readable textfiles):

comment:2 Changed 18 months ago by timo

  • Triage Stage changed from Unreviewed to Accepted

I think this is likely to happen at some point.

Note: See TracTickets for help on using tickets.
Back to Top