harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Wu" <wuyue...@gmail.com>
Subject Re: [classlib][tests] Junit best practice
Date Fri, 27 Oct 2006 08:04:37 GMT
Hi llya,
I think you can try to config CheckStyle to exclude files not opened
in the editor. I believe that will make it faster and avoid oom :)

On 10/27/06, Ilya Okomin <ilya.okomin@gmail.com> wrote:
> Mark, Tony thanks for working with this topic.
> I found it very helpful and necessary for all of us.
>
> Tony, I've played with your add-on to CheckStyle plug-in - it works well !
> I'm going to use it in my Eclipse configuration to check future tests.
>
> PS One thing in Eclipse is quite annoying. Everything works with small
> projects but Eclipse fails with OutOfMemory error to me if I switch
> CheckStyle on in large projects. Did anyone else faced with this error? I
> use Eclipse 3.1.1.
>
> Thanks,
> Ilya.
>
> On 10/27/06, Tony Wu <wuyuehao@gmail.com> wrote:
> >
> > the configure file of CheckStyle in attachment, you can import it to
> > your eclipse plugin
> >
> > On 10/27/06, Tony Wu <wuyuehao@gmail.com> wrote:
> > > On 10/26/06, Mark Hindess <mark.hindess@googlemail.com> wrote:
> > > >
> > > > On 26 October 2006 at 19:16, "Tony Wu" <wuyuehao@gmail.com> wrote:
> > > > > I have scratched out the stand alone rules,
> > > > >
> > > > > should use assertNull,
> > assertEquals\s*\((.*,\s*null\s*|\s*null\s*,.*)\)\s*;
> > > > > should use assertFalse,
> > assertEquals\s*\((.*,\s*false\s*|\s*false\s*,.*)\)\s*
> > > > > ;
> > > > > should use assertTrue,
> > assertEquals\s*\((.*,\s*true\s*|\s*true\s*,.*)\)\s*;
> > > > > last argument should not be a constant,
> > > > >
> > assertEquals\s*\(.*,\s*("[^"]*"|'[^']'|[+-]?\d+[0-9a-fA-FLlPp]*|[A-Z_]*)\s*\)
> > > > > \s*;
> > > > > always true/false, assert(False|True)\s*\(\s*(false|true)\s*\)\s*;
> > > > > multiple assertion, assertTrue\s*\(.*\&\&.*\)\s*;
> > > > > multiple assertion, assertFalse\s*\(.*\|\|.*\)\s*;
> > > > > should use assertNull,
> > assertTrue\s*\((.*==\s*null\s*|\s*null\s*==.*)\)\s*;
> > > > > should use assertTrue,
> > assertTrue\s*\((.*==\s*true\s*|\s*true\s*==.*)\)\s*;
> > > > > should use assertFalse,
> > assertTrue\s*\((.*==\s*false\s*|\s*false\s*==.*)\)\s*
> > > > > ;
> > > > > should use assertNotNull,
> > assertTrue\s*\((.*!=\s*null\s*|\s*null\s*!=.*)\)\s*
> > > > > ;
> > > > > should use assertFalse,
> > assertTrue\s*\((.*!=\s*true\s*|\s*true\s*!=.*)\)\s*;
> > > > > should use assertTrue,
> > assertTrue\s*\((.*!=\s*false\s*|\s*false\s*!=.*)\)\s*;
> > > > > should use assertFalse, assertTrue\s*\(\s*!.*\)\s*;
> > > > > should use assertFalse, assertTrue\s*\("[^"]*"\s*,\s*!.*\)\s*;
> > > > > should use assertNotNull,
> > assertFalse\s*\((.*==\s*null\s*|\s*null\s*==.*)\)\s
> > > > > *;
> > > > > should use assertFalse,
> > assertFalse\s*\((.*!=\s*true\s*|\s*true\s*!=.*)\)\s*;
> > > > > should use assertTrue,
> > assertFalse\s*\((.*!=\s*false\s*|\s*false\s*!=.*)\)\s*
> > > > > ;
> > > > > should use assertNull,
> > assertFalse\s*\((.*!=\s*null\s*|\s*null\s*!=.*)\)\s*;
> > > > > should use assertFalse,
> > assertFalse\s*\((.*==\s*true\s*|\s*true\s*==.*)\)\s*;
> > > > > should use assertTrue,
> > assertFalse\s*\((.*==\s*false\s*|\s*false\s*==.*)\)\s*
> > > > > ;
> > > > > should use assertEquals, assertTrue\s*\(.*==.*\)\s*;
> > > > > should use assertEquals, assertTrue\s*\(.*\.euqals.*\)\s*;
> > > >
> > > > There's a typo in that last one.
> > > :p
> > > > But be careful with these.  For
> > > > example, the second last rule will match things like:
> > > >
> > >
> > >  modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java:
> > > >    assertTrue("Wrong bytes", in.read() == 6 && in.read() == 7);
> > > Oh, I know why you used [^|&] now.
> > >
> > > My problem is that the CheckStyle can not do multi-step check,  so I
> > > have to write rules in one line regexp. For one line regex, there are
> > > many restrictions. It should only be used for assisting manual check.
> > > Your script is better and stricter for auto fixing:)
> > >
> > > I tried assertTrue\s*\(.*(?===)&(?!true|false|null).*\)\s*; to match a
> > > string which have == and does not have true, false and null, but it
> > > did not work:(
> > > I know you are a regexp guru, do you have some tricks or tips to make
> > > one line regexp match more accurate?
> > >
> > > >
> > > > which is why the regular expressions in my script are a little
> > stricter
> > > > (that is not using .* but a character class to avoid catching complex
> > > > cases).
> > > >
> > > > > any comments?
> > > >
> > > > If you fix any automatically, please check them over manual unless you
> > > > are really, really sure the fixes are not breaking anything.
> > >
> > > hmm...I decided to do it manually...
> > > >
> > > > Regards,
> > > >  Mark.
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Tony Wu
> > > China Software Development Lab, IBM
> > >
> >
> >
> > --
> > Tony Wu
> > China Software Development Lab, IBM
> >
> >
> >
>
>
> --
> --
> Ilya Okomin
> Intel Enterprise Solutions Software Division
>
>


-- 
Tony Wu
China Software Development Lab, IBM

Mime
View raw message