Skip to content

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

@heaths

Description

@heaths

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Azure.CoreThe azure_core crateClientThis issue points to a problem in the data-plane of the library.test-reliabilityIssue that causes tests to be unreliable

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions