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 <[EMAIL PROTECTED]> wrote:

the configure file of CheckStyle in attachment, you can import it to
your eclipse plugin

On 10/27/06, Tony Wu <[EMAIL PROTECTED]> wrote:
> On 10/26/06, Mark Hindess <[EMAIL PROTECTED]> wrote:
> >
> > On 26 October 2006 at 19:16, "Tony Wu" <[EMAIL PROTECTED]> 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

Reply via email to