-
Notifications
You must be signed in to change notification settings - Fork 384
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
Prefer API V2 when both offered in a single directory, improve test error reports #691
Conversation
This doesn't happen with Let'sEncrypt, but it does with at least one other CA. The ACME spec allows it.
The test logging seems to cause confusion with the test harness. Outside the test harness, it seems to do what's intended (you have to provide fd3, of course). It seems as though check_output_for_errors may need to run in its "less strict" mode. But as I don't really understand the test system, perhaps you (@timkimber) can help sort this out. See , e.g. https://github.com/tlhackque/getssl/runs/3201899538?check_suite_focus=true By the way, I also tried to do the logging work in a separate branch, but couldn't persuade GitHub to run the tests (I did add the branch to the .yml files). I've made this PR into a "draft" until this is resolved. |
577819e
to
dc7d65f
Compare
I've made some progress:
Note that tests run here due to a pull request on a fork will fail because the update checks will use this repo - which won't have the new version... Should include the correct branch in update checks & run tests on branch commits - exercise for the reader. It seems that the test harness uses Tests are running in my repo - hopefully this is converging. I will check in later. |
540cb93
to
be10a59
Compare
The test harness will suppress output unless an error occurs. Upgrade testing was failing in forked repos CI because the source repo was hard-coded. Use the CI environment to use the fork's repo.
84d9cc6
to
9c93552
Compare
9a5b9b6
to
a05cf4e
Compare
The first fail logic seems scoped to a single test file. Set the flag globally. Since the tests run in a container, cleanup is automagic. Various test tweaks to allow for skipping tests & null strings.
After a fair bit of debugging (sorry about the force pushes - only way I found to debug CI & keep the tag straight), it turns out that the test framework (BATS) can do most of what we want. I have skip after first fail working; debug output is displayed on failure. I've fixed some issues that turned up when skipping; also worked on some of the diagnostics. Tests that are expected to exit with failure status are a bit chatty. In particular 18 (check_retry_add_dns_command)... TODO:
|
Only run cURL once to determine it's version.
Verify that a unified directory, API V2 is selected.
@tlhackque finally got a chance to fix the upgrade test - as you said I'd forgotten to tag the latest release |
That was clear in the logs - and the tests passed in my repo where I did tag it. (Which is why every push of an incremental commit was a force push - had to move the tag...) I'll create new issues for the TODOs that I didn't handle (mostly because you need to do stuff.) |
This doesn't happen with Let'sEncrypt, but it does with at least one other CA. The ACME spec allows it.
This fixes
getssl
, but doesn't provide a test.Also a (somewhat ugly) attempt at fixing #692
Fixes #690
Fixes #692