-
Notifications
You must be signed in to change notification settings - Fork 328
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
Improve automated testing #24
Comments
Most definitely useful! We do need to verify if the CI provider exposes the Hypervisor framework into their VMs though -- experiments on CircleCI have given us both answers. We could also set up a bare metal Mac and host it somewhere, which would give us better control over the base OS as well. |
We can definitely separate the goals - first having repeatable tests manually run (also good!) from CI. |
I think the issues with CI not exposing support for the Hypervisor framework are largely historical, it's been a long time since we've seen an issue like that in the CI testing of Docker for Mac for example. I suppose they've e.g. updated the software on their whole fleet since we last saw it. Some sort of simple "1) boot 2) check it looks ok 3) shutdown" test in CI would be really nice for sure. As I hinted in #23 my preference would be for an Alpine based thing, but really at this point anything would be better than nothing (and in any case I'd expect the scripting for "2)" to be where most of the complexity would be). |
Do you have any preferences on approach - eg on adding dependencies to make the testing work (eg bash + expect) or writing a custom test "driver" in C or ocaml. |
Looks like I'd probably avoid C though for this particular sort of job. |
So it looks as if tinycorelinux.net is down today - I started to look at moving to alpine which just seems to distribute a cdrom. I'm asking about on IRC around netboot images. |
Work towards automated testing moby#24. Download tinycorelinux from a mirror and patch. Update hyperkitrun.sh to call script and also explicitly call make if needed. Tested commands by using hyperkitrun.sh Signed-off-by: Pris Nasrat <[email protected]>
Note to self brittle initial test could be
|
It's a shame FWIW the proposed |
Fixes moby#24 Adds dependency on expect, wired in through Makefile. The expect script replicates the command from hyperkitrun.sh to prevent requiring a prompt whilst in expect. The dependecy chain is handled in the Makefile. Tested both success and failure using make test - adjusting the timeout to 1 will give an example fail that propgates up to the make return. Signed-off-by: Pris Nasrat <[email protected]>
Fixes moby#24 Adds dependency on expect, wired in through Makefile. The expect script replicates the command from hyperkitrun.sh to prevent requiring a prompt whilst in expect. The dependency chain is handled in the Makefile. Tested both success and failure using make test - adjusting the timeout to 1 will give an example fail that propgates up to the make return. Signed-off-by: Pris Nasrat <[email protected]>
Currently by the looks of it circle just checks the source can compile and build. To support contributor development of greater OS coverage issue #19 it would be nice if there was a simple test cycle that could be run per OS
I'd imagine a shell based test driver that boots the OS - records console output and does some validation would be a simple first step.
I don't want to implement without discussion so please give me feedback if this sounds of use.
The text was updated successfully, but these errors were encountered: