jenkinsci / jenkinsci/cmakebuilder-plugin

[JENKINS-55215] Log from cmake/ctest steps isn't fully captured on OsX

Open
#53 6 comments 0 reactions 0 assignees View on GitHub
component:cmakebuilder-plugin imported-jira-issue pipeline priority:minor resolution:unresolved
Dominant language
Java
Stars
20
Forks
16
PR merge metrics
No merged PRs in 30d

Description

After some updates I've noticed that console isn't showing full log for cmake build and ctest run steps.

"try {

...

cmakeBuild buildDir: ..., cmakeArgs: cmake_params, generator: 'Xcode', installation: '(default)', sourceDir: source_dir, steps: [[args: '--config '+BuildConfiguration+' -- -j 4 -quiet', withCmake: true]]

if (RunTests.toBoolean())


{
ctest arguments: '-C '+BuildConfiguration+' --output-on-failure', installation: '(default)', workingDir: ...
}

} finally {

sh 'umount ${WORKSPACE}/mnt/ThirdParties || true'

}"

I'm attaching examples. In one case there were failing unittests, but 'sh' step is shown in the middle of ctest log. In other cases with successful unittests log is missing last steps and some additional info from ctest.

---
Originally reported by nekto, imported from: Log from cmake/ctest steps isn't fully captured on OsX


  • status: Open
  • priority: Minor
  • component(s): cmakebuilder-plugin
  • label(s): cmake, log, pipeline
  • resolution: Unresolved
  • votes: 0
  • watchers: 2
  • imported: 20260124-160229

Raw content of original issue

After some updates I've noticed that console isn't showing full log for cmake build and ctest run steps.

"try {
...
cmakeBuild buildDir: ..., cmakeArgs: cmake_params, generator: 'Xcode', installation: '(default)', sourceDir: source_dir, steps: [[args: '--config '+BuildConfiguration+' -- -j 4 -quiet', withCmake: true]]
if (RunTests.toBoolean())


{
ctest arguments: '-C '+BuildConfiguration+' --output-on-failure', installation: '(default)', workingDir: ...
}

} finally {
sh 'umount ${WORKSPACE}/mnt/ThirdParties || true'
}"

I'm attaching examples. In one case there were failing unittests, but 'sh' step is shown in the middle of ctest log. In other cases with successful unittests log is missing last steps and some additional info from ctest.

environment

```
Jenkins 2.150.1

CMake plugin 2.6.0

Pipeline 2.6

macOS 10.13.6

Remoting version: 3.27
```

3 attachments

- [log_race.png](https://issues.jenkins.io/secure/attachment/45469/log_race.png)
> ![log_race.png](https://issues.jenkins.io/secure/attachment/45469/log_race.png)
- [log_race2.png](https://issues.jenkins.io/secure/attachment/45468/log_race2.png)
> ![log_race2.png](https://issues.jenkins.io/secure/attachment/45468/log_race2.png)
- [log_race3.png](https://issues.jenkins.io/secure/attachment/45467/log_race3.png)
> ![log_race3.png](https://issues.jenkins.io/secure/attachment/45467/log_race3.png)

Contributor guide

Open the contributing guide

Research direction

Start with the cmakeBuild and ctest pipeline steps, then compare their console output with the attached log_race examples on macOS using the Xcode generator. Reproduce the missing or interleaved output and trace how these steps capture logs. Done means the complete ordered cmake/ctest log, including trailing ctest information, appears without the sh step interrupting it.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.