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