Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-tck-dev] Jakarta TCK issues with runclient

Hi Scott,

 

Please find below the answers to the summary questions you had posted

 

1)Anyone else seen the harness JVM exiting right away with RC code 3 and no output/trace on why? Any suggestions on how to determine the reason?

>> Are you using a pre-built jakartaee TCK bundle or are you trying to run it directly by cloning the github repository and doing a clean build and run ?

One common reason for runclient returning status code 3, could be if the values of report.dir and work.dir in ts.jte file is wrong or if the paths do not exist. Otherwise it can be due to missing or corrupt testsuite.jtt/testsuite.jtd files. You can run with debug enabled say (ant -debug runclient) to see the exact cause of the failure.

2) Why with Glassfish are we not using runclient interface which leads to the JTHarness's main class but instead a custom RunCTS class to kick off tests? Should we not perhaps re-architect that and follow the same code path as other VIs should use and our documentation states?

>> The run.cts custom ant target is a convenience ant target. It takes care of additional ant targets to be run for specific suites and sets default values for properties. Like for JASPIC suite, it runs enable.jaspic before calling runclient. These instructions are part of the user guide. If you use run.cts target, it takes care of such things internally based on the test area we are running. The source code for RunCTS ant target is available in the below link. You can have a look at it to see what it does. The RunCTS is available only for the JakartaEE TCK bundle and cannot be used for standalone TCKs.

https://github.com/eclipse-ee4j/jakartaee-tck-tools/blob/master/tools/ant-ext/src/com/sun/ant/taskdefs/common/RunCTS.java

I don’t see a reason why other VI’s cannot use it. Though we have not tested it with VIs other than GlassFish. You can try it out with Liberty and see if you face any issues.

3) I think we should have the source available for any classes we have as part of the project and unless I'm mistaken it appears we are missing a lot of the com.sun.ant.taskdefs etc?

>> The source code for these custom ANT tasks is also donated and its available in a separate github repository.

https://github.com/eclipse-ee4j/jakartaee-tck-tools

It contains several additional useful tools used for generating test coverage, custom  ant tasks and other utility scripts etc.

 

 

Regards

Anand

 

From: Scott Highbarger <shighbar@xxxxxxxxxx>
Sent: Friday, March 1, 2019 12:20 AM
To: jakartaee-tck-dev@xxxxxxxxxxx
Subject: [jakartaee-tck-dev] Jakarta TCK issues with runclient

 

Good morning all,

We've been looking into an issue we ran into trying to get the Jakarta TCK working on OpenLiberty. The documentation states to use runclient to execute the tests (in batch mode) but when doing that we are get RC code 3 from Java from the Harness without much clue so far as to what we might be the cause, even with harness trace enabled.

BUILD FAILED
/jakarta/javaeetck/bin/xml/ts.nonleafimport.xml:63: The following error occurred while executing this line:
/jakarta/javaeetck/bin/xml/ts.import.xml:90: The following error occurred while executing this line:
/jakarta/javaeetck/bin/build.xml:168: The following error occurred while executing this line:
/jakarta/javaeetck/bin/xml/ts.top.import.xml:894: Java returned: 3


I suspect our issue is config related, but interestingly it got me comparing our output with a run against Glassfish/RI, which lead me to another issue I think should be brought up.

When the VI is the RI/Glassfish, instead of kicking the tests off though runclient per the TCK documentation it's instead using it's own Ant target run.cts (from the implementation specific Ant script s1as.xml) which ultimately kicks the tests off via the class com.sun.ant.taskdefs.common.RunCTS [see ts.common.props.xml taskdef for runcts]. I could not find any source in the proejct for RunCTS class or any of the com.sun.ant package so could not follow the path further for the RI side. What I'm wondering is why not have the RI's interface into the TCK match what we are documenting and suggesting other VIs use? I.e. runclient instead of the run.cts/runcts and an glassfish specific RunCTS? I also think that the source code for these classes should be included as part of the TCK or otherwise available if we are going to make use of them - but unless I completely missed something I can't find source for that class or any of the others in that package/area?

Out of curiosity and to compare our openliberty output to glassfish I changed the run script to call runclient on a glassfish setup - basically trying to run tests against the RI/GF but using the method outlined in our Readme and the guide. When we try this we see the following error;

+ /jakarta/ri/glassfish5/glassfish/bin/asadmin --user admin --passwordfile /jakarta/admin-password.txt -p 5858 start-domain
Waiting for domain1 to start ....
Successfully started the domain : domain1
domain Location: /jakarta/ri/glassfish5/glassfish/domains/domain1
Log File: /jakarta/ri/glassfish5/glassfish/domains/domain1/logs/server.log
Admin Port: 5858
Command start-domain executed successfully.
+ [[ jaxr == samples ]]
+ [[ securityapi == samples ]]
+ cd /jakarta/javaeetck//bin
+ echo 'ant start.auto.deployment.server > /tmp/deploy.out 2>&1 & '
ant start.auto.deployment.server > /tmp/deploy.out 2>&1 &
+ cd /jakarta/jakartaee-tck/src/com/sun/ts/tests/samples
+ ant runclient
+ ant start.auto.deployment.server
Buildfile: /jakarta/jakartaee-tck/src/com/sun/ts/tests/samples/build.xml
[echo] ts.home = /jakarta/jakartaee-tck/bin/xml/../..
[mkdir] Created dir: /jakarta/jakartaee-tck/classes
[mkdir] Created dir: /jakarta/jakartaee-tck/dist
[mkdir] Created dir: /jakarta/jakartaee-tck/tmp
[mkdir] Created dir: /jakarta/jakartaee-tck/weblib

BUILD FAILED
/jakarta/jakartaee-tck/src/com/sun/ts/tests/samples/build.xml:21: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.nonleafimport.xml:30: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.import.xml:30: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.vehicles.xml:23: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.clientjar.xml:23: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.common.xml:23: The following error occurred while executing this line:
/jakarta/jakartaee-tck/bin/xml/ts.common.props.xml:240: There is no deliverabledir by the name of samples under /jakarta/jakartaee-tck/bin/xml/../../install. Please set deliverabledir in your environment



It looks like - at least without some additional changes you can't run tests against GF/RI using the method we document out of the box? We get the above when trying to run samples, but since it's looking for the install directory, which is new in Jakara vs javaee, it seems to be trying to run the stand alone TCK for samples (which there is not one) vs. running the samples bucket in the main TCK here.

So in summary;

1) Anyone else seen the harness JVM exiting right away with RC code 3 and no output/trace on why? Any suggestions on how to determine the reason?

2) Why with Glassfish are we not using runclient interface which leads to the JTHarness's main class but instead a custom RunCTS class to kick off tests? Should we not perhaps re-architect that and follow the same code path as other VIs should use and our documentation states?

3) I think we should have the source available for any classes we have as part of the project and unless I'm mistaken it appears we are missing a lot of the com.sun.ant.taskdefs etc?













Scott E. Highbarger
[shighbar@xxxxxxxxxx]
Advisory Software Engineer
WebSphere Application Server CTS
IBM Software Group
(303) 773-5264



Back to the top