Context
Currently, the OIDC prose tests are implemented as a separate Go executable. That appears to be to facilitate building an executable so it can be run on a remote host (see here). That creates some problems:
- Test output is not printed in Go test format, so you have to view the Evergreen logs to see test failures.
- As a result, you don't get any of the Evergreen test parsing and history data.
- We can't use any of the normal test assertion logic our other tests use.
- It's also difficult to find the OIDC tests unless you know where to look.
- The tests don't write ".suite" files, which causes some teardown steps to fail (see here).
It's possible to build binaries for Go test packages, so implementing it as a separate executable is not necessary. We should convert the OIDC prose tests into Go tests and update the run/build scripts.
Definition of done
- Refactor OIDC prose tests as Go tests.
- Update build and run scripts for OIDC tests to use the Go tests.
Pitfalls
What should the implementer watch out for? What are the risks?