harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [general] JUnit consistency, practices
Date Wed, 27 Dec 2006 00:13:07 GMT
Correct

On Dec 24, 2006, at 6:08 PM, Alexei Zakharov wrote:

> About JUnit and friends. While extracting the pack200 code from the
> archive module I've realized that we still have AllTests.java ( junit
> test suite files ) in many modules. There is also some related code in
> the support/src/test directory. AFAIU it is an old stuff that isn't
> used anymore. Please correct me if I wrong. Shouldn't we do something
> with it? My assumption is that I don't need to recreate this at least
> for the new module since there are modules that currently do *not*
> have AllTests. Thoughts?
>
> Thanks,
>
> 2006/12/22, Oliver Deakin <oliver.deakin@googlemail.com>:
>> Agreed - they cause no harm and may also be useful for others.
>>
>> Regards,
>> Oliver
>>
>> Geir Magnusson Jr. wrote:
>> > My POV is that people don't have to create them, but if someone put
>> > one in because for whatever reason, they found it useful, leave it
>> > alone if it's not getting in the way
>> >
>> > geir
>> >
>> > Alexei Fedotov wrote:
>> >> Folks,
>> >> Have we decided anything consistent about having main() method in
>> >> JUnit tests? I've just created one test. Should I add a main()  
>> method?
>> >>
>> >> Any decision is better than no decision.
>> >>
>> >>
>> >> On 12/12/06, Oliver Deakin <oliver.deakin@googlemail.com> wrote:
>> >>> That's great, thanks Sveta. Yes, I think this is definitely
>> >>> something to
>> >>> add to the main
>> >>> website eventually - a full set of instructions (expanding the  
>> current
>> >>> links to mail
>> >>> archives into their complete command lines etc.) would be  
>> really useful
>> >>> for any
>> >>> first time Harmony developer (and some of us longer lived  
>> ones ;) )
>> >>>
>> >>> Regards,
>> >>> Oliver
>> >>>
>> >>> Konovalova, Svetlana wrote:
>> >>> > I've just created the "Running the Classlib Tests" page [1], so
>> >>> that you
>> >>> > could share your experience there :)
>> >>> >
>> >>> > In the future we could add this stuff to the web-site, let's  
>> say,
>> >>> to the
>> >>> > testing page [2], where certain package-specific conventions  
>> are
>> >>> > proposed, but nothing is said about JUnit tests.
>> >>> > What do you think?
>> >>> >
>> >>> > [1] http://wiki.apache.org/harmony/RunningTheClasslibTests
>> >>> > [2] http://harmony.apache.org/subcomponents/classlibrary/ 
>> testing.html
>> >>> >
>> >>> > Best regards,
>> >>> > Sveta
>> >>> >
>> >>> > -----Original Message-----
>> >>> > From: Geir Magnusson Jr. [mailto:geir@pobox.com]
>> >>> > Sent: Wednesday, December 06, 2006 4:32 PM
>> >>> > To: dev@harmony.apache.org
>> >>> > Subject: Re: [general] JUnit consistency, practices
>> >>> >
>> >>> > +1
>> >>> >
>> >>> > Konovalova, Svetlana wrote:
>> >>> >
>> >>> >> IMHO we can start collecting info about running the  
>> classlib tests.
>> >>> >> I suggest to create a new wiki page, let's say, "Running The
>> >>> Classlib
>> >>> >> Tests" and add a link to it front the wiki front page >
 
>> components >
>> >>> >> class library.
>> >>> >> ASA we get the clear picture of this issue and verify all the
>> >>> ways to
>> >>> >> run tests, we'll be able to post this info on the web-site.
>> >>> >> Want do you think?
>> >>> >> I'd be glad to help.
>> >>> >>
>> >>> >> Best regards,
>> >>> >> Sveta
>> >>> >>
>> >>> >> -----Original Message-----
>> >>> >> From: Alexei Zakharov [mailto:alexei.zakharov@gmail.com]
>> >>> >> Sent: Tuesday, December 05, 2006 5:25 PM
>> >>> >> To: dev@harmony.apache.org
>> >>> >> Subject: Re: [general] JUnit consistency, practices
>> >>> >>
>> >>> >> +1 for having the doc. But personally I don't know the way
 
>> how to
>> >>> run
>> >>> >> tests from the particular test class (not to speak of  
>> individual
>> >>> test
>> >>> >> methods) using the current build system. So I don't really
 
>> know what
>> >>> >> exactly should be copy/pasted.  Or you was talking about by-

>> hand
>> >>> test
>> >>> >> invocation cmd mentioned above?
>> >>> >>
>> >>> >> Thanks,
>> >>> >>
>> >>> >> 2006/12/5, Tony Wu <wuyuehao@gmail.com>:
>> >>> >>
>> >>> >>> Agree! When I tried harmony on some applications, I found
 
>> it is
>> >>> very
>> >>> >>> hard to run the test of application mainly because there
 
>> is no
>> >>> >>> instruction for that at all. So I think it is also not
 
>> very easy
>> >>> for
>> >>> >>> user who have interest to run tests of harmony. And a good
>> >>> >>>
>> >>> > instruction
>> >>> >
>> >>> >>> may be good for having many user's help to run harmony
 
>> tests on
>> >>> >>> various platforms.
>> >>> >>>
>> >>> >>> On 12/4/06, Oliver Deakin <oliver.deakin@googlemail.com>
 
>> wrote:
>> >>> >>>
>> >>> >>>> Perhaps some kind of "How To Run The Classlib Tests"
 
>> section on
>> >>> >>>> the website would be useful? (Assuming there isn't
 
>> already one
>> >>> with
>> >>> >>>> this information in) Then none of us would have to
 
>> remember - it
>> >>> >>>> would be right there to copy/paste :)
>> >>> >>>>
>> >>> >>>> Regards,
>> >>> >>>> Oliver
>> >>> >>>>
>> >>> >>>>
>> >>> >>>> Ivan Popov wrote:
>> >>> >>>>
>> >>> >>>>> Alexei,
>> >>> >>>>>
>> >>> >>>>> I agree that it is still possible to run JUnit
tests  
>> from command
>> >>> >>>>>
>> >>> >> line
>> >>> >>
>> >>> >>>>> even without having main() in the code. But I think
it  
>> is easier
>> >>> >>>>>
>> >>> >> to
>> >>> >>
>> >>> >>>>> run test by convenient way
>> >>> >>>>>
>> >>> >>>>>  $ java -cp junit.jar TestClass
>> >>> >>>>>
>> >>> >>>>> rather than in a more complex manner
>> >>> >>>>>
>> >>> >>>>>  $ java -cp junit.jar junit.textui.TestRunner TestClass
>> >>> >>>>>
>> >>> >>>>> Actually, I constantly forget the right spelling
of the  
>> full
>> >>> class
>> >>> >>>>> name for TestRunner class and have to look into
JUnit  
>> doc to
>> >>> >>>>>
>> >>> >> specify
>> >>> >>
>> >>> >>>>> proper name for such a command line. Also, it would
be
>> >>> >>>>>
>> >>> >> inconvenient if
>> >>> >>
>> >>> >>>>> someone runs test from an IDE that does not support
JUnit
>> >>> >>>>>
>> >>> >> environment,
>> >>> >>
>> >>> >>>>> but launches test as a usual Java application.
>> >>> >>>>>
>> >>> >>>>> I don't insist on adding main() to each JUnit testcase,
 
>> but I see
>> >>> >>>>>
>> >>> >> no
>> >>> >>
>> >>> >>>>> reason for removing this functionality from those
test  
>> where it
>> >>> >>>>> already exists.
>> >>> >>>>>
>> >>> >>>>> Thanks.
>> >>> >>>>> Ivan
>> >>> >>>>>
>> >>> >>>>> On 11/29/06, Alexei Fedotov <alexei.fedotov@gmail.com>
 
>> wrote:
>> >>> >>>>>
>> >>> >>>>>> Ivan, Stepan,
>> >>> >>>>>>
>> >>> >>>>>> I personally set +1 for removing main() method.
Any  
>> script or
>> >>> >>>>>>
>> >>> >> command
>> >>> >>
>> >>> >>>>>> line can be trivially modified to launch JUnit
tests  
>> without
>> >>> >>>>>>
>> >>> >> main()
>> >>> >>
>> >>> >>>>>> method: one should just add junit.textui.TestRunner
 
>> class before
>> >>> >>>>>>
>> >>> >> a
>> >>> >>
>> >>> >>>>>> test class name.
>> >>> >>>>>>
>> >>> >>>>>> $ java -cp junit.jar junit.textui.TestRunner
TestClass
>> >>> >>>>>>
>> >>> >>>>>> I'm writing this trivial thing here because
during our  
>> work on
>> >>> >>>>>>
>> >>> >> class
>> >>> >>
>> >>> >>>>>> library test enabling it was FAQ N1 for all
C/C++  
>> developers.
>> >>> >>>>>>
>> >>> >>>>>> Note, any JUnit test won't work without junit.jar
 
