Skip to content
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

Introduce OCI Conformance Test Suite #82

Merged

Conversation

pmengelbert
Copy link
Contributor

Added new conformance directory in the project root, with a number of
test files written in Go. Tests can be compiled by running go test -c
in the conformance directory and executing the created conformance.test
file.

In order for the tests to run, registry providers will need to set up
certain environment variables with the root url, the namespace of a
repository, and authentication information. Additionally, the OCI_DEBUG
variable can be set to "true" for more detailed output.

The tests create two report files: report.html and junit.xml. The html
report is expandable if more detailed information is needed on failures.

Related to #24

@pmengelbert pmengelbert force-pushed the initial-conformance-test branch from 927280b to 83480ec Compare January 17, 2020 00:04
@vbatts
Copy link
Member

vbatts commented Jan 17, 2020

nice!

the CI failure looks like trailing whitespace
https://travis-ci.org/opencontainers/distribution-spec/builds/638209473#L227

all one commit. i know git can be a headache. 🤕

@pmengelbert pmengelbert force-pushed the initial-conformance-test branch from 83480ec to 4e237e9 Compare January 17, 2020 00:24
@rchincha
Copy link
Contributor

rchincha commented Jan 17, 2020

@jdolitsky, @pmengelbert just some engineering process/hygiene? - https://github.com/golangci/golangci-lint

@pmengelbert pmengelbert force-pushed the initial-conformance-test branch 3 times, most recently from 778901d to 303f076 Compare January 17, 2020 19:18
@pmengelbert
Copy link
Contributor Author

@jdolitsky, @pmengelbert just some engineering process/hygiene? - https://github.com/golangci/golangci-lint

@rchincha Thanks Ram, I'll look into it

@pmengelbert pmengelbert reopened this Jan 17, 2020
Added new conformance directory in the project root, with a number of
test files written in Go. Tests can be compiled by running `go test -c`
in the conformance directory and executing the created conformance.test
file.

In order for the tests to run, registry providers will need to set up
certain environment variables with the root url, the namespace of a
repository, and authentication information. Additionally, the OCI_DEBUG
variable can be set to "true" for more detailed output.

The tests create two report files: report.html and junit.xml. The html
report is expandable if more detailed information is needed on failures.

Related to opencontainers#24

Signed-off-by: Peter Engelbert <[email protected]>
@pmengelbert pmengelbert force-pushed the initial-conformance-test branch from 303f076 to 822d3a0 Compare January 17, 2020 19:44
@pmengelbert
Copy link
Contributor Author

@jdolitsky @vbatts Thanks for the feedback -- I force-pushed an update with the requested changes.

@jdolitsky
Copy link
Member

LGTM, especially for first pass. Would love to get merged so others are able to collaborate.

@vbatts
Copy link
Member

vbatts commented Jan 20, 2020

i like it.
I've run it against local registry and get the output I expect.
and built as go test -c && ./conformance.test

@vbatts
Copy link
Member

vbatts commented Jan 20, 2020

LGTM

Approved with PullApprove

@jzelinskie
Copy link
Member

jzelinskie commented Jan 20, 2020

LGTM!

We should probably follow up with an issue that'll cover adding some basic gofmt lint checking to travis as well.

Approved with PullApprove

@jdolitsky
Copy link
Member

@jzelinskie opened #83 to track CI stuff

@tianon
Copy link
Member

tianon commented Jan 22, 2020

Talked about this on the (very short) call today a little, but as someone who's written ad-hoc registry clients in several languages (including several in Bash), what impressed me most about this was how short and readable all of these tests are. I'm not a maintainer on this repo (so can't help with the merge), but I love how they read so closely to how the spec does and I feel like I can clearly tell what each one is testing. 👍 ❤️

@vbatts vbatts merged commit 668a6a9 into opencontainers:master Jan 22, 2020
@caniszczyk
Copy link
Contributor

Wohoooo!

@jdolitsky jdolitsky deleted the initial-conformance-test branch March 25, 2020 20:15
@vbatts vbatts mentioned this pull request Sep 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants