-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
ArC TCKs #31589
ArC TCKs #31589
Conversation
One thing that is perhaps not very nice is that the |
Just a suggestion, but given it is somehow part of the MP effort, maybe we could have the TCK parts in |
I will eventually add a CDI TCK runner with full Quarkus into Maybe I should add both at the same time, but that requires keeping 2 exclusion lists in sync or some way to reuse the same exclusion list on both places. |
This comment has been minimized.
This comment has been minimized.
The sheer number of failures on Windows is because
I admit I never tried the Arquillian adapter on Windows :-) Will take a look. |
independent-projects/arc/atinject-tck-runner/src/test/java/io/quarkus/arc/tck/Spare.java
Show resolved
Hide resolved
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.
Assuming we get the CI to pass, the PR LGTM.
Finally, we won't have to work in two repos to check and fix TCK failures 👍
The JDK 17+ failure is also related.
The failure happens when the TCK asserts that a set of qualifiers ( |
I have a fix for the Windows failures. I'll look at the |
Didn't manage to figure that out before I went AFK today, we can sync on it tomorrow. |
Apparently, a lot of people use the construct `new AnnotationLiteral<MyAnnotation>() {}` to create an annotation literal for a memberless annotation. This is wrong, because the result doesn't implement the annotation interface, as specified by the contract of the `Annotation.equals()` method: > Returns true if the specified object represents an annotation that is logically > equivalent to this one. In other words, returns true if the specified object > is an instance of the same annotation interface as this instance, all of whose > members are equal to the corresponding member of this annotation, as defined below: > [...] Yet, this occurs both in ArC tests and in the CDI TCK. This commit therefore improves the generated `equals()` method of ArC annotation literals for this particular case. If the annotation type has no members, the generated `equals()` method no longer verifies that the other object's class implements the annotation interface. Instead, it verifies that the other object's class implements `java.lang.annotation.Annotation` and that the `annotationType()` classes are equal. This is also what CDI's `AnnotationLiteral` does.
The TCK runner contains a sizeable exclude list. It will shrink over time.
Both problems should be fixed now:
|
The JDK 17 Windows failure is the same as in #31602:
So this clearly is not caused by this PR, but needs looking at. I'll see if I can figure it out, but Config is scary. |
Failing Jobs - Building 603ecfa
Full information is available in the Build summary check run. Failures⚙️ Gradle Tests - JDK 11 Windows #📦 integration-tests/gradle✖
✖
⚙️ JVM Tests - JDK 17 Windows #- Failing: extensions/arc/deployment
! Skipped: devtools/cli extensions/agroal/deployment extensions/amazon-lambda-http/deployment and 428 more 📦 extensions/arc/deployment✖
|
All the failures are known flaky tests, merging this. |
When it comes to |
+10 |
I'll move them in some next PR. |
Thanks! |
Related to #28558