Python 3 for k5test.py

Greg Hudson ghudson at mit.edu
Sat Apr 28 15:40:44 EDT 2018


I am thinking now might be the right time to move to Python 2 to Python
3 for the Python test suite.  This is based on:

* Per https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes, Ubuntu 18.04
  doesn't install Python 2 by default, and implies that 20.04 won't
  include Python 2 in main.  (I would guess it might continue to be
  available in universe.)

* https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
  anticipates an update to PEP 394 recommending that /usr/bin/python be
  Python 3, and talks about maybe getting rid of Python 2 in a few
  years.

Right now the test suite requires Python 2.5, which was released roughly
three years before Python 3.0.  My thought is that if someone is
building MIT krb5 on a system too old to offer Python 3, they are
probably building multiple newer versions of software packages, and
adding Python 3 to that set isn't a huge burden.  Or they can just not
run the test suite.  But if someone has a need to build and modify krb5
1.17 on a post-2020 operating system which doesn't conveniently offer
Python 2, having to build Python 2 just for our test suite could be more
of a burden.  Of course that might also happen for 1.16 and prior, but
we can't reasonably do anything about that.

I prototyped the work required back in February, and it isn't a lot:
https://github.com/greghudson/krb5/commits/python3

If we don't make this change now, I will at least make configure.in look
for "python2" in the path in preference to "python", and to skip the
Python tests if the interpreter we do find has sys.hexversion >=
0x3000000.


More information about the krbdev mailing list