Modernise CI (#5)
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/all-checks-complete Pipeline was successful

Co-authored-by: Smaug123 <3138005+Smaug123@users.noreply.github.com>
Reviewed-on: #5
This commit is contained in:
2025-09-09 08:18:41 +00:00
parent 1046be36a3
commit f46557926e
12 changed files with 60 additions and 45 deletions

View File

@@ -1,6 +1,7 @@
namespace Raft.Test
open FsCheck
open FsCheck.FSharp
open Raft
[<RequireQualifiedAccess>]
@@ -8,7 +9,7 @@ module NetworkAction =
let generate<'a> (clusterSize : int) : Gen<NetworkAction<'a>> =
gen {
let! choice = Arb.generate<NetworkAction<'a>>
let! choice = ArbMap.defaults |> ArbMap.generate<NetworkAction<'a>>
let! server = Gen.choose (0, clusterSize - 1)
let server = server * 1<ServerId>

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net9.0</TargetFramework>
<IsPackable>false</IsPackable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
@@ -19,13 +19,11 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="FsCheck" Version="2.16.5" />
<PackageReference Include="FsUnit" Version="5.0.5" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="NUnit.Analyzers" Version="3.3.0" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
<PackageReference Include="FsCheck" Version="3.3.1" />
<PackageReference Include="FsUnit" Version="7.1.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="NUnit" Version="4.4.0" />
<PackageReference Include="NUnit3TestAdapter" Version="5.1.0" />
</ItemGroup>
<ItemGroup>

View File

@@ -1,6 +1,7 @@
namespace Raft.Test
open System.Threading
open FsCheck.FSharp
open Raft
open NUnit.Framework
open FsUnitTyped
@@ -10,10 +11,7 @@ open FsCheck
module TestInMemoryServer =
let check<'T> (prop : 'T) =
let config =
{ Config.QuickThrowOnFailure with
MaxTest = 1000
}
let config = Config.QuickThrowOnFailure.WithMaxTest(1000).WithQuietOnSuccess (true)
Check.One (config, prop)
@@ -194,7 +192,7 @@ module TestInMemoryServer =
let networkMessageSelectionGen (clusterSize : int) : Gen<NetworkMessageSelection> =
gen {
let! pile = Gen.choose (0, clusterSize - 1)
let! entry = Arb.generate<int>
let! entry = ArbMap.defaults |> ArbMap.generate<int>
return (pile * 1<ServerId>, abs entry)
}
|> Gen.listOf
@@ -425,7 +423,7 @@ module TestInMemoryServer =
firstTime = secondTime
property
|> Prop.forAll (ValidHistory.arb (Arb.Default.Byte().Generator) clusterSize)
|> Prop.forAll (ValidHistory.arb (ArbMap.defaults |> ArbMap.generate<byte>) clusterSize)
|> check
@@ -448,7 +446,7 @@ module TestInMemoryServer =
List.distinct leaders = leaders
property
|> Prop.forAll (ValidHistory.arb (Arb.Default.Byte().Generator) clusterSize)
|> Prop.forAll (ValidHistory.arb (ArbMap.defaults |> ArbMap.generate<byte>) clusterSize)
|> check
let duplicationProperty<'a when 'a : equality>

View File

@@ -1,5 +1,6 @@
namespace Raft.Test
open FsCheck.FSharp
open Raft
open System.Collections.Generic
open NUnit.Framework

View File

@@ -2,6 +2,7 @@ namespace Raft.Test
open Raft
open FsCheck
open FsCheck.FSharp
type ValidHistory<'a> = | ValidHistory of NetworkAction<'a> list