-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
chore: remove sharness tests ported to conformance testing #9999
Conversation
@lidel @hacdias I created this PR to review what was ported to conformance testing (tests related to Kubo's API or configurations won't be ported for example) and eventually remove duplicate code. There are around 300 test cases over 13 files involved. Are we willing to go through with this and eventually merge? We'll need to implement changes like 3da4e5b in conformance instead. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥳 🎈 🎉
30fc1be
to
27abe8d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @laurentsenta for this herculean effort ❤️
I agree we want to remove duplicates, so we only maintain conformance testing, but there seems to be a set of "duplicates" which I feel we should still keep, because even tho it is a duplicate of gateway conformance test, it is also testing Kubo-specific things like configuration, or some Kubo-specific HTML responses, which we want to remove from conformance at some point.
See comments inline – some examples there, lmk if my thinking is correct, or if we have tests for these elsewhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know we have tests for this in boxo too, but that is not always enough.
Things like dnslink gw: hash column should be a CID link to cid.ipfs.tech
could pass in boxo but be broken in Kubo due to invalid Gateway.PublicGateways
config wiring.
MAybe rename this (and other tests like this) to t0115-gateway-kubo-specific-html-dir-listing.sh
to make it very clear the tests we kept are specific to Kubo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do have them in conformance, for example:
https://github.com/ipfs/gateway-conformance/blob/d921d6259689aca6a75774e31978ea8f88d3a667/tests/path_gateway_unixfs_test.go#L50-L65
(living in ipfs/gateway-conformance#92)
Later we'll implement HTML expectations to remove the Kubo-strings checks (ipfs/gateway-conformance#17).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lidel you thumb's up'ped, but I would like to be 100% sure, is that enough? Would you prefer I restore the file in this PR?
d0b13ac
to
8c4b371
Compare
@lidel last 6 commits are restores for the file you flagged, thanks again for the deep review, let me know if that's all good! |
344090f
to
b6c987c
Compare
Marking this PR ready for review, the failing sharness tests are the same in master. |
Ack, sharness was failing due to unrelated DNS issue – fixed it in https://github.com/protocol/infra/pull/1211. Run out of time today, but will make final look next week (just want to make another pass). |
b6c987c
to
4b3312f
Compare
4b3312f
to
9d1c66d
Compare
ping @lidel as you said you wanted to take one last pass |
59f3e40
to
c0e6f59
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for addressing the feedbackn and once again, for driving this cleanup @laurentsenta ❤️
Merging this sgtm, we keep some bare minimum for most important surface (subdomains, used in Brave and ipfs-companion) + kubo-specific behavior,
but the coverage efforts should happen in https://github.com/ipfs/gateway-conformance.
(I am still a bit anxious we've missed something due to the size of changes, and lose coverage around niche edge case, but merging this is a lesser evil, and a forcing function for all of us to invest time into specs and gateway-conformance 👍 )
Sister PR: ipfs/gateway-conformance#92
To complete the first iteration of conformance testing, I am going through all the tests, double-checking what was ported, and removing duplicate tests.
Tasks