Repository navigation
Description
User Story
I use an OpenShell source checkout on Windows to run the project's MSVC validation. Running windows:lint:x64 directly encountered a compile error in the MXC driver's test helper, so I cannot complete Windows lint or reach the test step.
Problem Statement
MxcComputeBackend::new now requires (gateway_name, config), but the test-only MxcComputeBackend::new_mocked helper still calls Self::new(config) in crates/openshell-driver-mxc/src/driver.rs:458. The Windows lint task includes all targets, so it compiles this #[cfg(test)] call and fails with E0277 and E0061.
Impact / Why This Matters
The current OpenShell source cannot complete Windows MSVC lint on x64; the same test target is part of the ARM64 lint task. Validation stops before Windows tests can run. Developers must patch the source locally to continue, which means the checked-in validation lane cannot confirm unrelated changes.
Acceptance Criteria
- The MXC library test target compiles during Windows MSVC lint on x64 and ARM64 without E0277 or E0061.
- The mocked backend uses a gateway name consistent with the driver's other test constructors.
- The Windows MSVC test steps can run after lint passes.
Reproduction Steps
- Check out OpenShell
mainat71c3cd957abef062eb7f37010056717cd49f2ed3on a Windows machine with the repository's MSVC prerequisites. - Run
mise run --skip-tools windows:lint:x64. On a native ARM64 machine, usewindows:lint:arm64. - Observe the compile errors at
crates/openshell-driver-mxc/src/driver.rs:458.
Environment
- OpenShell:
mainat71c3cd957abef062eb7f37010056717cd49f2ed3 - OS: Windows, x64 MSVC validation
- Rust: 1.95.0 from
rust-toolchain.toml - Deployment: none required; this is a source checkout lint failure
Logs
error[E0277]: the trait bound `String: From<MxcComputeConfig>` is not satisfied
--> crates/openshell-driver-mxc/src/driver.rs:458:37
error[E0061]: this function takes 2 arguments but 1 argument was supplied
--> crates/openshell-driver-mxc/src/driver.rs:458:27
458 | let mut backend = Self::new(config);
Investigation
Commit a875add23 in PR #3264 added the gateway-name parameter to MxcComputeBackend::new for ETW event attribution but did not update new_mocked. The MXC implementation is gated to Windows, so non-Windows checks do not compile this call. Other MXC tests already use openshell_core::config::DEFAULT_GATEWAY_NAME when constructing the backend.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
fix(driver-mxc): pass gateway name to mocked backend
fix(driver-mxc): pass gateway name to mocked backend
fix(driver-mxc): pass gateway name to mocked backend
fix(windows): restore MSVC lint for CLI and MXC (NVIDIA#4194)