Hi David,
thanks for your reply. It's a difficult situation right now, feels a bit
like a "deadlock": No relief for the active rest of the committers
without new and "educated" team members, but no new team members without
additional time invest of the current committers. As with technical
deadlocks, it has to be broken up at some point (even with some small
loss somewhere if there is no other way). So, I'm looking forward if
it's possible to re-activate one of the retired committers. At least to
be available as a kind of "big brother" who can be asked some questions
once in a while when the newbies get stuck somewhere. And, of course, a
short introduction into what/where/when/how.
Just out of curiosity I've started a quick and naive attempt to check
the TCKs on my machine. I actually don't have the time slices to dig
deeper into this, but I wanted to get a feeling of what's coming up if I
decide to get into it.
So I just installed a new WSL ubuntu 22.04 instance (if that won't work,
I would have continued with a dedicated linux VM), installed git and
maven, and followed the instructions on https://github.com/apache/tomee-tck/
It doesn't work out of the box on a fresh ubuntu. "bsdtar" is not
installed in default dist setup. Why bsdtar? Maybe could be changed to
just use GNU tar?
Now, with bsdtar installed, after setup.sh has finished (there is no
setup-tck9.sh, the README.adoc should be adapted), there were no error
messages or warnings, but glassfish-7.0.0-M8 download/unzip wasn't
successful. Don't know why, I've done it manually then. When I have some
more time, I may try to find out where the problem is.
Now, everything seems to be here and I started a first try with the
sample from the README:
./runtests --web tomee-plume
com.sun.ts.tests.ejb30.bb.localaccess.statelessclient
Nice, all tests passed :-)
Then, cheered up from this first success, tried a more comprehensive
test with:
./runtests --web tomee-plume -c com.sun.ts.tests.ejb30
Could run in background during I was doing my daily stuff. Ok, seems
this will take quite a while.... It's already running since 2 hours or
so and I think I will stop it here. Until now, 795 tests passed and 1807
tests failed. So what I learn from this quick shot: Something is not
working correct by now or I have not understood correctly how it works,
because a failed/passed ratio of 2:1 can't be correct. On the other
hand, passing 795 tests with success also means I'm not totally off
track ;-)
Yeah, well, without some educated hints it will take much more time to
correctly get into this. I guess it's only some glitches in my setup, or
I have forgotten something, or I'm just doing it wrong. For me to find
out what's wrong, this could be a long journey and maybe cost me hours
and hours and hours. At this point it would be perfect if there is one
or two persons who can take a look and out of experience say "of course
it's not working, you have to do this and that" or even if they are only
pointing me in the right direction of where to search would already be
helpful.
cu
Jens
Am 21.03.2024 um 18:47 schrieb David Blevins:
On Mar 21, 2024, at 5:54 AM, Jens Zurawski <j...@diegurus.de> wrote:
Another problem is: I'm afraid, I will have to learn quite a bunch of things
before I will be of any real help to the project. Although I'm already doing
some JSF Appliactions my knowledge of the EE universe/specifications is
limited. Up to now it's more cherry picking the stuff I need for my projects.
There is a learning curve that is steep and it does involve an up front
investment of time before you're productive. It can be done, though. There
were four of us who did most the work on the TomEE 1.0 TCK compliance and I was
the only one who had any experience with it due to my time in Geronimo. The
others had to learn after hours from scratch. They did it and were able to
help get tests to pass.
More directly, if only full-time people were able to help there would never
have been a TomEE in the first place.
You absolutely do need someone, however, helping you that is familiar with the
TCKs. We'd need to find someone with that time for anything to be successful,
hence the other conversation. In terms of how much time it takes to get tests
to pass, it's hit and miss. There are usually many easy wins when you're under
80% passing. As you approach the 95% it's harder. Those last few tests at 98%
passing are very hard and you can spend two weeks trying to get one test to
pass.
In all cases it involves you running the test with remote debugging, attaching
with a debugger and stepping through the code over and over and reading through
the specification document to better understand the requirements the test
claims it is asserting. You quickly become deeply familiar with parts of the
code and parts of the spec. That knowledge expands the more tests you work on.
For sanity sake, it's usually best to focus on one section for a while (say
JSF), otherwise it's too much context shifting.
The volume of tests makes it very easy for many people to work in parallel. We
also have a system that can run all the tests in parallel
(https://tck.work/tomee/builds), which is useful only for finding failing tests
that you then can run and debug locally.
The TCK setups themselves are getting far simpler than they were. The legacy
Jakarta EE TCK is a 500mb beast that uses a formerly proprietary testing
framework created in the Sun days. It's not much fun to work with. The setup
for that is here:
- https://github.com/apache/tomee-tck/
Several of the Jakarta EE spec teams have been taking their tests out of the
legacy TCK and have been converting them to JUnit and TestNG, sometimes using
Arquillian. These are far easier to get started with as it's what everyone is
familiar with.
So.... I really would like to contribute to the project, but it may turn out
that eventually I will not have enough time or will fail in understanding all
the EE specifications and their dependencies. And because I know that it will
be additional work for you and the other active contributors to educate me (or
at least give helping hands here and there), I'm hesitating.
Then you'd be in the same boat as everyone else, including me. That's just the
way things go. And it works in reverse as well, it's hard to encourage people
when you know they'll need you and you know you're not available and they'll
probably fail and have their time wasted. Hence the idea of finding a person
who used to contribute and became a committer and see if we can use some brief
sponsorship to get them back on the project in their evening time for a while
to help all of you. We have 34 committers. I bet we can find at least one to
help bootstrap this if we throw something their way.
Short of that idea, we're kind of stuck for the same reasons.
-David