Repository navigation
CI only: Windows module, test kit and rig - #12
Closed
basal-alfonso[bot] wants to merge 20 commits into
Closed
basal-alfonso[bot] wants to merge 20 commits into
basal-alfonso[bot] wants to merge 20 commits into
Conversation
Use basal-launch for all runtime Windows test-kit commands and worker spawns. Track native process exit and released ownership, sample working sets, and terminate crash parents natively. Restore worker suites and wrapper-stack example; retain only named POSIX fixtures and subcases in the Windows failure evidence. Windows rejects raw relative path components, unlike Unix canonical resolution, so fs assertions now assert the platform contract while keeping the same test names. Keep the rig mutation anchor and every mutation target name unchanged. Native Windows acceptance remains to be measured by the parent-pushed CI run.
# Conflicts: # .github/workflows/ci.yml
Use the public basal-proto limit re-export in native spawns and the direct-launch test. Bundle SQLite for the standalone Windows rig test rather than depending on a missing sqlite3.lib. Give the Unix-only tamper result an explicit Option type so the Windows untampered variant also compiles.
Keep Unix dotdot canonicalization assertions and assert Windows raw relative-component refusal instead, preserving the approved-repository positive control and all test names. Build relative-component fixtures with native separators. Construct Windows temporary-file leases with the same drive-path spelling as the write and its roots: expanding the runner temp directory short-name alias only in the lease made the fixture inconsistent.
… context names # Conflicts: # evidence/windows-build-failures.md
…le entry basal-rig gained a Windows-only windows-sys dependency, which moved the lockfile lines this control's edit anchors on.
Native run 38081004388 leaves one test-kit failure: Windows rejects raw dotdot components with invalid_arguments before resolution, while Unix resolves and returns denied for the escaped target. Preserve the existing no-host-dispatch, rejected settlement and audit/privacy claims; only assert the platform-specific refusal diagnostic for that one call. No test name or catalogue anchor changes.
Use separate native path components when building the isolated module image path: a slash-containing join could never match QueryFullProcessImageNameW output. Add a Windows PID positive control using the current image and an absent-image negative control, so the new process-discovery path cannot pass only by returning None.
Check the constructed image locator against a literal native spelling as well as the live snapshot. Path equality normalizes separators, while the process finder compares image strings, so an OsStr assertion is needed to catch the slash-containing join regression itself. Keep test items last for native clippy.
Run 38083395906 passes the diagnostic, no-dispatch and rejected-settlement checks but exposes the same Windows invalid_arguments diagnostic in the audit row. Assert that exact platform-specific refusal kind for the malformed escape, preserving allowed/denied labels for the other calls and the unchanged privacy/digest checks.
The full native workspace check in run 38085859495 reached a Windows-private repo function returning a non-public PinnedDirectory in this integration test. Use public git::run(RevParse) to test identical outside/missing refusals on both platforms without exposing the implementation capability type. Log this integration target separately in the Windows baseline so workspace failures cannot conceal it.
Author
|
Closing: its contents are merged on the integration/windows branch. |
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.
CI-only draft for native Windows runs of the combined Windows slices. It targets integration/windows because main has moved on and conflicts. Not for merging.
Summary by cubic
CI-only draft that enables native Windows runs of the module, test kit, rig, and host regression suites; targets
integration/windowsand is not for merging. Windows child processes now spawn and are owned throughbasal-launchinstead ofstd::process::Command, so the worker and module suites build and run on Windows.Windows spawns and process ownership
spawn_lockwhile its handles are inheritable, so no concurrent spawn can copy another child's handle;spawn_plainstarts unconfined children (fixtures, helper tools) under the same rules.basal-launch; confinement-fault deaths are counted separately inCONFINEMENT_FAULT_DEATHS, matching Unix SIGSYS accounting.basal-testkitandbasal-rignow track native process exit and released ownership, sample working sets, and terminate crash parents natively; reaping assertions observe a signaled process handle.basal-testkit,basal-rig, andbasal-hostregression test jobs alongside the module job.Tests and fixtures
git::run(RevParse)surface so the Windows-private repo capability type stays out of integration tests.fstests assert platform-specific path behavior: Windows refuses raw..components withinvalid_arguments, Unix resolves and denies them.#[cfg(unix)]gated and listed inevidence/windows-build-failures.md; remaining assertions in mixed tests still run.cortexkit-storeis bumped to=0.2.4for Windows store support.Written for commit 79819d1. Summary will update on new commits.