harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@gmail.com>
Subject Re: [general] JUnit consistency, practices
Date Sun, 24 Dec 2006 23:08:11 GMT
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