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

Fix some randomly failing Perf.File tests on wasm/aot #2601

Merged
merged 1 commit into from
Sep 8, 2022

Commits on Sep 7, 2022

  1. Fix some randomly failing Perf.File tests on wasm/aot

    On wasm/aot, `System.IO.FileSystem/Perf.File`'s `CopyTo`, `CopyToOverride`, and `ReadAllBytes` benchmarks fail randomly with:
    ```
    ---> System.IO.IOException: The file '/tmp/' already exists.
      at BenchmarkDotNet.Autogenerated.Runnable_48.Run(IHost host, String benchmarkName)
      at System.Reflection.MethodInvoker.InterpretedInvoke(Object , Span`1 , BindingFlags )
      --- End of inner exception stack trace ---
      at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args)
    ```
    
    .. due to `Path.GetTempFileName()` being buggy - dotnet/runtime#73721.
    
    In `SetupReadAllBytes`, we are building the test file path as:
    ```csharp
    _testFilePath = Path.Combine(baseDir, Path.GetTempFileName())
    ```
    
    .. but the `Path.GetTempFileName()` is not appropriate here, as it will
    return a full path, and it will create the file. Instead we can use
    `Path.GetRandomFileName()` which should avoid the underlying issue
    completely.
    
    Fixes dotnet/runtime#74104 .
    radical committed Sep 7, 2022
    Configuration menu
    Copy the full SHA
    23bbc17 View commit details
    Browse the repository at this point in the history