-
Notifications
You must be signed in to change notification settings - Fork 15
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
feat: add IPIP and TestGroup Metadatas #130
Conversation
972cf33
to
9b35422
Compare
This comment was marked as outdated.
This comment was marked as outdated.
57929ea
to
0a9d68b
Compare
9b35422
to
44b0eaa
Compare
b526505
to
d1c8ff8
Compare
44b0eaa
to
a36fab8
Compare
a36fab8
to
e40a757
Compare
e40a757
to
6303b3f
Compare
@@ -11,6 +12,8 @@ import ( | |||
) | |||
|
|||
func TestTrustlessCarPathing(t *testing.T) { | |||
tooling.LogTestGroup(t, GroupTrustlessGateway) | |||
|
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 define test groups like this
@@ -39,6 +42,7 @@ func TestTrustlessCarPathing(t *testing.T) { | |||
Exactly(). | |||
InThatOrder(), | |||
), | |||
IPIP: IPIP402, |
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 can associate an IPIP to a test, later maybe we'll let users associate to the check itself.
@@ -374,6 +384,9 @@ func TestTrustlessCarDagScopeAll(t *testing.T) { | |||
} | |||
|
|||
func TestTrustlessCarEntityBytes(t *testing.T) { | |||
tooling.LogTestGroup(t, GroupTrustlessGateway) | |||
tooling.LogIPIP(t, IPIP402, "4.2.2") |
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 can associate an ipip + it's section to a group of tests.
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.
IPIPs aren't, in general, that long. I'm not sure if including their section is useful, as they all have more or less the same structure (summary, motivation, design, rationale, etc). Nevertheless, I do like the idea of associating the tests to IPIPs.
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.
💭 It may not be that useful to associate the entire test group to a single IPIP.
IPIPs are usually deltas against existing specs, and there may be IPIPs on top of historical IPIPs too.
We may have such groups in the future, so fine to keep this, but for now a more useful would be to have something like already existing Hint
where specific test case can include a list of IPIPs related to the test.
So far we've beein including IPIP number in the Hint
, having dedicated func for this would allow us to print more meaningful error message with link to specific IPIP at https://specs.ipfs.tech/ipips/
@lidel, @hacdias, @galargh I'm preparing the conformance test suite to generate more advanced dashboards, like the one we find in pinning service compliance and gateway checkers. The goal here is to get your ack on how we'll associate metadata to tests like test groups and IPIPs references. The output looks like this: |
Thank you for prototyping this @laurentsenta I think the main feedback is that IPIPs are too ephemeral to be used as a high level source of truth, avoid mentioning them in high level reports unless they have a dedicated test group. IPIPs describe change to the specs, and should be only mentioned when a specific test case fails. My thinking is:
|
@lidel, thanks for the thorough review and spending the time to clarify! I'll propose a new API to include your feedbacks regarding specs and ipips. Regarding the high-level groups: my intent is to create 2 different concepts, "human-readable groups" metadata, and "specs" metadata.
|
Thanks for sharing. I quickly scanned and saw some of the comments. From looking at https://github.com/ipfs/gateway-conformance/actions/runs/5880695313/attempts/1#summary-15947714091, things standing out:
This is a drive by because I'm interested in the work. I likely won't be able to engage quickly here so don't block on me. |
Contributes to #123
Related comment: https://github.com/ipfs/gateway-conformance/pull/116/files#r1277390949
To implement Dashboards, we introduce:
Example Output: https://github.com/ipfs/gateway-conformance/actions/runs/5880695313/attempts/1#summary-15947714091
Note how the tests are grouped, and how
TrustlessCarEntityBytes
links to the corresponding ipipTodos
Follow-ups