python2

The test suite runs on debuild, though test failures are ignored (since there are many). This is being worked on. Meanwhile, most module test suites have been fixed, do run them before and after working on the matching Python modules.

The package ships DEP-8 tests but those merely re-run parts of the test suites. Moreover, our DEP-8 skips many tests by unsetting several test suite “resources”, including “network” due to limited/blocked network access within CI environments. Again, do run these manually if you modify a related module.

To run a single test file before building/installing a new version:

PYTHONPATH=Lib build-shared/python Lib/test/test_xmlrpc.py
PYTHONPATH=Lib build-shared/python Lib/test/test_ssl.py
PYTHONPATH=Lib build-shared/python Lib/test/test_httplib.py
PYTHONPATH=Lib build-shared/python Lib/test/test_ftplib.py
PYTHONPATH=Lib build-shared/python Lib/test/test_urllib2net.py
...

To test exclusions, used in debian/rules and DEP-8 tests:

# skip network tests
PYTHONPATH=Lib build-shared/python -m test.regrtest -uall,-network -v test_urllib2net

Some other distros maintain legacy python2.7 support, e.g. Ubuntu and OpenSUSE.

python-django has a comprehensive test suite and is a good reverse-dependency to test. Run autopkgtest manually, because the Freexian CI currently doesn’t, due to not being a direct dependency.

# e.g. on buster:
autopkgtest -s -u nonroot --test-name command3 \
  python-django \
  -- null
autopkgtest -s -U \
  python-django \
  py2-binaries-to-test/*.deb \
  -- qemu ../autopkgtest-buster.img
Copyright (C) 2020, 2023, 2025 Sylvain Beucler