classification
Title: Tests of Python 2.7 VS9.0 buildbots must be run with -uall -rwW options
Type: Stage: resolved
Components: Tests, Windows Versions: Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: paul.moore, steve.dower, tim.golden, vstinner, zach.ware
Priority: normal Keywords: buildbot

Created on 2017-05-09 13:59 by vstinner, last changed 2017-09-13 01:21 by vstinner. This issue is now closed.

Messages (4)
msg293313 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-09 13:59
After my commit d2aff607199a24182714404777c80c7f180a35af of bpo-30283, test_regrtest failed with "multiple errors occurred; run in verbose mode for details" on "x86 Windows XP VS9.0 2.7" buildbot, but tests are not re-run in verbose mode on this buildbot :-(

See http://bugs.python.org/issue30283#msg293312

The "test" step of the buildbot runs directly the PC/VS9.0/rt.bat command which only pass -j2 option to regrtest.py, but not -uall -rwW.

Other Windows buildbots run Tools/buildbot/test.bat which pass -uall -rwW to regrtest.py.

I see different options:

* Modify PC/VS9.0/rt.bat to pass extra options: I dislike this option, it changes the behaviour, some people may rely on the current behaviour (and Python 2.7 is now considered as super stable)

* Copy Tools/buildbot/test.bat to PC/VS9.0/test.bat and modify the copy to run PC/VS9.0/rt.bat. I dislike this option, it duplicates code.

* Modify Tools/buildbot/test.bat to add an option to specify the pass to rt.bat and then modify the buildbot config to use test.bat instead of rt.bat but also use the new option to pass PC/VS9.0/rt.bat (or just "PC/VS9.0/" depending how the option is designed).

@Zach: I request your advice on this issue ;-)
msg293337 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2017-05-09 16:35
I think best would be to add a flag to the Tools/buildbot scripts (build and clean as well as test) that is ignored on 3.x and substitutes PC/VS9.0 for PCbuild on 2.7.  The buildbot config will need to be updated to pass the flag on the VS9 builders.  My first thought for a name for the flag was '--legacy', but that doesn't seem quite right.
msg293480 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-11 09:31
Another issue with Python built using VS 2008, test_regrtest has to check two tests in that case, see:
http://bugs.python.org/issue30283#msg293476
msg302025 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-09-13 01:21
Zachary Ware fixed the issue by tuning VS9 buildbot configurations:
---
class Windows27VS9Build(WindowsBuild):
    buildersuffix = 'vs9'
    build_command = [r'PC\VS9.0\build.bat', '-e', '-k', '-d']
    test_command = [r'PC\VS9.0\rt.bat', '-q', '-d', '-uall', '-rwW', '--slowest']
    clean_command = [r'PC\VS9.0\build.bat', '-t', 'Clean', '-d']
    python_command = [r'PC\VS9.0\python_d.exe']


class Windows6427VS9Build(Windows27VS9Build):
    test_command = [r'PC\VS9.0\rt.bat', '-x64', '-q', '-d', '-uall', '-rwW', '--slowest']
    buildFlags = ['-p', 'x64']
    cleanFlags = ['-p', 'x64']
    python_command = [r'PC\VS9.0\amd64\python_d.exe']
---
https://github.com/python/buildmaster-config/blob/c0df05423ea939b995204dd33558619df9d1b4c5/master/master.cfg#L330

Thanks Zach!
History
Date User Action Args
2017-09-13 01:21:21vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg302025

stage: needs patch -> resolved
2017-05-11 09:31:46vstinnersetmessages: + msg293480
2017-05-09 16:35:09zach.waresetmessages: + msg293337
stage: needs patch
2017-05-09 13:59:58vstinnercreate