Add check-clang-unit, check-llvm-unit with LLVM_WINDOWS_PREFER_FORWARD_SLASH enabled on llvm-clang-x86_64-win-fast bot#856
Add check-clang-unit, check-llvm-unit with LLVM_WINDOWS_PREFER_FORWARD_SLASH enabled on llvm-clang-x86_64-win-fast bot#856Jwata wants to merge 2 commits into
Conversation
Add MergedEnv class to zorg/buildbot/process/properties.py to support merging runtime-resolved environment variables (Properties) with step-specific overrides. Update addNinjaSteps in zorg/buildbot/builders/UnifiedTreeBuilder.py to accept advanced check configurations (dictionaries) with environment overrides and name suffixes, utilizing MergedEnv. TAG=agy CONV=a6ee1ccc-7c38-4bdf-b088-f962c0b3ba01
…verride Configure llvm-clang-x86_64-win-fast builder to run its unit tests twice: once with default settings, and once with LLVM_WINDOWS_PREFER_FORWARD_SLASH=1 override, utilizing the new advanced checks support. TAG=agy CONV=a6ee1ccc-7c38-4bdf-b088-f962c0b3ba01
|
Can you provide a non-AI-generated description? |
Hmm, it might be too verbose. I made it concise. PTAL |
|
@boomanaiden154 |
| "check-clang-unit", | ||
| { | ||
| 'target': 'check-llvm-unit', | ||
| 'env_override': {'LLVM_WINDOWS_PREFER_FORWARD_SLASH': '1'}, |
There was a problem hiding this comment.
Why exactly does this need to be passed as an env variable?
It seems like this should just be a CMake option. https://github.com/llvm/llvm-project/blob/56ccbc25315030088b04435e4828efbc22f0e926/llvm/CMakeLists.txt#L638
There was a problem hiding this comment.
This allows us to build only once and run tests twice: the first ones with default, and the second ones with LLVM_WINDOWS_PREFER_FORWARD_SLASH feature, rather than building twice or duplicating the bot.
You need to get approval from the bot's owner. |
I see. Thanks. @gkistanova Could you take a look? |
rnk
left a comment
There was a problem hiding this comment.
Instead of configuring the buildbot level to build the check*unit* targets twice in different environments, I would configure this at the lit test suite level. You can look at the sanitizer tests, which do some matrix testing (re-running the test suite in multiple configurations). They do this in a way that allows you to run all the tests in a single lit invocation, reducing bottlenecks, improving utilization, and reducing cycle time.
You could control that via a cmake option.
|
Thank you for PR @Jwata , but there are few moments:
This test must be fixed before applying that changes on the buildbot configuration.
PS. You can find the owners of the builders on https://lab.llvm.org/buildbot/#/workers page at Admin column. |
This PR enables running
check-clang-unit,check-llvm-unittests twice onllvm-clang-x86_64-win-fastbot: once with default settings (backslash path behavior), and once with the forward slash override enabled (LLVM_WINDOWS_PREFER_FORWARD_SLASH=1).Context & Rationale
There is no test coverage for LLVM_WINDOWS_PREFER_FORWARD_SLASH feature. Adding LLVM_WINDOWS_PREFER_FORWARD_SLASH enabled tests will improve the coverage, so that the change owners can notice test breakages.
It was also discussed to add tests with the flag to an existing bot, rather than adding a new builder.
Key Changes
llvm-clang-x86_64-win-fastwill run the following tests:check-llvm-unit(Default)check-clang-unit(Default)check-llvm-unit-forward-slashes(withLLVM_WINDOWS_PREFER_FORWARD_SLASH=1override)check-clang-unit-forward-slashes(withLLVM_WINDOWS_PREFER_FORWARD_SLASH=1override)Introduces a new check type with
target,env_override,name_suffixto support overriding an environment variable.Questions for reviewers
env_overrideapproach?llvm-clang-x86_64-expensive-checks-winalso duplicate the checks, too?