Skip to content

Sort out story around Windows testing #76

@evansd

Description

@evansd

Because people need to use this to test their projects locally we need it to work on Windows, so we need to test it on Windows too.

A roadbump here is that because our Windows testing environments (both locally and in Github's CI) rely on virtualising Windows on Linux, and because Docker on Windows relies on virtualising Linux on Windows, we can't run the docker daemon in our test environments (see actions/runner-images#1143).

This isn't the end of the world as we only really need to run the docker client on the Windows guest, which can then talk to a daemon running on the host over TCP. However, Github don't currently supply a means of doing this. (I'm hopefully that they eventually will because it shouldn't be technically too difficult, and without it their service containers infrastructure can't be used at all with Windows, making their whole Windows testing offering pretty anaemic – a state of affairs which Microsoft, of all companies, ought to be motivated to resolve.)

Right now I think this means we have to do two things:

1. Run only units tests in Windows CI

This involves pytest-marking all tests which need to talk to Docker and telling pytest not to run them in Windows CI. This obviously isn't ideal, but it's better than nothing. And it will motivate us (me) to supplement our mammoth integration tests with decent unit test coverage.

2. Run integration tests locally

I have managed to successfully run the tests in a Windows VM under Virtualbox talking to a docker daemon on my Ubuntu host. I have created a couple of scripts to help with this process, details will be in the README shortly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions