Describe the bug
While Flush does update the contents of the file, allowing other streams to read it later, FlushAsync does not.
To Reproduce
var fs = new MockFileSystem();
var file = fs.FileInfo.New("/file");
await using var first = file.OpenWrite();
await first.WriteAsync(new byte[] { 42 });
await first.FlushAsync();
await using var second = file.OpenRead();
var buffer = new byte[1];
Assert.Equal(1, await second.ReadAsync(buffer));
Assert.Equal(42, buffer[0]);
Expected behavior
Behave identically to the synchronous version, which does successfully pass.
var fs = new MockFileSystem();
var file = fs.FileInfo.New("/file");
using var first = file.OpenWrite();
first.Write(new byte[] { 42 });
first.Flush();
using var second = file.OpenRead();
var buffer = new byte[1];
Assert.Equal(1, second.Read(buffer));
Assert.Equal(42, buffer[0]);
Describe the bug
While
Flushdoes update the contents of the file, allowing other streams to read it later,FlushAsyncdoes not.To Reproduce
Expected behavior
Behave identically to the synchronous version, which does successfully pass.