KhronosGroup / KhronosGroup/SPIRV-Tools

GoogleTest integration doesn't pass 'gn check'

Open
#2,382 2 comments 0 reactions 0 assignees View on GitHub
dev:building
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.