Karm / mandrel-integration-tests

Integration tests for GraalVM and its Mandrel distribution. Runs Quarkus, Helidon and Micronaut applications and small targeted reproducers. The focus is solely on native-image utility and compilation of Java applications into native executables.
Apache License 2.0
5 stars 3 forks source link

Dump processes' output to standard output in addition to the log file #71

Closed zakkak closed 2 years ago

zakkak commented 2 years ago

Pros:

  1. Makes it easier to detect issues on CI, without having to download the build logs, extract, and look them up.
  2. Makes it easier to see that there is progress and the build is not stuck.

Cons:

  1. Makes the output a bit noisy.
zakkak commented 2 years ago

Converting to draft. It looks like this PR is causing CI to run indefinitely. :eyes:

zakkak commented 2 years ago

The issue causing the stall has been fixed.

The issue was that the new dumpAndLogProcess is blocking, so it can't be used to start a web-server in the background and then start a client to query it. To avoid complicating things, I just don't use dumpAndLogProcess in runCommand, in those cases we just redirecto the output like we did before.

Another issue waiting to pop up was that dumpAndLogProcess didn't have a timeout, so if the underlying process was stuck the whole test would get stuck. This is now fixed by starting a single thread executor service for the dumping and logging with a timeout set.

@Karm this is now ready for you to re-review :)

zakkak commented 2 years ago

ping @Karm

Karm commented 2 years ago

THX @zakkak , I will take a look. I haven't acked it before as I was afraid of what the change does on Jenkins. Gimme a day.