Closed
Description
In lieu of a Windows XP trybot, we should add a builder (and trybot) that fakes being Windows XP as much as we reasonably can.
It can be named windows-386-xpfake
or something.
It would disable all the DLLs and Procs not found on XP (even if they exist on the host system) and thus force the use of the rarely-tested Windows XP code paths (which I've now broken a few times).
@alexbrainman, @mattn, I know a few of these. Could you help me gather the list of all the them?
Metadata
Metadata
Assignees
Type
Projects
Relationships
Development
No branches or pull requests
Activity
OneOfOne commentedon Apr 16, 2016
A rather cheap'ish suggestion you can run wine in windows xp mode, it should be accurate enough and much easier to setup than a "fake" windows xp machine.
bradfitz commentedon Apr 16, 2016
That actually sounds like more work.
minux commentedon Apr 17, 2016
bradfitz commentedon Apr 17, 2016
I tried XP in Parallels. It didn't finish its install without hanging. I lost interest.
I might try XP on physical hardware with an iSCSI boot so each boot gets the same image (with an Intel server NIC which makes iSCSI look like a local disk) + an APC PDU which lets me cycle its power to reboot it.
I'm not interested in Wine.
But setting an environment variable or build tag to disable certain DLLs and test our optional-DLL codepaths is very easy. I plan to do that.
minux commentedon Apr 17, 2016
bradfitz commentedon Apr 17, 2016
Windows Server 2003 is not trivial. It would require adding AWS EC2 support to the build infrastructure. See #10267.
alexbrainman commentedon Apr 17, 2016
I agree with @minux. Pretending we're running XP will not work - too many things are different. We already cheating with windows-386 builder - it is not running on real 32 bit OS, it is running in Microsoft provided emulator inside 64 bit OS. The emulator is very good, but ...
Windows XP runs fine emulated. I use Oracle VM VirtualBox. My friends run Windows XP in VMWare.
You always will have me to test what you need. XP is one of my development boxes. I am not changing it for the next year or two. You can use VirtualBox and create Windows XP yourself so you can test things when need be.
Windows XP is going. Pretty much everything in Go works on Windows XP at this moment. So if things starting to break there, and no users complaining, I am fine letting it Go.
Alex
gopherbot commentedon Apr 17, 2016
CL https://golang.org/cl/22144 mentions this issue.
mattn commentedon Apr 17, 2016
In my experiences, it will be hard to do. I also not recommend to fake the XP. BTW, I wonder how many users still uses Go on XP (without alex).
bradfitz commentedon Jul 21, 2016
@alexbrainman removing alternate Windows paths in 45bb887 is enough to make me happy here. I grepped around the tree and don't see other things varying their behavior based on DLL/Proc availability.
alexbrainman commentedon Jul 22, 2016
I still have Windows XP, if you want me to try things.
Alex
bradfitz commentedon Jul 22, 2016
I have a Windows XP disc and license. But that's a separate bug. This was about a builder faking different Windows optional paths.