[test][ci] MacOS test support#4883
Draft
gamesh411 wants to merge 3 commits into
Draft
Conversation
fc3d34d to
976efeb
Compare
ee2abfd to
09c136a
Compare
6b66186 to
d77eec4
Compare
8 tasks
42d1258 to
a7513ea
Compare
Replace the in-tree multiprocessing compatibility shim with the multiprocess package and select the spawn start method on macOS and Windows (fork remains the default on Linux). Spawned workers do not inherit the parent process state, so the logging configuration is set up explicitly in each worker, but only under spawn to avoid needlessly re-running it for forked workers.
Adapt analyzer and web tests for non-Linux platforms: handle the 'arguments' form of compile_commands.json in tu_collector, resolve symlinked paths in analyzer tests, make blame and OAuth mock-server tests robust, detect server startup by polling, and replace timing-dependent task tests with poll loops. The build-command escaping test only checks that the (escaped) command compiles, so use -fsyntax-only (no linking) and skip it on Windows where Unix shell quoting does not apply.
Run the analyzer, web, and tools suites on macOS (continue-on-error). install-deps-macos.sh installs the toolchain (llvm@14, gcc@13, cppcheck, openldap, bear) and pins the build environment so Homebrew's clang@14 and the macOS SDK cooperate: SDKROOT for platform headers, an arm64-only ARCHFLAGS and an SDK-matched deployment target (so clang@14 and the gcc analyzer's SARIF output work), and Apple clang for pip C extensions (e.g. python-ldap) which clang@14 cannot link against the current SDK.
a7513ea to
b25924a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An umbrella PR to test the MacOS runners. I think I will try to create 3 PRs from the 3 commits we have for an easier review.