KhronosGroup / KhronosGroup/SPIRV-Tools
GoogleTest integration doesn't pass 'gn check'
- Dominant language
- C++
- Stars
- 1.4k
- Forks
- 709
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 28
Description
'gn check' verifies header dependencies:
https://gn.googlesource.com/gn/+/master/docs/reference.md#cmd_check
ANGLE implements gn check on its CQ and CI. This is making it difficult to update GoogleTest because SPIRV-Tools uses a custom GN integration with GoogleTest. This custom integration only lists a few sources and doesn't include the header dependencies.
Possible solutions:
a) use the BUILD.gn Chromium uses for GoogleTest. This is mirrored here:
https://chromium.googlesource.com/chromium/src/third_party/googletest/
b) add an option to disable tests in SPIRV-Tools' GN
currently the tests are hidden behind "!build_with_chromium". But this could be a different parameter.
c) update SPIRV-Tools' GoogleTest configs to include headers
a bit more manual labor.
@dneto0 any preference? The easiest solution might be b).
Contributor guide
Research direction
Start by examining SPIRV-Tools' custom GN integration for GoogleTest and the mirrored Chromium BUILD.gn referenced in the issue. Compare the GoogleTest source and header dependencies, then determine which proposed approach is appropriate; done means the ANGLE GN check passes without preventing GoogleTest updates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100