Guillaume, Thomas, thanks for the feedback.

Here, I think we are at a crossroad:
- some of the tests are pure unit tests (and generally don't require TC)
- some other tests are integration tests (and may require some more environment, which may mean TC)

I understand the need of having to check that SSHd is working in different envs, I have the exact same issue at ApacheDS, where I need to generate packages for Windows, MacOS, Linux (debian and RH). I can't do that anymore on my mac, due to the deprecation fo some of the tools by Apple.
Bottom line, I had two possibilities:
- using a Docker image locally to generate those packages
- or leaving the burden to the CI (my current choice)

What bothers me is that the default tests are now taking 25+ minute son my CoreI9 pretty fast machine, when it was just eating 5 mins more or less a few releases back.

Not that I'm running those tests frequently - I just do my duty as a PMC member when a release is called for (and as a side note, I wish all the PMC members do the same for the other MINA projects ;-) - but I'm afraid that with such long tests, committers will start committing before having ran tests.

In any case, it's not my decision to make, and I'm just offering my perception. Maybe it would be a valid option, as suggested by Guillaume, to split the tests into 2 categories, as explained at the top of my response, and having the integration ran by the CI only, unless specifically asked for through a profile or a parameter (like a -DintegrationTests for instance)

Your call, really. I can perfectly live with the current tests requiring TC, I have Docker installed on my machine. Maybe document this requirement somwehere could be a good option too (a BUILD_README.txt for instance?)

Anyway, thanks, and congrats for the release :-) !

On 17/10/2023 08:03, Guillaume Nodet wrote:
Le lun. 16 oct. 2023 à 22:02, Thomas Wolf <tw...@apache.org> a écrit :

On 16.10.23 01:04 , Emmanuel Lécharny wrote:

My main concern is that we now need to install Docker to get the test
passing, due to the usage of TestContainer. I don't really like it, the
build should be self-supported.

The use of TestContainers isn't new.

Add to that it took 25mins to ran the tests. TC is clearly slowing down
the whole tests (it takes around 10 s to start a new container):

[INFO] Apache Mina SSHD :: Common support utilits . SUCCESS [01:30 min]
...
[INFO] Apache Mina SSHD :: Core ................... SUCCESS [08:37 min]
[INFO] Apache Mina SSHD :: Mina ................... SUCCESS [03:41 min]
[INFO] Apache Mina SSHD :: Netty .................. SUCCESS [02:56 min]
...
[INFO] Apache Mina SSHD :: SFTP ................... SUCCESS [04:27 min]
[INFO]
------------------------------------------------------------------------


Frankly, I'm not a fan...

Do you know of a better and faster way of testing against different
versions of real OpenSSH (running on different OSes)?

Some of the tests even capture the OpenSSH debug logging and verify that
it indicates certain conditions.


I'm not sure there are other ways.
However, we could split tests between unit tests and integration tests (if
needed) and across different profiles.  Some profiles could only be
activated by default in CI.



Cheers,

    Thomas



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org




--
*Emmanuel Lécharny* P. +33 (0)6 08 33 32 61
elecha...@apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org
For additional commands, e-mail: dev-h...@mina.apache.org

Reply via email to