Skip to content

Commit 8d40d64

Browse files
authored
Merge pull request #180 from AArnott/updateSdk
Update .NET Core SDK to 3.1.201
2 parents 22024bf + ea7cb5c commit 8d40d64

13 files changed

+38
-20
lines changed

azure-pipelines/artifacts/coverageResults.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ $RepoRoot = [System.IO.Path]::GetFullPath("$PSScriptRoot\..\..")
33
# Prepare code coverage reports for merging on another machine
44
if ($env:SYSTEM_DEFAULTWORKINGDIRECTORY) {
55
Write-Host "Substituting $env:SYSTEM_DEFAULTWORKINGDIRECTORY with `"{reporoot}`""
6-
$reports = Get-ChildItem "$RepoRoot/bin/coverage.cobertura.xml" -Recurse
6+
$reports = Get-ChildItem "$RepoRoot/bin/coverage.*.cobertura.xml" -Recurse
77
$reports |% {
88
$content = Get-Content -Path $_ |% { $_ -Replace [regex]::Escape($env:SYSTEM_DEFAULTWORKINGDIRECTORY), "{reporoot}" }
99
Set-Content -Path $_ -Value $content -Encoding UTF8
@@ -16,7 +16,7 @@ if (!((Test-Path $RepoRoot\bin) -and (Test-Path $RepoRoot\obj))) { return }
1616

1717
@{
1818
$RepoRoot = (
19-
@(Get-ChildItem "$RepoRoot\bin\coverage.cobertura.xml" -Recurse) +
19+
@(Get-ChildItem "$RepoRoot\bin\coverage.*.cobertura.xml" -Recurse) +
2020
(Get-ChildItem "$RepoRoot\obj\*.cs" -Recurse)
2121
);
2222
}

azure-pipelines/publish-codecoverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ steps:
1515
dotnet tool install --tool-path obj dotnet-reportgenerator-globaltool --version 4.2.2 --configfile azure-pipelines/justnugetorg.nuget.config
1616
Copy-Item -Recurse $(Pipeline.Workspace)/coverageResults-Windows/obj/* $(System.DefaultWorkingDirectory)/obj
1717
Write-Host "Substituting {reporoot} with $(System.DefaultWorkingDirectory)"
18-
$reports = Get-ChildItem -Recurse "$(Pipeline.Workspace)/coverage.cobertura.xml"
18+
$reports = Get-ChildItem -Recurse "$(Pipeline.Workspace)/coverage.*.cobertura.xml"
1919
$reports |% {
2020
$content = Get-Content -Path $_ |% { $_.Replace("{reporoot}", "$(System.DefaultWorkingDirectory)") }
2121
Set-Content -Path $_ -Value $content -Encoding UTF8

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"sdk": {
3-
"version": "3.0.100"
3+
"version": "3.1.201"
44
}
55
}

src/Nerdbank.Streams.Interop.Tests/Nerdbank.Streams.Interop.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</ItemGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.4.33" />
14+
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.6.13" />
1515
</ItemGroup>
1616

1717
</Project>

src/Nerdbank.Streams.Tests/DuplexPipeTests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ public async Task ReaderOnly()
4040
Assert.Throws<InvalidOperationException>(() => pipe.Writer.GetSpan());
4141
Assert.Throws<InvalidOperationException>(() => duplex.Output.GetSpan());
4242

43-
Assert.Throws<InvalidOperationException>(() => pipe.Writer.Advance(0));
43+
// System.IO.Pipelines stopped throwing when Advance(0) is called after completion,
44+
// But we still feel it's useful to throw since it's a read-only pipe.
45+
pipe.Writer.Advance(0);
4446
Assert.Throws<InvalidOperationException>(() => duplex.Output.Advance(0));
4547

4648
var flushResult = await pipe.Writer.FlushAsync();
@@ -51,8 +53,10 @@ public async Task ReaderOnly()
5153
pipe.Writer.CancelPendingFlush();
5254
duplex.Output.CancelPendingFlush();
5355

56+
#pragma warning disable CS0618 // Type or member is obsolete
5457
pipe.Writer.OnReaderCompleted((ex, s) => { }, null);
5558
duplex.Output.OnReaderCompleted((ex, s) => { }, null);
59+
#pragma warning restore CS0618 // Type or member is obsolete
5660

5761
pipe.Writer.Complete();
5862
duplex.Output.Complete();
@@ -78,8 +82,10 @@ public async Task WriterOnly()
7882
pipe.Reader.CancelPendingRead();
7983
duplex.Input.CancelPendingRead();
8084

85+
#pragma warning disable CS0618 // Type or member is obsolete
8186
pipe.Reader.OnWriterCompleted((ex, s) => { }, null);
8287
duplex.Input.OnWriterCompleted((ex, s) => { }, null);
88+
#pragma warning restore CS0618 // Type or member is obsolete
8389

8490
pipe.Reader.Complete();
8591
duplex.Input.Complete();

src/Nerdbank.Streams.Tests/MultiplexingStreamPerfTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public Task DisposeAsync()
4343
{
4444
this.serverPipe.Dispose();
4545
this.clientPipe.Dispose();
46-
return TplExtensions.CompletedTask;
46+
return Task.CompletedTask;
4747
}
4848

4949
[SkippableFact]

src/Nerdbank.Streams.Tests/MultiplexingStreamTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public Task DisposeAsync()
6565
this.mx1?.TraceSource.Listeners.OfType<XunitTraceListener>().SingleOrDefault()?.Dispose();
6666
this.mx2?.TraceSource.Listeners.OfType<XunitTraceListener>().SingleOrDefault()?.Dispose();
6767

68-
return TplExtensions.CompletedTask;
68+
return Task.CompletedTask;
6969
}
7070

7171
[Fact]
@@ -726,7 +726,7 @@ public async Task ChannelOfferedEvent_Named(bool alreadyAccepted)
726726
Assert.Equal(alreadyAccepted, mx2EventArgs.IsAccepted);
727727

728728
Assert.False(mx1EventArgsSource.Task.IsCompleted);
729-
await acceptTask.WithCancellation(this.TimeoutToken); // Rethrow any exceptions
729+
await acceptTask!.WithCancellation(this.TimeoutToken); // Rethrow any exceptions
730730
}
731731

732732
[Fact]
@@ -1095,6 +1095,7 @@ public override Memory<byte> GetMemory(int sizeHint = 0)
10951095

10961096
public override Span<byte> GetSpan(int sizeHint = 0) => this.GetMemory(sizeHint).Span;
10971097

1098+
[Obsolete]
10981099
public override void OnReaderCompleted(Action<Exception, object> callback, object state)
10991100
{
11001101
// We don't have a reader that consumers of this mock need to worry about,

src/Nerdbank.Streams.Tests/Nerdbank.Streams.Tests.csproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@
1919
<Compile Include="..\Nerdbank.Streams\Utilities.cs" Link="Utilities.cs" />
2020
</ItemGroup>
2121
<ItemGroup>
22-
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.4.33" />
23-
<PackageReference Include="PInvoke.Kernel32" Version="0.5.184" />
24-
<PackageReference Include="StreamJsonRpc" Version="2.0.208" />
22+
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="16.6.13" />
23+
<PackageReference Include="PInvoke.Kernel32" Version="0.6.6" />
24+
<PackageReference Include="StreamJsonRpc" Version="2.3.103" />
2525
<PackageReference Include="xunit" Version="2.4.1" />
26-
<PackageReference Include="xunit.combinatorial" Version="1.2.7" />
26+
<PackageReference Include="xunit.combinatorial" Version="1.3.2" />
2727
<PackageReference Include="xunit.skippablefact" Version="1.3.12" />
2828
<PackageReference Include="xunit.runner.console" Version="2.4.1" />
2929
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
30-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4.0" />
31-
<PackageReference Include="Moq" Version="4.12.0" />
30+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
31+
<PackageReference Include="Moq" Version="4.13.1" />
3232
<PackageReference Include="System.IO.Pipes" Version="4.3.0" />
33-
<PackageReference Include="coverlet.msbuild" Version="2.6.3" />
33+
<PackageReference Include="coverlet.msbuild" Version="2.8.1" />
3434
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="2.2.0" />
3535
<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
3636
</ItemGroup>

src/Nerdbank.Streams.Tests/NestedPipeReaderTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@ public void OnWriterCompleted_NoOps()
191191
{
192192
var sliceReader = this.pipe.Reader.ReadSlice(5);
193193
bool called = false;
194+
#pragma warning disable CS0618 // Type or member is obsolete
194195
sliceReader.OnWriterCompleted((e, s) => called = true, null);
196+
#pragma warning restore CS0618 // Type or member is obsolete
195197
this.pipe.Writer.Complete();
196198
Assert.False(called);
197199
}

src/Nerdbank.Streams.Tests/StreamPipeWriterTestBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public async Task TryWriteAfterComplete()
6464
writer.Complete();
6565
Assert.Throws<InvalidOperationException>(() => writer.GetMemory());
6666
Assert.Throws<InvalidOperationException>(() => writer.GetSpan());
67-
Assert.Throws<InvalidOperationException>(() => writer.Advance(0));
67+
writer.Advance(0);
6868
}
6969

7070
[Fact]

src/Nerdbank.Streams/StreamPipeWriter.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,11 @@ internal StreamPipeWriter(Stream stream)
5252
/// <inheritdoc />
5353
public override void Advance(int bytes)
5454
{
55-
Verify.Operation(!this.isWriterCompleted, "Writing is already completed.");
56-
this.buffer.Advance(bytes);
55+
if (bytes > 0)
56+
{
57+
Verify.Operation(!this.isWriterCompleted, "Writing is already completed.");
58+
this.buffer.Advance(bytes);
59+
}
5760
}
5861

5962
/// <inheritdoc />

src/Nerdbank.Streams/Utilities.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ internal static Task WaitForReaderCompletionAsync(this PipeWriter writer)
8181
Requires.NotNull(writer, nameof(writer));
8282

8383
var readerDone = new TaskCompletionSource<object?>();
84+
#pragma warning disable CS0618 // Type or member is obsolete
8485
writer.OnReaderCompleted(
8586
(ex, tcsObject) =>
8687
{
@@ -95,6 +96,7 @@ internal static Task WaitForReaderCompletionAsync(this PipeWriter writer)
9596
}
9697
},
9798
readerDone);
99+
#pragma warning restore CS0618 // Type or member is obsolete
98100
return readerDone.Task;
99101
}
100102

@@ -103,6 +105,7 @@ internal static Task WaitForWriterCompletionAsync(this PipeReader reader)
103105
Requires.NotNull(reader, nameof(reader));
104106

105107
var writerDone = new TaskCompletionSource<object?>();
108+
#pragma warning disable CS0618 // Type or member is obsolete
106109
reader.OnWriterCompleted(
107110
(ex, wdObject) =>
108111
{
@@ -117,6 +120,7 @@ internal static Task WaitForWriterCompletionAsync(this PipeReader reader)
117120
}
118121
},
119122
writerDone);
123+
#pragma warning restore CS0618 // Type or member is obsolete
120124
return writerDone.Task;
121125
}
122126

src/tests.ruleset

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@
1313
<Rules AnalyzerId="Microsoft.VisualStudio.Threading.Analyzers" RuleNamespace="Microsoft.VisualStudio.Threading.Analyzers">
1414
<Rule Id="VSTHRD103" Action="Hidden" />
1515
<Rule Id="VSTHRD200" Action="Hidden" />
16+
<Rule Id="VSTHRD111" Action="None" />
17+
<Rule Id="VSTHRD003" Action="Hidden" />
1618
</Rules>
17-
</RuleSet>
19+
</RuleSet>

0 commit comments

Comments
 (0)