#730 closed defect (fixed)
unify Windows and non-Windows "make quicktest"
Reported by: | zooko | Owned by: | zooko |
---|---|---|---|
Priority: | minor | Milestone: | 1.7.0 |
Component: | dev-infrastructure | Version: | 1.4.1 |
Keywords: | windows test cleanup | Cc: | |
Launchpad Bug: |
Description (last modified by warner)
8e2506675355ddaf improved "make quicktest" on non-Windows and left the old code in place on Windows (by branching on if sys.platform == "win32"). While I appreciate the fact that Brian wanted to avoid changing behavior that he wasn't going to test, I think it is important to have as few if sys.platform == "win32" in the code as possible, so I intend to test this behavior on Windows and hopefully just remove the if.
Change History (7)
comment:1 Changed at 2009-06-09T23:04:03Z by warner
- Description modified (diff)
comment:2 Changed at 2009-11-08T02:57:45Z by davidsarah
os.execve has different behaviour on Windows; it doesn't replace the current process. So you at least need a sys.exit(0) after os.execve.
comment:3 Changed at 2009-11-08T03:21:30Z by davidsarah
Actually I'm mistaken; although there is no direct equivalent to exec on Windows, os.execve does exit automatically, so it's close enough.
comment:4 Changed at 2010-02-27T20:06:57Z by davidsarah
- Keywords windows test cleanup added; win32 removed
- Milestone changed from undecided to 1.7.0
comment:5 Changed at 2010-06-17T04:33:27Z by zooko
- Milestone changed from 1.7.0 to eventually
comment:6 Changed at 2011-01-16T20:01:54Z by davidsarah
- Milestone changed from eventually to 1.7.0
- Resolution set to fixed
- Status changed from new to closed
This was fixed in 2a51a7bb900d512f.
(On the ticket1306 branch, make quicktest no longer uses misc/build_helpers/run-with-pythonpath.py in any case, and neither does anything else. I'll open a new ticket to remove it.)
comment:7 Changed at 2011-01-17T03:49:54Z by davidsarah
Actually for the use in make quicktest and make quicktest-coverage, it was incorrect to make the change in 2a51a7bb900d512f (I was wrong about that in comment:4), because it would have caused the make command to exit leaving the test running. Probably no-one noticed because they don't use the Makefile on Windows, since it requires gmake.
Anyway, [4927/ticket1306] fixes that, because bin\tahoe.pyscript doesn't use os.execve. The optimization that was made in 8e2506675355ddaf is applicable to bin/tahoe, but it would have to fall back to subprocess.call on Windows. (This optimization should not be made in 1.8.2 since it is a potentially destabilizing change. I'd rather get rid of the extra subprocess completely on all platforms by munging sys.path instead of setting PYTHONPATH.)
(fixed minor typo in description)
Sounds good to me.