I believe this case isn't
covered in our process
documentation (at least
that I am aware of). In
the Java EE days, a Fix
would only be allowed by
introduction of an
alternate test. The
rationale being that, some
vendor might have passed
the TCK using the original
test. By following the
'alternate' path, if a
vendor had passed the
original test (even if
they had not submitted
results yet), they could
continue doing so without
impact to their previous
work. New (as well as
existing) vendors could
select from the original
and alternates at their
discretion.
If I recall, we decided
to simply forego the
discussion and inclusion
of the process describing
alternate tests until a
later date since that
wasn't needed, when the
process was originally
codified under the JESP.
Now might be a good time
to consider adding that to
the process text.
The key requirement, in
my opinion being that we
do not know where other
vendors are in their
certification process and
we do not want to
invalidate work done using
a previously released
artifact. Even if it's
just an 'implementation
detail' I don't know that
we can be sure that such a
change would not impose
rework on a vendor
product.
From what I have read on
this, I would recommend
this be added as an
alternate test. The
original and alternate
tests should be resolved
in a later feature release
of the TCK/Specification.
I will discuss the issue
of alternate tests with
the Specification
Committee separately.
Scott, if alternate was
necessary, do you know how
you would go about that?
(I'd think a property in
the TCK config/setup would
be easiest but I'm not the
one writing the code.)
-- Ed
On
7/6/2022 9:37 AM, Scott
Stark wrote:
We
discussed the current
situation in today's
platform TCK call with
the proposed TCK PR
that both removes all
usage of
jakarta.ejb.Remote and
EARs and how that is
problematic because it
introduces failures in
the full platform run.
It was pointed out
that perhaps simply
excluding tests that
won't run on the web
profile could work. I
had thought this could
potentially exclude
all tests, so I just
looked at adding a
test group to any test
using an EAR
deployment, and turned
all remote ejb
interfaces into simple
interfaces. This does
allow the tck to run
and pass on GlassFish
full platform and web
profile:
===============================================
Total
tests run: 149,
Passes: 149,
Failures: 0, Skips:
0
===============================================
[INFO]
Tests run: 149,
Failures: 0, Errors:
0, Skipped: 0, Time
elapsed: 288.889 s -
in TestSuite
[INFO]
Tests run: 149,
Failures: 0, Errors:
0, Skipped: 0
Web
profile with eefull
group excluded:
===============================================
Total
tests run: 100,
Passes: 100,
Failures: 0, Skips:
0
===============================================
[INFO]
Tests run: 100,
Failures: 0, Errors:
0, Skipped: 0, Time
elapsed: 211.601 s -
in TestSuite
[INFO]
Tests run: 100,
Failures: 0, Errors:
0, Skipped: 0
While
a non-trivial number of
tests are excluded, it
is not even the majority
of tests, so perhaps
that is an acceptable
alternative for EE10.
There is a PR for review
on this set of changes
to the concurrency TCK
here:
https://github.com/jakartaee/concurrency/pull/250
Thanks
Scott.
Personally
I think you
should be able
to fix tests,
where the test
is buggy, as
long as the
post-conditions
aren’t
tightened. At
the end of the
day if someone
is affected by
a change and
they fail a
TCK service
release which
they
previously
passed they
can ultimately
raise another
challenge on
the service
release and
get the test
excluded.
Steve
Ok, we discussed this
during the
spec committee
call and it is
not so clear,
so I'll use
this PR as a
test case for
what is
allowed. It is
being raised
to the spec
committee via
email.
OK I’m not that familiar
with the TCK
challenge
process and
service
releases. I
thought we
could only
exclude or
workaround
challenged
tests in a
service
release. I
didn’t realise
we could fix
them.
If we can that’s great.
Steve
Nothing in these changes
violates the
definition of
a service
release to
address a tck
challenge in
the tck
process as far
as I see. They
are not new
tests and the
existing
remote
interface
usage is an
implementation
detail of the
test. The only
time a minor
release is
mentioned in
the tck
process is for
the case of
adding new
tests.
Wouldn’t incorporating a
change of that
magnitude into
TCK require a
new
concurrency
TCK minor
release and
ballot?
I have create a fork of
the
concurrency
project and
update the tck
to only use
local EJBs and
even removed
use of
javax.rmi.RemoteException:
I have build the current
glassfish repo
and run
the appserver/tests/tck/concurrency
project
against a
build of this
version of the
concurrency
TCK. It is
showing no
errors when
run with SE
17. The PR for
this update is
here:
I'm not sure how to test
this against a
web profile
configuration
of glassfish.
Can that be
done from the
appserver/tests/tck/concurrency project?
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev