Maybe I'm missing a trick here.

Assume I know nothing - this should not be difficult for you guys...

Firstly, can I just confirm one thing.  "QA Tests" and "JTREG Tests"
are not the same thing?  Right, there's are two different sets of
tests.  Or is that wrong?  The more I read through the mail archives
the I get confused and the less I'm sure about that which I once
thought I was sure about.  Or something.

So what I want to do is, on a fresh checkout, write down instructions
on how to get the tests and an IDE working.  So, assume River is
checked out into $RIVER_HOME

cd $RIVER_HOME
ant qa.run

The above appears to work just fine.

Now I want to run a specific test, for example
qa/jtreg/net/jini/url/httpmd/TestEqual.java

Which gives me the following:
$ ant -Drun.tests=net/jini/url/httpmd/TestEqual.java run-tests
Buildfile: build.xml

james-brown:
   [delete] Deleting directory C:\development\projects\River-Fresh\trunk\qa\soul
    [mkdir] Created dir: C:\development\projects\River-Fresh\trunk\qa\soul
    [touch] Creating
C:\development\projects\River-Fresh\trunk\qa\soul\soul.201011231228007289

run-tests:
     [java]
     [java] -----------------------------------------
     [java] CONFIGURATION FILE:
     [java]
     [java]    
C:\development\projects\River-Fresh\trunk\qa\src\com\sun\jini\test\resources\qaHarness.prop
     [java]
     [java] -----------------------------------------
     [java] SETTING UP THE TEST LIST:
     [java]
     [java] Exception in thread "main"
com.sun.jini.qa.harness.TestException: no jar entry found for
net/jini/url/httpmd/TestEqual.java.td
     [java]     at
com.sun.jini.qa.harness.QAConfig.getComponentURL(QAConfig.java:740)
     [java]     at
com.sun.jini.qa.harness.QAConfig.loadProperties(QAConfig.java:897)
     [java]     at
com.sun.jini.qa.harness.MasterHarness.addTest(MasterHarness.java:324)
     [java]     at
com.sun.jini.qa.harness.MasterHarness.addTests(MasterHarness.java:715)
     [java]     at
com.sun.jini.qa.harness.MasterHarness.buildTestList(MasterHarness.java:295)
     [java]     at
com.sun.jini.qa.harness.MasterHarness.<init>(MasterHarness.java:238)
     [java]     at com.sun.jini.qa.harness.QARunner.main(QARunner.java:67)
     [java] Java Result: 1

collect-result:

BUILD FAILED

Which I don't find suprising, the comment in the Ant script clearly
gives a ".td" example as the test to run.

However, I get another classpath-like error, when executing something
sensible, e.g.

$ ant 
-Drun.tests=com/sun/jini/test/impl/discoverymanager/RemoveGroupsLocsDiscard.td
run-tests
Buildfile: build.xml

james-brown:
   [delete] Deleting directory C:\development\projects\River-Fresh\trunk\qa\soul
    [mkdir] Created dir: C:\development\projects\River-Fresh\trunk\qa\soul
    [touch] Creating
C:\development\projects\River-Fresh\trunk\qa\soul\soul.201011231242029028

run-tests:
     [java] Exception in thread "main" java.lang.NoClassDefFoundError:
net/jini/config/ConfigurationException
     [java]     at
com.sun.jini.qa.harness.MasterHarness.<init>(MasterHarness.java:209)
     [java]     at com.sun.jini.qa.harness.QARunner.main(QARunner.java:67)
     [java] Caused by: java.lang.ClassNotFoundException:
net.jini.config.ConfigurationException
     [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
     [java]     at java.security.AccessController.doPrivileged(Native Method)
     [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
     [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
     [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
     [java]     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
     [java]     ... 2 more
     [java] Java Result: 1

collect-result:

BUILD FAILED

Which makes me think that "qa Test" != "jtreg test".  This is
reinforced by looking at the results of a QA build, which don't
mention the word "jtreg" apart from when talking about SVN changes.
E.g.

https://hudson.apache.org/hudson/view/M-R/view/River/job/River-trunk-QA/58/consoleText

Or maybe that build is just a bit to old?

Anyway, so now I want to run the jtreg Ant target in qa/build.xml.  So;

cd $RIVER_HOME/qa
ant jtreg

This gives me:

$ ant jtreg -Djtreg.home=C:\development\projects\River-Fresh\trunk\qa\jtreg
Buildfile: build.xml

jtreg:

BUILD FAILED
C:\development\projects\River-Fresh\trunk\qa\build.xml:181: taskdef
class com.sun.javatest.regtest.Main$Ant cannot be found

Until I put my build.properties back in $RIVER_HOME, which looks like this...

river.home=C:/development/projects/River
jtreg.home=C:/Java/jtreg
jdk1.5.home=C:/Progra~1/Java/jdk1.5.0_13
jtreg.dir=C:/development/projects/River/qa/jtreg

Now I'm back to square one, with the same jtreg compilation errors, namely;

$ ant jtreg
Buildfile: build.xml

jtreg:
     [move] Moving 4 files to
C:\development\projects\River-Fresh\trunk\qa\jtreg\JTlib-tmp
     [move] Moving 1 file to
C:\development\projects\River-Fresh\trunk\qa\jtreg\JTlib-tmp
    [jtreg] --------------------------------------------------
    [jtreg] TEST:
com/sun/jini/action/catchSecurityException/CatchSecurityException.java
    [jtreg] JDK under test: (C:\Progra~1\Java\jdk1.5.0_13)
    [jtreg] java version "1.5.0_13"
    [jtreg] Java(TM) 2 Runtime Environment, Standard Edition (build
1.5.0_13-b05)
    [jtreg] Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode)
    [jtreg]
    [jtreg]
    [jtreg] ACTION: build -- Failed. Compilation failed: exit code 1
    [jtreg] REASON: User specified action: run build CatchSecurityException
    [jtreg] TIME:   0.562 seconds
    [jtreg] messages:
    [jtreg] command: build CatchSecurityException
    [jtreg] reason: User specified action: run build CatchSecurityException
    [jtreg] elapsed time (seconds): 0.562
    [jtreg]
    [jtreg] ACTION: compile -- Failed. Compilation failed: exit code 1
    [jtreg] REASON: .class file out of date or does not exist
    [jtreg] TIME:   0.562 seconds
    [jtreg] messages:
    [jtreg] command: compile
C:\development\projects\River-Fresh\trunk\qa\jtreg\com\sun\jini\action\catchSecurityException\CatchSecurityException.java

    [jtreg] reason: .class file out of date or does not exist
    [jtreg] elapsed time (seconds): 0.562
    [jtreg] STDOUT:
    [jtreg] STDERR:
    [jtreg] 
C:\development\projects\River-Fresh\trunk\qa\jtreg\com\sun\jini\action\catchSecurityException\CatchSecurityException.java:30:
package com.
sun.jini.action does not exist
    [jtreg] import com.sun.jini.action.GetBooleanAction;

Which is very similar to what Patricia was describing here:

http://mail-archives.apache.org/mod_mbox/incubator-river-dev/201007.mbox/%3c4c3c5ad6.6040...@zeus.net.au%3e

So hopefully, I'm just missing that last piece of the puzzle.

The problems I'm having are summarised thus:

1) Cannot run a specific QA test via "ant run-tests"
2) Cannot run any jtreg tests

Patricia, did you ever get to the bottom of the problem you were
facing according to the above mail archive?

Cheers,

Tom



On Tue, Nov 23, 2010 at 11:59 AM, Sim IJskes - QCG <s...@qcg.nl> wrote:
> On 11/23/2010 12:46 PM, Tom Hobbs wrote:
>>
>> Thanks Peter.
>>
>> I've already got the following in my $RIVER_HOME/build.properties
>>
>> river.home=C:/development/projects/River
>> jtreg.home=C:/Java/jtreg
>> jdk1.5.home=C:/Progra~1/Java/jdk1.5.0_13
>> jtreg.dir=C:/development/projects/River/qa/jtreg
>>
>> Note: I haven't checked out into a trunk directory, I've checked out
>> the trunk into projects/River
>
> Actually, you dont need any properties that are not in the repo. Look at the
> hudson-qa build, that should completely self bootstrap when checked out.
>
>
>

Reply via email to