Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a machine-wide semaphore to lock per-repo when ensuring correct test-proxy is installed #2299

Open
heaths opened this issue Mar 7, 2025 · 0 comments
Labels
Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library. test-reliability Issue that causes tests to be unreliable
Milestone

Comments

@heaths
Copy link
Member

heaths commented Mar 7, 2025

When working on #1955 to resolve #1955, I noticed that Go uses a file lock - though, machine wide for what is otherwise store per-repo - when checking for the right version of test-proxy and during download and extract to avoid contention issues. However, cargo test - like go test - runs tests synchronously and sequentially, so this seems dubious.

I've opened this tracking issue to reference in code and we can consider later. But because files can pose problems if the test process dies (as noted in the Go code as well), I was considering used named pipes on Windows and FIFO pipes on "unix" (macOS and linux) instead.

@heaths heaths added Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library. test-reliability Issue that causes tests to be unreliable labels Mar 7, 2025
@heaths heaths added this to the Backlog milestone Mar 7, 2025
@github-project-automation github-project-automation bot moved this to Untriaged in Azure SDK Rust Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core The azure_core crate Client This issue points to a problem in the data-plane of the library. test-reliability Issue that causes tests to be unreliable
Projects
Status: Untriaged
Development

No branches or pull requests

1 participant