Dependencies declared on the default binary are not visible to unit test suites
- Dominant language
- No language data
- Stars
- 94
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
All implementation dependencies for the binary under test should be visible at compile time (or at the very least link time) for the binary of a unit test suite.
Currently, this isn't the case for dependencies attached directly to the binary under test, e.g. OS specific dependencies.
For example, given:
```
plugins {
id 'cpp-application'
id 'ccp-unit-test'
}
application {
binaries.each {
dependencies.implementation("my.group:some-lib:1.2.3")
}
}
```
Then, linking of the test suite executable fails with missing symbols from 'some-lib'
Contributor guide
Research direction
Start by tracing dependency handling between the cpp-application binary and the cpp-unit-test suite, focusing on dependencies declared directly on the application binary. Reproduce the example with the OS-specific or implementation dependency, then verify that the test suite executable links successfully without missing symbols from some-lib.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100