Skip to content

Commit

Permalink
Fix/build (#187)
Browse files Browse the repository at this point in the history
* update nuget packages

* resharper
  • Loading branch information
agray authored Sep 25, 2024
1 parent e4c8643 commit 51cc954
Show file tree
Hide file tree
Showing 18 changed files with 129 additions and 93 deletions.
2 changes: 1 addition & 1 deletion Merlin.NUnit.RealDevices/Merlin.NUnit.RealDevices.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<PackageReference Include="NUnit" Version="4.2.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
<PackageReference Include="RestSharp" Version="112.0.0" />
<PackageReference Include="Selenium.Support" Version="4.24.0" />
<PackageReference Include="Selenium.Support" Version="4.25.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion Merlin.NUnit/Merlin.NUnit.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<PackageReference Include="NUnit" Version="4.2.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
<PackageReference Include="RestSharp" Version="112.0.0" />
<PackageReference Include="Selenium.Support" Version="4.24.0" />
<PackageReference Include="Selenium.Support" Version="4.25.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
</ItemGroup>

Expand Down
2 changes: 1 addition & 1 deletion Merlin.XUnit.RealDevices/Merlin.XUnit.RealDevices.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="Meziantou.Xunit.ParallelTestFramework" Version="2.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageReference Include="xunit" Version="2.9.0" />
<PackageReference Include="xunit" Version="2.9.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
Expand Down
2 changes: 1 addition & 1 deletion Merlin.XUnit/Merlin.XUnit.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="Meziantou.Xunit.ParallelTestFramework" Version="2.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageReference Include="xunit" Version="2.9.0" />
<PackageReference Include="xunit" Version="2.9.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
Expand Down
2 changes: 1 addition & 1 deletion Saucery.Core.Tests/Saucery.Core.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<PackageReference Include="NUnit" Version="4.2.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
<PackageReference Include="RestSharp" Version="112.0.0" />
<PackageReference Include="Selenium.Support" Version="4.24.0" />
<PackageReference Include="Selenium.Support" Version="4.25.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
</ItemGroup>

Expand Down
17 changes: 8 additions & 9 deletions Saucery.Core/DataSources/SauceryTestData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,25 @@ protected static void SetPlatforms(List<SaucePlatform> platforms)
BrowserVersions = platformConfigurator.FilterAll(expandedPlatforms);
}

public static IEnumerable<BrowserVersion> Items => BrowserVersions!.Select(x => x).AsEnumerable();
public static IEnumerable<BrowserVersion> Items =>
BrowserVersions!
.Select(x => x)
.AsEnumerable();

protected static IEnumerable<object[]> GetAllCombinations(object[] data) {
List<object[]> allCombinations = [];

foreach(var platform in Items) {
foreach(var datum in data) {
allCombinations.Add([platform, datum]);
}
foreach(var platform in Items)
{
allCombinations.AddRange(data.Select(datum => (object[]) [platform, datum]));
}

return allCombinations;
}

protected static IEnumerable<object[]> GetAllPlatforms() {
List<object[]> allPlatforms = [];

foreach(var platform in Items) {
allPlatforms.Add([platform]);
}
allPlatforms.AddRange(Items.Select(platform => (object[]) [platform]));

return allPlatforms.AsEnumerable();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ namespace Saucery.Core.Dojo.Browsers.ConcreteCreators.Apple;

internal class IOSBrowserCreator(SupportedPlatform sp) : BrowserCreator(sp)
{
public override BrowserBase? Create(string platformNameForOption, List<string> screenResolutions) => new IOSBrowser(Platform, screenResolutions, platformNameForOption);
public override BrowserBase? Create(string platformNameForOption, List<string> screenResolutions) =>
new IOSBrowser(Platform, screenResolutions, platformNameForOption);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ namespace Saucery.Core.Dojo.Browsers.ConcreteCreators.Google;

internal class AndroidBrowserCreator(SupportedPlatform sp) : BrowserCreator(sp)
{
public override BrowserBase? Create(string platformNameForOption, List<string> screenResolutions) => new AndroidBrowser(Platform, platformNameForOption);
public override BrowserBase? Create(string platformNameForOption, List<string> screenResolutions) =>
new AndroidBrowser(Platform, platformNameForOption);
}
77 changes: 48 additions & 29 deletions Saucery.Core/Dojo/DojoExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -145,13 +145,27 @@ private static void AddVersion(this BrowserBase b, List<BrowserBase> browsers, S
_ => null
};

var browsers = platform?.Browsers.Find(b => b.Os.Equals(sp.Os, StringComparison.Ordinal) && b.Name.ToLower().Equals(sp.Browser.ToLower()));

if (browsers == null) { return null; }
var browsers = platform?.Browsers.Find(b =>
b.Os.Equals(sp.Os, StringComparison.Ordinal) &&
b.Name.ToLower().Equals(sp.Browser.ToLower()));

if (browsers == null)
{
return null;
}

return sp.ScreenResolution == string.Empty
? browsers.BrowserVersions.Find(v => v.Os.Equals(sp.Os, StringComparison.Ordinal) && v.BrowserName.ToLower().Equals(sp.Browser.ToLower()) && v.Name!.ToLower().Equals(sp.BrowserVersion.ToLower()))
: browsers.BrowserVersions.Find(v => v.Os.Equals(sp.Os, StringComparison.Ordinal) && v.BrowserName.ToLower().Equals(sp.Browser.ToLower()) && v.Name!.ToLower().Equals(sp.BrowserVersion.ToLower()) && v.ScreenResolutions.Contains(sp.ScreenResolution));
? browsers.BrowserVersions
.Find(v =>
v.Os.Equals(sp.Os, StringComparison.Ordinal) &&
v.BrowserName.ToLower().Equals(sp.Browser.ToLower()) &&
v.Name!.ToLower().Equals(sp.BrowserVersion.ToLower()))
: browsers.BrowserVersions
.Find(v =>
v.Os.Equals(sp.Os, StringComparison.Ordinal) &&
v.BrowserName.ToLower().Equals(sp.Browser.ToLower()) &&
v.Name!.ToLower().Equals(sp.BrowserVersion.ToLower()) &&
v.ScreenResolutions.Contains(sp.ScreenResolution));
}

public static BrowserVersion? FindAndroidBrowser(this List<PlatformBase> platforms, SaucePlatform sp)
Expand All @@ -175,16 +189,20 @@ private static void AddVersion(this BrowserBase b, List<BrowserBase> browsers, S
_ => platform
};

var browsers = platform?.Browsers.Find(b => b.Os.Equals(sp.Os, StringComparison.Ordinal) && b.DeviceName.Equals(sp.LongName, StringComparison.Ordinal));
var browsers = platform?.Browsers
.Find(b =>
b.Os.Equals(sp.Os, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.LongName, StringComparison.Ordinal));

return browsers == null
? null
: browsers.BrowserVersions.Count == 1
? browsers.BrowserVersions[0]
: browsers.BrowserVersions
.Find(v => v.Os.Equals(sp.Os, StringComparison.Ordinal) &&
v.DeviceName.Equals(sp.LongName, StringComparison.Ordinal)
&& v.Name!.Equals(sp.BrowserVersion, StringComparison.Ordinal));
: browsers.BrowserVersions.Count == 1
? browsers.BrowserVersions[0]
: browsers.BrowserVersions
.Find(v =>
v.Os.Equals(sp.Os, StringComparison.Ordinal) &&
v.DeviceName.Equals(sp.LongName, StringComparison.Ordinal) &&
v.Name!.Equals(sp.BrowserVersion, StringComparison.Ordinal));
}

public static PlatformBase FindAndroidPlatform(this List<PlatformBase> platforms, SaucePlatform sp) {
Expand Down Expand Up @@ -236,19 +254,19 @@ public static PlatformBase FindAndroidPlatform(this List<PlatformBase> platforms
};

var browsers = platform?.Browsers
.Find(b => b.PlatformNameForOption
.Equals(sp.Os, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.LongName, StringComparison.Ordinal));
.Find(b =>
b.PlatformNameForOption.Equals(sp.Os, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.LongName, StringComparison.Ordinal));

return browsers == null
? null
: browsers.BrowserVersions.Count == 1
? browsers.BrowserVersions[0]
: browsers.BrowserVersions
.Find(v => v.PlatformNameForOption
.Equals(sp.Os, StringComparison.Ordinal) &&
v.DeviceName.Equals(sp.LongName, StringComparison.Ordinal) &&
v.Name!.Equals(sp.BrowserVersion, StringComparison.Ordinal));
: browsers.BrowserVersions.Count == 1
? browsers.BrowserVersions[0]
: browsers.BrowserVersions
.Find(v =>
v.PlatformNameForOption.Equals(sp.Os, StringComparison.Ordinal) &&
v.DeviceName.Equals(sp.LongName, StringComparison.Ordinal) &&
v.Name!.Equals(sp.BrowserVersion, StringComparison.Ordinal));
}

public static PlatformBase FindIOSPlatform(this List<PlatformBase> platforms, SaucePlatform sp) {
Expand All @@ -268,16 +286,17 @@ public static PlatformBase FindIOSPlatform(this List<PlatformBase> platforms, Sa
return platform!;
}

private static BrowserBase? FindBrowser(this IEnumerable<BrowserBase> browsers, SupportedPlatform sp) => browsers
.FirstOrDefault(b => b.Name
.Equals(sp.api_name, StringComparison.Ordinal) &&
private static BrowserBase? FindBrowser(this IEnumerable<BrowserBase> browsers, SupportedPlatform sp) =>
browsers.FirstOrDefault(b =>
b.Name.Equals(sp.api_name, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.long_name, StringComparison.Ordinal) &&
b.Os.Equals(sp.Os, StringComparison.Ordinal));

private static BrowserBase? FindRealBrowser(this IEnumerable<BrowserBase> browsers, SupportedPlatform sp) => browsers
.FirstOrDefault(b => b.Name.Equals(sp.api_name, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.long_name, StringComparison.Ordinal) &&
b.Os.Equals(sp.Os, StringComparison.Ordinal));
private static BrowserBase? FindRealBrowser(this IEnumerable<BrowserBase> browsers, SupportedPlatform sp) =>
browsers.FirstOrDefault(b =>
b.Name.Equals(sp.api_name, StringComparison.Ordinal) &&
b.DeviceName.Equals(sp.long_name, StringComparison.Ordinal) &&
b.Os.Equals(sp.Os, StringComparison.Ordinal));

public static BrowserVersion Classify(this BrowserVersion browserVersion)
{
Expand Down
61 changes: 40 additions & 21 deletions Saucery.Core/Dojo/PlatformConfigurator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,16 @@ private static List<SupportedPlatform> FilterSupportedPlatforms(List<SupportedPl
//Not filtered for Min and Max Versions yet
.. FindLinuxPlatforms(supportedPlatforms),
.. FindWindowsPlatforms(supportedPlatforms),
.. FindMacPlatforms(supportedPlatforms, [ SauceryConstants.PLATFORM_MAC_1010,
SauceryConstants.PLATFORM_MAC_1011,
SauceryConstants.PLATFORM_MAC_1012,
SauceryConstants.PLATFORM_MAC_1013,
SauceryConstants.PLATFORM_MAC_1014,
SauceryConstants.PLATFORM_MAC_1015,
SauceryConstants.PLATFORM_MAC_11,
SauceryConstants.PLATFORM_MAC_12,
SauceryConstants.PLATFORM_MAC_13 ]),
.. FindMacPlatforms(supportedPlatforms, [
SauceryConstants.PLATFORM_MAC_1010,
SauceryConstants.PLATFORM_MAC_1011,
SauceryConstants.PLATFORM_MAC_1012,
SauceryConstants.PLATFORM_MAC_1013,
SauceryConstants.PLATFORM_MAC_1014,
SauceryConstants.PLATFORM_MAC_1015,
SauceryConstants.PLATFORM_MAC_11,
SauceryConstants.PLATFORM_MAC_12,
SauceryConstants.PLATFORM_MAC_13 ]),
.. FindMobilePlatforms(supportedPlatforms, ["iphone", "ipad"]),
.. FindMobilePlatforms(supportedPlatforms, ["android"]),
];
Expand All @@ -89,30 +90,49 @@ internal int FindMaxBrowserVersion(SaucePlatform platform)
//Desktop Platform Only
var availablePlatform = AvailablePlatforms.Find(p => p.Name.Equals(platform.Os));
var browser = availablePlatform?.Browsers.Find(b => b.Name.Equals(platform.Browser));
var numericBrowserVersions = browser?.BrowserVersions.Where(x => x.Name!.Any(char.IsNumber) && x.Name != SauceryConstants.BROWSER_VERSION_LATEST_MINUS1);
var browserVersion = numericBrowserVersions?.Aggregate((maxItem, nextItem) => (int.Parse(maxItem.Name!) > int.Parse(nextItem.Name!)) ? maxItem : nextItem);
var numericBrowserVersions = browser?.BrowserVersions
.Where(x =>
x.Name!.Any(char.IsNumber) &&
x.Name != SauceryConstants.BROWSER_VERSION_LATEST_MINUS1);
var browserVersion = numericBrowserVersions?
.Aggregate((maxItem, nextItem) =>
int.Parse(maxItem.Name!) > int.Parse(nextItem.Name!)
? maxItem
: nextItem);

return int.Parse(browserVersion?.Name!);
}

private static List<SupportedPlatform> FindLinuxPlatforms(List<SupportedPlatform> platforms) =>
platforms.FindAll(p => p.Os! == "Linux" && p.automation_backend!.Equals("webdriver") && p.device! == null);
platforms.FindAll(p =>
p.Os! == "Linux" &&
p.automation_backend!.Equals("webdriver") &&
p.device! == null);

private static List<SupportedPlatform> FindWindowsPlatforms(List<SupportedPlatform> platforms) =>
platforms.FindAll(p => p.Os!.Contains("Windows") && p.automation_backend!.Equals("webdriver"));
platforms.FindAll(p =>
p.Os!.Contains("Windows") &&
p.automation_backend!.Equals("webdriver"));

private static List<SupportedPlatform> FindMacPlatforms(List<SupportedPlatform> platforms, IReadOnlyCollection<string> oses) =>
platforms.FindAll(p => oses.Any(o => o.Equals(p.Os)) && p.automation_backend!.Equals("webdriver") && !p.api_name!.Equals("ipad") && !p.api_name.Equals("iphone"));
platforms.FindAll(p =>
oses.Any(o => o.Equals(p.Os)) &&
p.automation_backend!.Equals("webdriver") &&
!p.api_name!.Equals("ipad") &&
!p.api_name.Equals("iphone"));

private static List<SupportedPlatform> FindMobilePlatforms(List<SupportedPlatform> platforms, IReadOnlyCollection<string> apis) =>
platforms.FindAll(p => apis.Any(a => a.Equals(p.api_name)) && p.automation_backend!.Equals("appium"));
platforms.FindAll(p =>
apis.Any(a => a.Equals(p.api_name)) &&
p.automation_backend!.Equals("appium"));

public void AddLatestBrowserVersion(string version)
{
foreach (var b in AvailablePlatforms
.SelectMany(p => p.Browsers
.Where(b => p.BrowsersWithLatestVersion != null &&
p.BrowsersWithLatestVersion.Contains(b.Name))))
.SelectMany(p =>
p.Browsers.Where(b =>
p.BrowsersWithLatestVersion != null &&
p.BrowsersWithLatestVersion.Contains(b.Name))))
{
b.BrowserVersions.Add(new BrowserVersion(b, version, version, null, null));
}
Expand All @@ -125,6 +145,7 @@ public List<BrowserVersion> FilterAll(List<SaucePlatform> platforms)
where bv != null
select bv).ToList();
Console.WriteLine(SauceryConstants.NUM_VALID_PLATFORMS, bvs.Count, platforms.Count);

return bvs;
}

Expand Down Expand Up @@ -177,12 +198,10 @@ public List<BrowserVersion> FilterAll(List<SaucePlatform> platforms)
switch(requested.PlatformType) {
case PlatformType.Android:
return AvailableRealDevices.FindAndroidPlatform(requested);
//break;
case PlatformType.Apple:
return AvailableRealDevices.FindIOSPlatform(requested);
//break;
default:
Console.WriteLine($"Requested Real Platform Not Found: {0}", requested.LongName);
Console.WriteLine("Requested Real Platform Not Found: {0}", requested.LongName);
return null;
}
}
Expand Down
4 changes: 2 additions & 2 deletions Saucery.Core/OnDemand/Base/SaucePlatform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public class SaucePlatform(string desktopPlatformName = "",

public bool NeedsExpansion() =>
BrowserVersion
.Replace(SauceryConstants.SPACE, string.Empty)
.Contains(SauceryConstants.PLATFORM_SEPARATOR);
.Replace(SauceryConstants.SPACE, string.Empty)
.Contains(SauceryConstants.PLATFORM_SEPARATOR);
}
/*
* Copyright Andrew Gray, SauceForge
Expand Down
6 changes: 3 additions & 3 deletions Saucery.Core/OnDemand/RangeClassifer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ internal static PlatformRange Classify(string[] requestedVersions)

return requestedVersions.Length != 2
? PlatformRange.Invalid
: int.TryParse(lowerBound, out var _) && int.TryParse(upperBound, out var _)
: int.TryParse(lowerBound, out _) && int.TryParse(upperBound, out _)
? PlatformRange.NumericOnly
: !int.TryParse(lowerBound, out var _) && !int.TryParse(upperBound, out var _)
: !int.TryParse(lowerBound, out _) && !int.TryParse(upperBound, out _)
? PlatformRange.NonNumericOnly
: int.TryParse(lowerBound, out var _) && !int.TryParse(upperBound, out var _)
: int.TryParse(lowerBound, out _) && !int.TryParse(upperBound, out _)
? PlatformRange.NumericNonNumeric
: PlatformRange.Invalid;
}
Expand Down
5 changes: 1 addition & 4 deletions Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,7 @@ protected override bool TooManyTests(bool realDevices) {
//Console.WriteLine(@"Debug: {0}", json);
//var remainingSection = ExtractJsonSegment(json!, json!.IndexOf("\"remaining", StringComparison.Ordinal), json.Length - 3);
//Console.WriteLine(@"Debug: remainingsection = {0}", remainingSection);
var flowControl = JsonSerializer.Deserialize<FlowControl>(json, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});
var flowControl = JsonSerializer.Deserialize<FlowControl>(json, JsonOptions);

var org = flowControl?.concurrency.organization;
var orgAllowed = realDevices ? org.allowed.rds : org.allowed.vms;

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / build

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-real-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-real-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-real-integration-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / xunit-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-external-tests

Dereference of a possibly null reference.

Check warning on line 41 in Saucery.Core/RestAPI/FlowControl/SauceLabsFlowController.cs

View workflow job for this annotation

GitHub Actions / nunit-external-tests

Dereference of a possibly null reference.
Expand Down
Loading

0 comments on commit 51cc954

Please sign in to comment.