Fix OS version check and testhost copying in stress tests (#40980)
authorAlexander Nikolaev <55398552+alnikola@users.noreply.github.com>
Thu, 20 Aug 2020 18:04:45 +0000 (20:04 +0200)
committerGitHub <noreply@github.com>
Thu, 20 Aug 2020 18:04:45 +0000 (20:04 +0200)
SslStress also fails due to OperatingSystem.IsWindows() call which is not available on the public SDK yet.

12 files changed:
eng/docker/libraries-sdk-aspnetcore.linux.Dockerfile
eng/docker/libraries-sdk-aspnetcore.windows.Dockerfile
eng/docker/libraries-sdk.linux.Dockerfile
eng/docker/libraries-sdk.windows.Dockerfile
src/libraries/System.Net.Http/tests/StressTests/HttpStress/Dockerfile
src/libraries/System.Net.Http/tests/StressTests/HttpStress/StressClient.cs
src/libraries/System.Net.Http/tests/StressTests/HttpStress/load-corefx-testhost.ps1
src/libraries/System.Net.Http/tests/StressTests/HttpStress/windows.Dockerfile
src/libraries/System.Net.Security/tests/StressTests/SslStress/Dockerfile
src/libraries/System.Net.Security/tests/StressTests/SslStress/SslServerBase.cs
src/libraries/System.Net.Security/tests/StressTests/SslStress/Utils/ErrorAggregator.cs
src/libraries/System.Net.Security/tests/StressTests/SslStress/windows.Dockerfile

index 0497437..01241c5 100644 (file)
@@ -21,9 +21,9 @@ ARG CONFIGURATION=Release
 
 ARG COREFX_SHARED_FRAMEWORK_NAME=Microsoft.NETCore.App
 ARG ASPNETCORE_SHARED_NAME=Microsoft.AspNetCore.App
-ARG SOURCE_COREFX_VERSION=5.0.0
+ARG SOURCE_COREFX_VERSION=6.0.0
 ARG TARGET_SHARED_FRAMEWORK=/usr/share/dotnet/shared
-ARG TARGET_COREFX_VERSION=3.0.0
+ARG TARGET_COREFX_VERSION=6.0.0
 
 COPY --from=corefxbuild \
     $TESTHOST_LOCATION/$TFM-$OS-$CONFIGURATION-$ARCH/shared/$COREFX_SHARED_FRAMEWORK_NAME/$SOURCE_COREFX_VERSION/* \
index 32f91f5..fdde94c 100644 (file)
@@ -11,9 +11,9 @@ ARG CONFIGURATION=Release
 
 ARG COREFX_SHARED_FRAMEWORK_NAME=Microsoft.NETCore.App
 ARG ASPNETCORE_SHARED_NAME=Microsoft.AspNetCore.App
-ARG SOURCE_COREFX_VERSION=5.0.0
+ARG SOURCE_COREFX_VERSION=6.0.0
 ARG TARGET_SHARED_FRAMEWORK="C:\\Program Files\\dotnet\\shared"
-ARG TARGET_COREFX_VERSION=3.0.0
+ARG TARGET_COREFX_VERSION=6.0.0
 
 COPY `
     $TESTHOST_LOCATION\$TFM-$OS-$CONFIGURATION-$ARCH\shared\$COREFX_SHARED_FRAMEWORK_NAME\$SOURCE_COREFX_VERSION\ `
index 2cc979d..8d12c56 100644 (file)
@@ -19,9 +19,9 @@ ARG ARCH=x64
 ARG CONFIGURATION=Release
 
 ARG COREFX_SHARED_FRAMEWORK_NAME=Microsoft.NETCore.App
-ARG SOURCE_COREFX_VERSION=5.0.0
+ARG SOURCE_COREFX_VERSION=6.0.0
 ARG TARGET_SHARED_FRAMEWORK=/usr/share/dotnet/shared
-ARG TARGET_COREFX_VERSION=3.0.0
+ARG TARGET_COREFX_VERSION=6.0.0
 
 COPY --from=corefxbuild \
     $TESTHOST_LOCATION/$TFM-$OS-$CONFIGURATION-$ARCH/shared/$COREFX_SHARED_FRAMEWORK_NAME/$SOURCE_COREFX_VERSION/* \
index 50c3f35..d6c82ea 100644 (file)
@@ -10,9 +10,9 @@ ARG ARCH=x64
 ARG CONFIGURATION=Release
 
 ARG COREFX_SHARED_FRAMEWORK_NAME=Microsoft.NETCore.App
-ARG SOURCE_COREFX_VERSION=5.0.0
+ARG SOURCE_COREFX_VERSION=6.0.0
 ARG TARGET_SHARED_FRAMEWORK="C:\\Program Files\\dotnet\\shared"
-ARG TARGET_COREFX_VERSION=3.0.0
+ARG TARGET_COREFX_VERSION=6.0.0
 
 COPY `
     $TESTHOST_LOCATION\$TFM-$OS-$CONFIGURATION-$ARCH\shared\$COREFX_SHARED_FRAMEWORK_NAME\$SOURCE_COREFX_VERSION\ `
index fadc2a2..a22cb5e 100644 (file)
@@ -1,6 +1,8 @@
 ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:5.0-buster-slim
 FROM $SDK_BASE_IMAGE
 
+RUN echo "DOTNET_SDK_VERSION="$env:DOTNET_SDK_VERSION
+
 WORKDIR /app
 COPY . .
 
index 9e1b3a3..4c87df4 100644 (file)
@@ -452,8 +452,8 @@ namespace HttpStress
 
         private class StructuralEqualityComparer<T> : IEqualityComparer<T> where T : IStructuralEquatable
         {
-            public bool Equals(T? left, T? right) => left != null && left.Equals(right, StructuralComparisons.StructuralEqualityComparer);
-            public int GetHashCode(T value) => value.GetHashCode(StructuralComparisons.StructuralEqualityComparer);
+            public bool Equals([AllowNull] T left, [AllowNull] T right) => left != null && left.Equals(right, StructuralComparisons.StructuralEqualityComparer);
+            public int GetHashCode([DisallowNull] T value) => value.GetHashCode(StructuralComparisons.StructuralEqualityComparer);
         }
     }
 }
index 0d4b1fb..f76268a 100644 (file)
@@ -6,7 +6,7 @@
 
 [CmdletBinding(PositionalBinding=$false)]
 Param(
-  [string][Alias('f')]$framework = "netcoreapp",
+  [string][Alias('f')]$framework = "net",
   [string][Alias('c')]$configuration = "Release",
   [string][Alias('a')]$arch = "x64",
   [string][Alias('o')]$os = "",
index f527526..5fb9696 100644 (file)
@@ -5,6 +5,8 @@ FROM $SDK_BASE_IMAGE
 # Use powershell as the default shell
 SHELL ["pwsh", "-Command"]
 
+RUN echo "DOTNET_SDK_VERSION="$env:DOTNET_SDK_VERSION
+
 WORKDIR /app
 COPY . .
 
index d43fad1..710e3cd 100644 (file)
@@ -1,6 +1,8 @@
 ARG SDK_BASE_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:5.0-buster-slim
 FROM $SDK_BASE_IMAGE
 
+RUN echo "DOTNET_SDK_VERSION="$env:DOTNET_SDK_VERSION
+
 WORKDIR /app
 COPY . .
 WORKDIR /app/System.Net.Security/tests/StressTests/SslStress 
index dc3dd8c..56ba32e 100644 (file)
@@ -8,6 +8,7 @@ using System.Net.Sockets;
 using System.Net.Security;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Threading.Tasks;
 using System.Threading;
 using System.Security.Cryptography.X509Certificates;
@@ -157,7 +158,7 @@ namespace SslStress
             certReq.CertificateExtensions.Add(new X509EnhancedKeyUsageExtension(new OidCollection { new Oid("1.3.6.1.5.5.7.3.1") }, false));
             certReq.CertificateExtensions.Add(new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature, false));
             X509Certificate2 cert = certReq.CreateSelfSigned(DateTimeOffset.UtcNow.AddMonths(-1), DateTimeOffset.UtcNow.AddMonths(1));
-            if (OperatingSystem.IsWindows())
+            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
             {
                 cert = new X509Certificate2(cert.Export(X509ContentType.Pfx));
             }
index a907abb..04db9dd 100644 (file)
@@ -7,6 +7,7 @@ using System.Collections;
 using System.Collections.Concurrent;
 using System.Collections.Generic;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 
 namespace SslStress.Utils
 {
@@ -112,8 +113,8 @@ namespace SslStress.Utils
 
         private class StructuralEqualityComparer<T> : IEqualityComparer<T> where T : IStructuralEquatable
         {
-            public bool Equals(T left, T right) => left.Equals(right, StructuralComparisons.StructuralEqualityComparer);
-            public int GetHashCode(T value) => value.GetHashCode(StructuralComparisons.StructuralEqualityComparer);
+            public bool Equals([AllowNull] T left, [AllowNull] T right) => left != null && left.Equals(right, StructuralComparisons.StructuralEqualityComparer);
+            public int GetHashCode([DisallowNull] T value) => value.GetHashCode(StructuralComparisons.StructuralEqualityComparer);
         }
     }
 }
index bf6d056..9653e0f 100644 (file)
@@ -5,6 +5,8 @@ FROM $SDK_BASE_IMAGE
 # Use powershell as the default shell
 SHELL ["pwsh", "-Command"]
 
+RUN echo "DOTNET_SDK_VERSION="$env:DOTNET_SDK_VERSION
+
 WORKDIR /app
 COPY . .
 WORKDIR /app/System.Net.Security/tests/StressTests/SslStress