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
Closed

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

bradfitz opened this issue Apr 16, 2016 · 12 comments
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge OS-Windows
Milestone

Comments

@bradfitz
Copy link
Contributor

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 OS-Windows Builders x/build issues (builders, bots, dashboards) labels Apr 16, 2016
@bradfitz bradfitz added this to the Unreleased milestone Apr 16, 2016
@OneOfOne
Copy link
Contributor

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
Copy link
Contributor Author

That actually sounds like more work.

@minux
Copy link
Member

minux commented Apr 17, 2016 via email

@bradfitz
Copy link
Contributor Author

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
Copy link
Member

minux commented Apr 17, 2016 via email

@bradfitz
Copy link
Contributor Author

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

@alexbrainman
Copy link
Member

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
Copy link

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

@mattn
Copy link
Member

mattn 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
Copy link
Contributor Author

@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
Copy link
Member

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

Alex

@bradfitz
Copy link
Contributor Author

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.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge OS-Windows
Projects
None yet
Development

No branches or pull requests

6 participants