test(m9): collapse ArgyllRunner waits under ICCERY_UI_TESTING #141
Closed
opened 2026-09-12 16:50:45 +01:00 by gronod
·
0 comments
No Branch/Tag Specified
main
milestone/m9-monterey
feat/119-debug-disable-lib-validation
feat/117-static-iccerycore
feat/115-assertisolated-swift57
feat/113-printtask-defer-swift57
feat/111-stage4-viewbuilder-limit
feat/109-ci-xcodegen-pin
feat/m9-slice4-state-and-views
feat/m9-slice3-xctest-async-stateful
feat/m9-slice2-xctest-core-pure
feat/m9-slice1-config-and-core-syntax
develop
milestone/m8-consolidation
feat/80-process-run-notice-consolidation
feat/79-runner-loop-contract-tests
feat/86-args-builder-completion
feat/84-process-manager-edge-contracts
feat/83-calibration-profile-contracts
feat/82-preset-mapping-contracts
feat/81-json-store-contracts
v2.0.0-monterey
v2.0.0-pre2-grok
v2.0.0-pre1
Labels
Clear labels
Bug/Architecture
Bug/Backend
Bug/DevOps
Bug/UI
Compat/Breaking
Feature/Architecture
Feature/Backend
Feature/DevOps
Feature/UI
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Project/ICCery-v2
Core / wizard / process infra defect
Argyll orchestration, file/data defect
Build, packaging, CI defect
Views, controls, dialogs defect
Breaking change that won't be backward compatible
Core / wizard / process infra
Argyll orchestration, file/data engines
Build, packaging, CI
Views, controls, dialogs
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
ICCery v2 Mac rewrite
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: gronod/iccery-v2-mac#141
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Two polling/wait intervals in
ArgyllRunner(ICCeryCore) exist only to give real hardware time and add up across the ~40 UI-test launches:ensureNotRunningpoll —Packages/ICCeryCore/Sources/ICCeryCore/Argyll/ArgyllRunner.swift:203— 100ms per attempt, up to 30 attempts, fires on every tool re-run via the duplicate-id guard (#50/#52).ArgyllRunner.swift:595— 500msTask.sleepafter sendingq\nbefore kill. No current UI test setsMOCK_CHARTREAD_MODE=xy, so this is future-proofing at zero risk today.Change
Add a DEBUG-gated helper that reads the existing
ICCERY_UI_TESTING=1env var (same convention asAppPaths.testRootinPackages/ICCeryCore/Sources/ICCeryCore/Paths/AppPaths.swift:54-71) and shrinks these intervals ~10x under tests:Apply at the two sites:
Task.sleep(nanoseconds: Self.testAwareDelay(100_000_000))and...Self.testAwareDelay(500_000_000).Release builds compile the
#if DEBUGbranch out entirely — zero production impact. No mutable static state (env read per call).Acceptance
ICCERY_UI_TESTINGbuilds).Scope
Packages/ICCeryCore/Sources/ICCeryCore/Argyll/ArgyllRunner.swiftonly.Sources/ICCery).