-
Notifications
You must be signed in to change notification settings - Fork 54
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
Add tests for some of the external tools.. #472
Comments
It would be nice if we could also make it so that the test suite does not depend on fetching ontologies on remote servers… Over the weekend I have not been able to successfully run the entire test suite even once because there's always a connection time out when fetching something from purl.obolibrary.org… Not sure if it is even feasible, though, but if not then we should at least allow the test suite to gracefully skip the current test and go on with the next one instead of aborting completely. |
Is it chebi? I added retries/timeouts for this in dpo because I got fed up of it taking > 30 min going through the release just to fail when it had to download chebi:
|
@Clare72 this is a great idea! We should implement that by default in ODK! Would you be able to make a PR reflecting that change? |
When running the tests for the ODK, from what I have seen it can be any ontology, really. Most often it seems to be purl.obolibrary.org/obo/ro/annotations.owl, but sometimes it's http://purl.obolibrary.org/obo/ro/bfo-axioms.owl, sometimes yet another one… |
I think if we get that retry logic in there, the failures will go down to a negligible amount.. |
@matentzn I don't have write access! This seems fairly straightforward for the last 4/5 variants of the |
gave you write access :) |
As part of #475, we now have a % make test_odkfull_programs
Checking for ROBOT... OK
Checking for DOSDP-TOOLS... OK
Checking for OWLTOOLS... OK
Checking for AMMONITE... OK
Checking for KONCLUDE... OK
Checking for SOUFFLE... OK
Checking for JENA... OK
Checking for SPARQL... OK This should catch the most obvious problems, such as an executable being absent, an executable of the wrong architecture (typically a x86 binary on the arm64 image), and missing shared libraries. This will not catch more insidious problems such as missing libraries that are dlopened instead of linked or more generally missing any file that is only needed after the program has been started. We'll need functional tests specific to each program to catch such problems. I'm leaving this issue open, since having such functional tests would be nice. |
@gouttegd Was there a reason you didnt add |
No particular reason, except maybe as a reminder that those tests are not perfect (as explained in my previous comment) and that just because they pass, it doesn't mean everything is 100% guaranteed to be OK. |
Thank you :) |
As per slack between @gouttegd and @Clare72, its possible that as the underlying architecture of the ODK are changing (system libraries etc), the behaviours of the tools change. We should consider building a manual test suite using make that invoke such tools (like oort, Konclude, scala scripts etc.).
The text was updated successfully, but these errors were encountered: