Skip to content

Fix Mac Unit Tests in AR - #20059

Draft
EnterTheArcane wants to merge 6 commits into
o3de:developmentfrom
EnterTheArcane:fix-mac-tests
Draft

EnterTheArcane wants to merge 6 commits into
o3de:developmentfrom
EnterTheArcane:fix-mac-tests

Conversation

@EnterTheArcane

Copy link
Copy Markdown
Contributor

What does this PR do?

Fixes the Mac-Test job on current GitHub-hosted macOS runners and enables it for normal AR runs, not just manual workflow dispatches.

The first blocker was the macOS Qt package linking QtDBus, even though O3DE doesn't use it. This updates Qt to 6.10.2-rev7, built without D-Bus by o3de/3p-package-source#399.

The remaining changes address failures exposed once the tests could launch, including FileWatcher shutdown behavior, named-pipe file-length queries, task tests under limited worker counts, and a SIMD mask implementation that passed on ARM but crashed Windows tests.

A few test changes are worth calling out:

  • The manipulator test now uses a pick bound large enough to cover an actual pixel at its configured depth. It still validates both the resulting screen position and world-space translation.
  • Screen/world round trips allow up to two pixels of rounding error. Integer screen coordinates produced an observed two-pixel difference at a viewport corner.
  • Signed BC4/BC5 formats are removed from a generic color-compression loop and covered by dedicated production-compressor tests instead.
  • The PhysX vertex comparison now matches the unordered vertex sets within the existing tolerance rather than relying on unstable lexicographic sorting.
  • A few focus-transition tests still use the deprecated QApplication::setActiveWindow. The warning suppression is scoped to those calls. I left a note to refactor the tests so we can remove it later.

How was this PR tested?

  • Built the affected Profile targets with unity disabled and three parallel build workers.
  • Passed the complete AzCore, AzToolsFramework, EditorLib, ImageProcessingAtom.Editor, and AtomToolsFramework test suites.
  • Verified the updated Qt package has no QtDBus linkage and has valid signatures.

AR will cover Windows and Linux. The previous Windows failure was traced to the SIMD mask aliasing and was replaced with the platform SIMD integer-load and bit-cast APIs.

Update platform-sensitive test setup and affected implementations for current macOS and Qt behavior while retaining cross-platform correctness.

Use portable SIMD masks, deterministic focus handling, and targeted signed image compression coverage.

Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
…al and add unit test for named pipe case

Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
… transitions

Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
@EnterTheArcane
EnterTheArcane requested review from a team as code owners August 31, 2026 00:13
Construct the masks through the SIMD API instead of loading them from function-static arrays. This removes the storage and alignment behavior associated with the VectorN constructor crash under MSVC.

Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com>
@byrcolin byrcolin added sig/content Categorizes an issue or PR as relevant to SIG Content. sig/core Categorizes an issue or PR as relevant to SIG Core labels Sep 1, 2026
@EnterTheArcane
EnterTheArcane marked this pull request as draft September 4, 2026 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sig/content Categorizes an issue or PR as relevant to SIG Content. sig/core Categorizes an issue or PR as relevant to SIG Core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants