Make xs-opam self-consistent and able to run unit tests #627
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Opam 2.x has changed how unit tests are run: they are only run for the packages explicitly specified on the command-line.
A lot of unit tests are in fact not runnable because we're missing a lot of test-only dependencies.
It is not even possible to install all test-only dependencies due to conflicts (mostly around versions of 'sexplib' and 'ppxlib'/etc.), so have a list of packages to exclude from running tests, by default we run tests for our own packages + their non-test-only dependencies, with a few exceptions.
Add packages to xs-opam that were previously missing or uninstallable.
After these changes running 'tools/cleanup.sh' and 'tools/find-unused-packages.sh' don't show any errors and running 'tools/installtest.sh' on a suitable opam trunk switch succeeds.
ca-certs had to be updated to version 0.2.3 because version 0.2.2 was failing its unit tests.
The extra dependencies are added to upstream-extra. Packages like 'bechamel' might become useful in other parts of the code (e.g. I have some code that uses it in some xenstore unit / performance tests).
Draft, because I only tested this on my own machine and not in Koji yet.