/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Testing/test/MaximumOSVersionTest.cs
90 строк
3 KB
William Godbe
Rename Microsoft.Aspnetcore.Testing to Microsoft.AspNetCore.InternalTesting (#51713)
02 ноя 2023, 03:15
Не верифицирован
02 ноя 2023, 03:15
fc8deca
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Globalization; using System.Runtime.InteropServices; using Microsoft.Win32; using Xunit; namespace Microsoft.AspNetCore.InternalTesting; [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] public class MaximumOSVersionTest { [ConditionalFact] [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win7)] public void RunTest_Win7DoesRunOnWin7() { Assert.True( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && Environment.OSVersion.Version.ToString().StartsWith("6.1", StringComparison.Ordinal), "Test should only be running on Win7 or Win2008R2."); } [ConditionalTheory] [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win7)] [InlineData(1)] public void RunTheory_Win7DoesRunOnWin7(int arg) { Assert.True( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && Environment.OSVersion.Version.ToString().StartsWith("6.1", StringComparison.Ordinal), "Test should only be running on Win7 or Win2008R2."); } [ConditionalFact] [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win10_RS4)] [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] public void RunTest_Win10_RS4() { Assert.True(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)); var versionKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); Assert.NotNull(versionKey); var currentVersion = (string)versionKey.GetValue("CurrentBuildNumber"); Assert.NotNull(currentVersion); Assert.True(17134 >= int.Parse(currentVersion, CultureInfo.InvariantCulture)); } [ConditionalFact] [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win10_19H2)] [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] public void RunTest_Win10_19H2() { Assert.True(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)); var versionKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"); Assert.NotNull(versionKey); var currentVersion = (string)versionKey.GetValue("CurrentBuildNumber"); Assert.NotNull(currentVersion); Assert.True(18363 >= int.Parse(currentVersion, CultureInfo.InvariantCulture)); } } [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win7)] [OSSkipCondition(OperatingSystems.Linux | OperatingSystems.MacOSX)] public class OSMaxVersionClassTest { [ConditionalFact] public void TestSkipClass_Win7DoesRunOnWin7() { Assert.True( RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && Environment.OSVersion.Version.ToString().StartsWith("6.1", StringComparison.Ordinal), "Test should only be running on Win7 or Win2008R2."); } } // Let this one run cross plat just to check the constructor logic. [MaximumOSVersion(OperatingSystems.Windows, WindowsVersions.Win7)] public class OSMaxVersionCrossPlatTest { [ConditionalFact] public void TestSkipClass_Win7DoesRunOnWin7() { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { Assert.True(Environment.OSVersion.Version.ToString().StartsWith("6.1", StringComparison.Ordinal), "Test should only be running on Win7 or Win2008R2."); } } }