Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build: add a fake Windows XP-ish builder #15337

Closed
bradfitz opened this issue Apr 16, 2016 · 12 comments

Comments

Projects
None yet
6 participants
@bradfitz
Copy link
Member

commented Apr 16, 2016

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?

@bradfitz bradfitz self-assigned this Apr 16, 2016

@bradfitz bradfitz added this to the Unreleased milestone Apr 16, 2016

@OneOfOne

This comment has been minimized.

Copy link
Contributor

commented 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

This comment has been minimized.

Copy link
Member Author

commented Apr 16, 2016

That actually sounds like more work.

@minux

This comment has been minimized.

Copy link
Member

commented Apr 17, 2016

@bradfitz

This comment has been minimized.

Copy link
Member Author

commented 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

This comment has been minimized.

Copy link
Member

commented Apr 17, 2016

@bradfitz

This comment has been minimized.

Copy link
Member Author

commented Apr 17, 2016

Windows Server 2003 is not trivial. It would require adding AWS EC2 support to the build infrastructure. See #10267.

@alexbrainman

This comment has been minimized.

Copy link
Member

commented 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

This comment has been minimized.

Copy link

commented Apr 17, 2016

CL https://golang.org/cl/22144 mentions this issue.

@mattn

This comment has been minimized.

Copy link
Member

commented 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

This comment has been minimized.

Copy link
Member Author

commented 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.

@bradfitz bradfitz closed this Jul 21, 2016

@alexbrainman

This comment has been minimized.

Copy link
Member

commented Jul 22, 2016

I still have Windows XP, if you want me to try things.

Alex

@bradfitz

This comment has been minimized.

Copy link
Member Author

commented 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.

@golang golang locked and limited conversation to collaborators Jul 22, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.