Skip to content

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

Closed
@bradfitz

Description

@bradfitz

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?

Activity

self-assigned this
on Apr 16, 2016
added this to the Unreleased milestone on Apr 16, 2016
OneOfOne

OneOfOne commented on Apr 16, 2016

@OneOfOne
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

bradfitz commented on Apr 16, 2016

@bradfitz
ContributorAuthor

That actually sounds like more work.

minux

minux commented on Apr 17, 2016

@minux
Member
bradfitz

bradfitz commented on Apr 17, 2016

@bradfitz
ContributorAuthor

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

minux commented on Apr 17, 2016

@minux
Member
bradfitz

bradfitz commented on Apr 17, 2016

@bradfitz
ContributorAuthor

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

alexbrainman

alexbrainman commented on Apr 17, 2016

@alexbrainman
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

gopherbot commented on Apr 17, 2016

@gopherbot
Contributor

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

mattn

mattn commented on Apr 17, 2016

@mattn
Member

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

bradfitz commented on Jul 21, 2016

@bradfitz
ContributorAuthor

@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

alexbrainman commented on Jul 22, 2016

@alexbrainman
Member

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

Alex

bradfitz

bradfitz commented on Jul 22, 2016

@bradfitz
ContributorAuthor

I have a Windows XP disc and license. But that's a separate bug. This was about a builder faking different Windows optional paths.

locked and limited conversation to collaborators on Jul 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @bradfitz@mattn@minux@OneOfOne@gopherbot

        Issue actions

          x/build: add a fake Windows XP-ish builder · Issue #15337 · golang/go