Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] test package names

Mike, 
This works only partially. If you run such a test as JUnit Plugin Test,
as
we do with the nightly builds, the classloader of the plugin will
prevent
the access. I.e. packages with the same name in different plugins are
treated
as something different.
Markus.

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx]
On Behalf Of Mike Kucera
Sent: Wednesday, December 19, 2007 12:47 AM
To: CDT General developers list.
Subject: [cdt-dev] test package names
Importance: Low

Hi Everyone,

I was just porting a bunch of tests from the C99 preprocessor to the new
CPreprocessor when I realized that maybe the package structure of the
test plugins could be improved. The problem I ran into is that I had a
test that I wanted to apply to the expression evaluator but couldn't
because that class is package-private for the new preprocessor.

There's a common practice that allows tests to have access to
package-private members while still living in a separate directory or
plug-in. Its possible for more than one plug-in to have a package with
the same name and the cool thing is that Java considers them to be
logically the same package.  This means that the tests for a package can
actually live in that package, but in a separate source tree.

Its important to limit the visibility of classes when appropriate, so
for example ExpressionEvaluator should stay package-private. And putting
the tests in the same package allows one to write more tests which is
also very good.

Its probably too much work to change the package structure in the test
plugins at this point. I'm just mentioning this because it might be
something useful to keep in mind going forward. Thoughts?


Mike Kucera
Software Developer
IBM CDT Team, Toronto
mkucera@xxxxxxxxxx

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top