Opened 10 years ago

Closed 9 years ago

#21793 closed Cleanup/optimization (wontfix)

Require specific versions of test suite's Python dependencies?

Reported by: JustinTArthur Owned by: nobody
Component: Testing framework Version: dev
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

Description

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?

Additionally:
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 (3)

comment:1 by JustinTArthur, 10 years ago

Where these dependencies are currently documented (outside those pip-readable textfiles): https://docs.djangoproject.com/en/1.6/internals/contributing/writing-code/unit-tests/#running-all-the-tests

comment:2 by Tim Graham, 10 years ago

Triage Stage: UnreviewedAccepted

I think this is likely to happen at some point.

comment:3 by Tim Graham, 9 years ago

Resolution: wontfix
Status: newclosed

18 months later, the status quo seems okay to me. When there are new versions of dependencies that don't work with older versions of Django, we add specific version requirements at that time.

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