-
Notifications
You must be signed in to change notification settings - Fork 87
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
use bisect to test coverage of the tcpip tests #160
Comments
Now that mirage-tcpip and friends use ppx rather than camlp4, this can probably be revisited and merged properly. |
I took a look at this again, inspired by #401 and my general feeling that It seems that most projects using I think this kind of workflow is OK for repositories that have one or two very involved maintainers, but it seems error-prone for MirageOS repositories, where there's a team of maintainers that have varying amounts of involvement. I can very easily imagine myself going to make a release of a repository with this strategy and accidentally releasing the bisected version. I'm interested if anyone has a solution in mind for this that's a bit more automatic. |
There's a consensus on the dune side about how to support that so that |
instructions from @djs55 on the mailing list below:
I've been having a lot of fun with bisect[1] recently-- I've been using it to see which parts of the mirage-block-volume[2] and shared-block-ring[3] libraries are completely untouched by their unit tests. I found the following game to be quite addictive:
I've hooked it up with coveralls.io (admittedly in a bit of a hacky way[4]) such that the master branch is firmly in "development" mode, linking against bisect, and without checking in the oasis autogen rubbish. The .travis.yml runs both the travisci-skeleton script and then invokes ocveralls[5] to upload the results.
I've added a separate "make release" step which removes bisect and checks in the autogen (presumably into a release branch). Perhaps eventually this could make a github pull request (with the "hub" tool?) and make an opam package?
I think the game is made even more addictive when the coveralls badge changes colour, see:
https://coveralls.io/r/mirage/mirage-block-volume?branch=master
Here's an example bisect report (the code is a work-in-progress):
http://dave.recoil.org/tmp/report/file0000.html
If you haven't given bisect a go -- I recommend playing with it.
Also, if you can think of a nicer way to integrate this -- I admit using 'sed' on the _oasis file is a bit of a hack -- please let me know!
Cheers,
Dave
[1] http://bisect.x9c.fr
[2] https://github.com/mirage/mirage-block-volume
[3] https://github.com/mirage/shared-block-ring
[4] mirage/shared-block-ring@67b9f31
[5] https://github.com/sagotch/ocveralls
The text was updated successfully, but these errors were encountered: