Stepan Mishura wrote:
On 4/11/06, Mark Hindess wrote:

Personally, obviously,  I'd expect people to run the tests before
committing.

However, I notice that since enabling the security tests - which fork
for every test - that the tests take over half an hour to run now on
our Linux build machine.  So I can see why enthusiasm might lead to
people not running all the tests but instead perhaps just running
those from the module you are changing.


I think that this message[1] relates to the problem with running big test
suites. So should we do the similar thing i.e. define which test suites
should be run for each module?

Thanks,
Stepan.

[1]
http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200603.mbox/[EMAIL
 PROTECTED]



Hi Stepan,

We should both define and then automate which test suites get run for changes made to a given module. The dependency information is already there for us in the contents of each module's MANIFEST.MF file. So, to take a recent example which we are all familiar with ;-) , we can see that the java.text package exported from the text module is imported by modules logging, LUNI, security and SQL.

Folks wishing to verify that changes made to a given module do not break other modules should ideally be able to kick off a JUnit run that incorporates all of the tests from the other modules into one test suite. This could either be folded into the existing "run.tests" target of the module's build.xml or else be a separate target like "run.depends.tests" (or similar).
i.e. something like ...

<target name="run.depends.tests">

<mkdir dir="${hy.tests.reports}" />

<junit fork="yes"
forkmode="once"
printsummary="withOutAndErr"
errorproperty="test.error"
showoutput="on"
dir="${hy.text.bin.test}"
jvm="${hy.target}/jre/bin/java">

<jvmarg value="-showversion"/>

<!-- Required by various tests that set security manager etc -->
<jvmarg value="-Djava.security.policy=../../../../support/src/test/resources/config/testing.policy" />

<!-- Required for running the java.net unit tests -->
<jvmarg value="-Dtest.ini.file=../../../../support/src/test/resources/config/localhosttest.ini" />

<env key="JAVA_HOME" value="${hy.target}/jre"/>

<!-- Adding all dependent test bins to the classpath -->
<classpath>
<pathelement path="${hy.text.bin.test}"/>
<pathelement path="${hy.logging.bin.test}"/>
<pathelement path="${hy.luni.bin.test}"/>
<pathelement path="${hy.security.bin.test}"/>
<pathelement path="${hy.sql.bin.test}"/>
<pathelement path="${hy.tests.support.bin}" />
</classpath>

<!-- The DependencyTests suite logically groups the other dependent test suites -->
<test name="tests.text.DependencyTests"
todir="${hy.tests.reports}"
haltonfailure="no" >
<formatter type="xml"/>
</test>
</junit>
</target>


In this scenario the class tests.text.DependencyTests would be a simple logical grouping of the dependent test suites using standard JUnit techniques.
i.e. something like ...

public class DependencyTests {
public static Test suite() {
TestSuite suite = new TestSuite("Dependents on java.text module");
suite.addTestSuite(org.apache.harmony.logging.AllTests.suite());
suite.addTestSuite(org.apache.harmony.luni.AllTests.suite());
suite.addTestSuite(org.apache.harmony.security.AllTests.suite());
suite.addTestSuite(org.apache.harmony.sql.AllTests.suite());
suite.addTestSuite(org.apache.harmony.logging.AllTests.suite());
return suite;
}
}

...and each of the AllTests classes referred to were just a logical grouping of the test cases in that particular module.


I think that such a scheme will be a tremendous convenience to developers as it will increase our confidence that breakages introduced into other modules by changes in a particular module will be caught soon without recourse to running the entire test suite - just the necessary ones.

If we see merit in setting up something like this to run alongside the existing test targets then I will be happy to open the JIRA and create the new Ant targets and test suites.

Best regards,
George

George just commented in a commit message backing out some changes in
text that all the text tests passed even though the changed caused
failures elsewhere.

Regards,
Mark.

On 4/11/06, Geir Magnusson Jr <[EMAIL PROTECTED]> wrote:
Just curious (and this isn't a criticism - I'm just as guilty of not
doing this)...

Don't you run the tests before committing?

geir

George Harley wrote:
Hi,

It *seems* like things started failing after I committed the changes
for
HARMONY-205 last night. I'm looking into this now. If the
investigation
begins to take up too much time I will back the changes out.

Best regards,
George


Stepan Mishura wrote:
The same for me + DatagramChannelTest

Thanks,
Stepan.

On 4/11/06, Mark Hindess wrote:

No.  These:

F

org.apache.harmony.security.asn1.der.DerGeneralizedTimeEDTest.testGeneralizedEncoder
E

org.apache.harmony.security.asn1.der.DerGeneralizedTimeEDTest.testGeneralizedEncoderDecoder01
E

org.apache.harmony.security.asn1.der.DerGeneralizedTimeEDTest.testGeneralizedEncoderDecoder02
F org.apache.harmony.security.asn1.der.DerUTCTimeEDTest.testMt
E

org.apache.harmony.security.x509.PrivateKeyUsagePeriodTest.testEncodeDecode
F java.security.cert.X509CertSelectorTest.testSetPrivateKeyValid
F java.security.cert.X509CertSelectorTest.testMatch
F java.security.cert.X509CertSelectorTest.testClone
F tests.api.java.sql.DateTest.testSetTimelong
F tests.api.java.sql.DateTest.testToString
F tests.api.java.sql.DateTest.testValueOf
F tests.api.java.sql.TimestampTest.testSetNanosint
F tests.api.java.sql.TimestampTest.testToString
F tests.api.java.util.DateTest.test_toGMTString
F tests.api.java.util.DateTest.test_toString

Regards,
Mark.

On 4/11/06, Stepan Mishura <[EMAIL PROTECTED]> wrote:

On 4/11/06, Mark Hindess wrote:

Yes.  I was using the failureproperty mechanism.  Trying to get
this
property propogated back to the top level ant file was what I was
having trouble with.

Using a file as you suggest might help.  I'll give that a try

shortly...

Incidentally, I'm seeing 12 failures and 3 errors on r393111.

 I guess that you have 9 tests from DatagramChannelTest passed. And
12 +

3 =

15 :-)

 (And

there are typos - "mathc" should be "match" - in the failure
messages
for java.security.cert testMatch and testClone.)

I've fixed typo.

Thanks,
Stepan.

Regards,

Mark.

On 4/11/06, Stepan Mishura <[EMAIL PROTECTED]> wrote:

On 4/11/06, Mark Hindess wrote:


Stepan,

I have another build running (but without notifications going to

the

list) that runs:

1) build (with reference jdk)
2) build with what we created with 1)
3) test
4) create classlists and compare with class load data for

applications

   (tomcat, geronimo, continuum, etc.)
5) generate JAPI results

I'd like to fail this build at step 3, but I can't see an easy
way
to

get 'ant -f make/build.xml test' to run all tests and then fail
if
any

of the module test sub-targets had test failures.  I could parse

the

output I suppose, but I'd rather get ant to propagate the junit

tasks

failure property back up to the top level.  I've tried a couple
of
things and none seem to work.  Any suggestions welcome.

 Mark, did you try failureproperty parameter for junit task?
We may add it to ant sub-targets to raise a flag, for example,

create

file "

TESTS.FAILED" in the root,  when tests for some module fail. And
in
the

end

of tests suite run check whether this file exists on not.

Thanks,
Stepan.


Regards,

Mark.

On 4/11/06, Stepan Mishura <[EMAIL PROTECTED]> wrote:

Hi,

I've checked out at morning last updates, built the code base

and

run

the

tests …and there are 24 tests failures!

There are 9 tests failures in
org.apache.harmony.tests.java.nio.channels.DatagramChannelTest–

I

saw

these

failures before from time to time. It seems that tests depend
on
some

race

conditions because they may pass if I rerun them. Paulex, are

these

tests

passing for you?

And there are new 15 test failures.  So now if I'll make a code

update

or a

bug fix how I can be 100% sure that I don't do any regression?

Currently if a commit breaks the Harmony classlib build a

notification

with

subject: "[continuum] BUILD FAILURE: Classlib/linux.ia32" will

be

send

to

harmony-commits mailing list. Is it possible to have the same

for

tests?

I

mean that after completing automatic build the existing
classlib
tests

suite

should be run. If there are failing tests then a report

notification

with

corresponding subject will be send.

Thanks,
Stepan Mishura
Intel Middleware Products Division

--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail:

[EMAIL PROTECTED]

For additional commands, e-mail:

[EMAIL PROTECTED]

--


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:

[EMAIL PROTECTED]

Thanks,
Stepan Mishura
Intel Middleware Products Division



--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]

--

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail:
[EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
Thanks,
Stepan Mishura
Intel Middleware Products Division



--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]

--
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
Thanks,
Stepan Mishura
Intel Middleware Products Division


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Thanks,
Stepan Mishura
Intel Middleware Products Division



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to