Hi Gary,

On Fri, 9 Aug 2024 at 13:18, Gary Gregory <garydgreg...@gmail.com> wrote:
> I use Eclipse to create PRs for projects like Jetty 12 which has 200+ Maven
> modules. How is this not a problem there?

I don't see any `module-info.java` file in Jetty tests. Are they even
running tests on the module path?

> In Commons, we use the Moditect plugin to generate the JPMS junk, no
> problems. No need for the insanity of special test projects.

With Moditect you have the same problem: you test on the classpath and
everything is fine, but a JPMS user might encounter problems.
The issue that convinced me we need a separate test project is #2814.
Our tests never caught this problem.

Remark that I am not talking about moving all tests to a separate project:

* it is insane to run Unit tests on the modulepath, since we must
break its encapsulation. In our case it is even impossible: the unit
tests in `log4j-api-test/src/test` depend on `log4j-api` +
`log4j-api-test/src/main` test fixtures.
If we patch the `org.apache.logging.log4j` module with the unit tests
(this is the usual way to do unit tests in JPMS), there will be a
recursive dependency between the module from `log4j-api` and the
module of the test fixtures `log4j-api-test`.
* only simple integration tests should go to a separate repo. These
tests will verify, e.g., that we can run `log4j-core` without any of
its optional dependencies.

Piotr

[1] https://github.com/apache/logging-log4j2/issues/2814

Reply via email to