You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Peter Firmstone (JIRA)" <ji...@apache.org> on 2009/05/06 00:05:30 UTC

[jira] Updated: (RIVER-304) Reactivate River jtreg tests

     [ https://issues.apache.org/jira/browse/RIVER-304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Peter Firmstone updated RIVER-304:
----------------------------------

    Attachment: JTwork-jdk5-qatests-trunk.tgz
                JTreport-jdk1.5-qatests-trunk.tgz

the jtreg tests exist in two source trees in the River project:

1. in the old qatests trunk

2. In the main River trunk branch under river/jtsk/trunk/qa/jtreg, that Jonathan and Tom recently moved the QA tests.

The maximum nuber of jtreg tests that pass on my system 104, the number that fail: 34

The failed tests over and above those explained by Peter Jones appear to be related to the http server ClassServer

I have tested this on my system with JDK 1.4.2, JDK1.5 and JDK1.6 with the similar results.

I set up a symbolic link from /vob/jive to /opt/src/river/trunk so the ClassServer can serve up the required lib jar files.  When trying to download one of these files manually from ClassServer I get a 0 byte jar archive.

In the instructions, for building the qa tests, the primary build makefile is missing

5. BUILD - the qa tests

     > cd ~/river/qatests/trunk/source/vob
     > make clean (optional)
     > make
     > make jars

There is another ClassServer.java source file in qatests/trunk/source/vob/tools/src/com/sun/jini/tool
This is almost identical to that in the jtsk, they share the same namespace com.sun.jini.tool the only differences are in comments and one import statement.

Here's a diff output of the two classfiles

diff ClassServer.java /opt/src/River/jtsk/trunk/src/com/sun/jini/tool/ClassServer.java
34d33
< import java.net.URL;
119c118
< * % java -jar <var><b>install_dir</b></var>/lib/classserver.jar
---
> * % java -jar <var><b>install_dir</b></var>/lib/classserver.jar \
123c122
< * is the directory where the starter kit is installed.
---
> * is the directory where the Apache River release is installed.
131,132c130,131
< * % java -Djava.security.policy=<var><b>start_policy</b></var>
< * -jar <var><b>install_dir</b></var>/lib/start.jar
---
> * % java -Djava.security.policy=<var><b>start_policy</b></var> \
> * -jar <var><b>install_dir</b></var>/lib/start.jar \ 

> Reactivate River jtreg tests
> ----------------------------
>
>                 Key: RIVER-304
>                 URL: https://issues.apache.org/jira/browse/RIVER-304
>             Project: River
>          Issue Type: Test
>         Environment: JDK 1.5 or later with jtreg test suite http://www.openjdk.org/jtreg/ 
>            Reporter: Peter Firmstone
>         Attachments: ant.html, jtreg_stdout_errout.txt, JTreport-jdk1.5-qatests-trunk.tgz, JTreport.tgz, JTwork-jdk5-qatests-trunk.tgz, JTwork.tgz
>
>
> From a recent discussion on river-dev:
> Peter Firmstone wrote:
> > Using the GPLv2 version of jtreg is ok as a platform requirement for the tests, we just can't distribute it with River.
> >
> > Peter Jones wrote:
> >> On Tue, Apr 21, 2009 at 06:27:18PM +0200, Jonathan Costers wrote:
> >>  
> >>> Something a bit off-topic: the "jtreg tests" are mentioned in the
> >>> discussion you linked to. How do these differ from the other harness/QA
> >>> tests? I must say I haven't really looked at them deeply, but I did
> >>> notice them and that they are separate from the QA suite ...
> >>> For the moment the source just sits there .. Nothing is even compiled.
> >>> Would you be able to give some pointers?
> >>>     
> >>
> >> Sure.  They are written to be run with "jtreg", the test harness used
> >> for regression & unit tests for Sun's JDK.  These days there is a
> >> version of jtreg available under GPLv2 as part of the OpenJDK project,
> >> here:
> >>
> >>     http://www.openjdk.org/jtreg/
> >>
> >> The use of this test framework in addition to the primary Jini QA
> >> framework is historical: some of the APIs added to version 2.0 of the
> >> Jini starter kit-- such as JERI and the related security model,
> >> preferred classes, the configuration stuff-- were originally developed
> >> for the JDK, mostly under JSRs 76 & 78, and thus their implementations
> >> initially had tests written for the jtreg framework.  When those APIs
> >> and implementations were moved to the Jini starter kit, those jtreg
> >> tests came with them, and some new tests in those areas continued to
> >> be added to this jtreg suite.
> >>
> >> The essential jtreg model is very simple: a test is a tagged class
> >> (source file) with a normal "main" method-- if that method completes
> >> normally, the test passes; if it throws an exception (or times out, or
> >> the JVM crashes...), the test fails.  The jtreg goal was to set a very
> >> low barrier to move standalone test cases or example code into the
> >> framework.  The framework does specify more options and nuances, but
> >> it's still pretty simple overall:
> >>
> >>     http://www.openjdk.org/jtreg/tag-spec.txt
> >>
> >> which is quite nice for some things-- of course it doesn't have
> >> anything like the power of the Jini QA framework for testing of
> >> distributed services, etc.  And the Jini jtreg suite has accreted an
> >> unfortunately somewhat ad hoc infrastructure library of its own, in
> >> the "qa/jtreg/testlibrary" directory.  Also, I think that it still has
> >> a few assumptions about being run within Sun's internal network, like
> >> that certain services (a KDC?) are provided by certain host names.
> >>
> >> You just see source files because the harness is responsible for
> >> building them at test execution time.  The jtreg implementation is
> >> built as a layer on top of the JavaTest framework (a much more complex
> >> test framework used for the JCK among other things), which has the
> >> same build-at-test-execution-time model.  (This is nice in that
> >> breaking the compilation of one test doesn't prevent executing other,
> >> unaffected tests-- each test is isolated all the way to its source.)
> >>
> >> I'm not sure how the GPLv2 status of the jtreg implementation
> >> available through the OpenJDK project affects the ability to use it to
> >> run these tests for River.  A nice aspect of the jtreg model's
> >> simplicity is that the test classes themselves do not need to link to
> >> or otherwise refer to any test framework APIs-- there are no such
> >> APIs.  (In theory each of these tests can be run as is, with the right
> >> class paths and javac & java commands.)  At one time the engineering
> >> lead for the Jini QA harness had prototyped adding support for
> >> jtreg-style tests to the Jini harness, and I think that he had gotten
> >> it more or less working, but that effort was dropped for reasons I
> >> can't recall-- although I would guess that it didn't seem like a
> >> priority at the time because jtreg itself was available internally.
> >>
> >> -- Peter
> >>
> >>   

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.