>> anyway. If you
>> >>> >>>>>>
>> >>> >> have
>> >>> >>
>> >>> >>>>>> junit.jar, you have a standard test runner,
which is  
>> also quite
>> >>> >>>>>> lightweight.
>> >>> >>>>>>
>> >>> >>>>>> --
>> >>> >>>>>> Thank you,
>> >>> >>>>>> Alexei
>> >>> >>>>>>
>> >>> >>>>>> On 11/29/06, Ivan Popov <ivan.g.popov@gmail.com>
wrote:
>> >>> >>>>>>
>> >>> >>>>>>> -1 for removing main().
>> >>> >>>>>>>
>> >>> >>>>>>> I often run individual tests from command
line or  
>> using scripts
>> >>> >>>>>>>
>> >>> >> and
>> >>> >>
>> >>> >>>>>>> it's easier to launch them as a usual Java
 
>> application. Also,
>> >>> >>>>>>>
>> >>> >> this
>> >>> >>
>> >>> >>>>>>> facilitates creating separate bundle with
test to  
>> attach to a
>> >>> >>>>>>>
>> >>> >> bug
>> >>> >>
>> >>> >>>>>>> report or send to other people, who can
just run it from
>> >>> >>>>>>>
>> >>> >> command line
>> >>> >>
>> >>> >>>>>>> or use script with the all required options
already  
>> specified,
>> >>> >>>>>>>
>> >>> >> instead
>> >>> >>
>> >>> >>>>>>> of setting IDE for this test.
>> >>> >>>>>>>
>> >>> >>>>>>> Thanks.
>> >>> >>>>>>> Ivan
>> >>> >>>>>>>
>> >>> >>>>>>> On 11/29/06, Nathan Beyer <nbeyer@gmail.com>
wrote:
>> >>> >>>>>>>
>> >>> >>>>>>>> There is a large amount of inconsistency
across the  
>> tests and
>> >>> >>>>>>>>
>> >>> >> I'd
>> >>> >>
>> >>> >>>>>> like
>> >>> >>>>>>
>> >>> >>>>>>>> to lobby for cleaning them up as much
as possible.  
>> I'm of the
>> >>> >>>>>>>>
>> >>> >>>>>> opinion
>> >>> >>>>>>
>> >>> >>>>>>>> that test code should be clean, simple
and  
>> transparent. Here
>> >>> >>>>>>>>
>> >>> >> are
>> >>> >>
>> >>> >>>>>> some
>> >>> >>>>>>
>> >>> >>>>>>>> of the more noticeable items that I'd
like to cleanup.
>> >>> >>>>>>>>
>> >>> >>>>>>>> * Empty setUp/teardown methods - There
are a number  
>> of tests
>> >>> >>>>>>>>
>> >>> >> that
>> >>> >>
>> >>> >>>>>>>> override setUp and/or teardown methods,
but are  
>> either empty
>> >>> >>>>>>>>
>> >>> >> or just
>> >>> >>
>> >>> >>>>>>>> call the super implementation.
>> >>> >>>>>>>>
>> >>> >>>>>>>> * Singleton suite methods - There are
some tests that  
>> contain
>> >>> >>>>>>>>
>> >>> >> a
>> >>> >>
>> >>> >>>>>> static
>> >>> >>>>>>
>> >>> >>>>>>>> "suite" method that creates a TestSuite
and adds one  
>> test
>> >>> >>>>>>>>
>> >>> >> (the test
>> >>> >>
>> >>> >>>>>>>> class it's declared in). Are there
any practical uses  
>> for
>> >>> >>>>>>>>
>> >>> >> these
>> >>> >>
>> >>> >>>>>>>> methods? TestSuites are for grouping
together tests  
>> to treat
>> >>> >>>>>>>>
>> >>> >> them as
>> >>> >>
>> >>> >>>>>>>> one unit. Since these suites are just
one test, it  
>> doesn't
>> >>> >>>>>>>>
>> >>> >> seem to
>> >>> >>
>> >>> >>>>>>>> provide much value.
>> >>> >>>>>>>>
>> >>> >>>>>>>> * main method launching text runner
- There are some  
>> tests
>> >>> >>>>>>>>
>> >>> >> that
>> >>> >>
>> >>> >>>>>>>> contain "main" methods which run the
enclosing test  
>> via a
>> >>> >>>>>>>>
>> >>> >> JUnit text
>> >>> >>
>> >>> >>>>>>>> runner. Most IDEs have built-in support
for JUnit and  
>> can
>> >>> >>>>>>>>
>> >>> >> launch any
>> >>> >>
>> >>> >>>>>>>> test arbitrarily and Ant can do the
same thing. Does  
>> anyone
>> >>> >>>>>>>>
>> >>> >> launch
>> >>> >>
>> >>> >>>>>>>> tests via these methods?
>> >>> >>>>>>>>
>> >>> >>>>>>>> My proposal would be to clean up these
 
>> inconsistencies by
>> >>> >>>>>>>>
>> >>> >>>>>> eliminating
>> >>> >>>>>>
>> >>> >>>>>>>> them, but what does everyone else think?
>
>
>
> -- 
> Alexei Zakharov,
> Intel ESSD


Mime
View raw message