diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index fd3a04477..1a3d42bac 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,19 +3,19 @@
"isRoot": true,
"tools": {
"dotnet-counters": {
- "version": "6.0.351802",
+ "version": "8.0.510501",
"commands": [
"dotnet-counters"
]
},
"dotnet-dump": {
- "version": "6.0.351802",
+ "version": "8.0.510501",
"commands": [
"dotnet-dump"
]
},
"dotnet-ilverify": {
- "version": "7.0.0",
+ "version": "8.0.0",
"commands": [
"ilverify"
]
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 34b3d7c97..3c5c097b8 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -26,10 +26,10 @@ jobs:
uses: NuGet/setup-nuget@v1
with:
nuget-version: '6.x'
- - name: Setup .NET 7.0 SDK
+ - name: Setup .NET 8.0 SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: '7.0.x'
+ dotnet-version: '8.0.x'
- name: Set environment variables
run: echo "COYOTE_CLI_TELEMETRY_OPTOUT=1" >> $GITHUB_ENV
# Initializes the CodeQL tools for scanning.
diff --git a/.github/workflows/test-coyote.yml b/.github/workflows/test-coyote.yml
index a48f02906..d7c46ac47 100644
--- a/.github/workflows/test-coyote.yml
+++ b/.github/workflows/test-coyote.yml
@@ -30,10 +30,10 @@ jobs:
uses: NuGet/setup-nuget@v1
with:
nuget-version: '6.x'
- - name: Setup .NET 7.0 SDK
+ - name: Setup .NET 8.0 SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: '7.0.x'
+ dotnet-version: '8.0.x'
- name: Setup .NET 6.0 SDK
uses: actions/setup-dotnet@v1
with:
@@ -81,10 +81,10 @@ jobs:
COYOTE_CLI_TELEMETRY_OPTOUT: 1
steps:
- uses: actions/checkout@v2
- - name: Setup .NET 7.0 SDK
+ - name: Setup .NET 8.0 SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: '7.0.x'
+ dotnet-version: '8.0.x'
- name: Download Coyote binaries
uses: actions/download-artifact@v3
with:
diff --git a/.github/workflows/test-performance.yml b/.github/workflows/test-performance.yml
index 271f0f38b..3482ef588 100644
--- a/.github/workflows/test-performance.yml
+++ b/.github/workflows/test-performance.yml
@@ -23,10 +23,10 @@ jobs:
uses: NuGet/setup-nuget@v1
with:
nuget-version: '6.x'
- - name: Setup .NET 7.0 SDK
+ - name: Setup .NET 8.0 SDK
uses: actions/setup-dotnet@v1
with:
- dotnet-version: '7.0.x'
+ dotnet-version: '8.0.x'
- name: Setup Powershell
run: ./Scripts/install-pwsh.cmd
- name: Build Coyote projects
diff --git a/Common/build.props b/Common/build.props
index a146c2cb6..b74642a73 100644
--- a/Common/build.props
+++ b/Common/build.props
@@ -16,10 +16,10 @@
LICENSE
$(MSBuildThisFileDirectory)/../bin/nuget
-
+
10.0
-
+
8.0
@@ -48,7 +48,7 @@
false
true
true
- net7.0
+ net8.0
$(TargetFrameworks);netstandard2.0
$(TargetFrameworks);netcoreapp3.1
$(TargetFrameworks);net6.0
diff --git a/History.md b/History.md
index b18271310..38a923c96 100644
--- a/History.md
+++ b/History.md
@@ -1,3 +1,6 @@
+## vNext
+- Added support for the `net8.0` target framework.
+
## v1.7.10
- Fixed an issue with `Actor` not halting as expected in certain scenarios after explicitly raising
a `HaltEvent` event.
diff --git a/Samples/CloudMessaging/run-mock.cmd b/Samples/CloudMessaging/run-mock.cmd
index 8baeb9389..54bad474d 100644
--- a/Samples/CloudMessaging/run-mock.cmd
+++ b/Samples/CloudMessaging/run-mock.cmd
@@ -1,2 +1,2 @@
cd %~dp0
-dotnet ..\..\bin\net7.0\coyote.dll test /../bin/net7.0/Raft.Mocking.dll -i 1000 -ms 500 -graph-bug
+dotnet ..\..\bin\net8.0\coyote.dll test /../bin/net8.0/Raft.Mocking.dll -i 1000 -ms 500 -graph-bug
diff --git a/Samples/CloudMessaging/run-nondeterminism.cmd b/Samples/CloudMessaging/run-nondeterminism.cmd
index 6917ef129..3c201ef3c 100644
--- a/Samples/CloudMessaging/run-nondeterminism.cmd
+++ b/Samples/CloudMessaging/run-nondeterminism.cmd
@@ -1,2 +1,2 @@
cd %~dp0
-dotnet ..\..\bin\net7.0\coyote.dll test ../bin/net7.0/Raft.Nondeterminism.dll -i 1000 -ms 500 -graph-bug
+dotnet ..\..\bin\net8.0\coyote.dll test ../bin/net8.0/Raft.Nondeterminism.dll -i 1000 -ms 500 -graph-bug
diff --git a/Samples/CloudMessaging/run.cmd b/Samples/CloudMessaging/run.cmd
index 15eb9ba91..087d83c94 100644
--- a/Samples/CloudMessaging/run.cmd
+++ b/Samples/CloudMessaging/run.cmd
@@ -1 +1 @@
-dotnet %~dp0\..\bin\net7.0\Raft.Azure.dll --connection-string %CONNECTION_STRING% --topic-name rafttopic --num-requests 5 --local-cluster-size 5
+dotnet %~dp0\..\bin\net8.0\Raft.Azure.dll --connection-string %CONNECTION_STRING% --topic-name rafttopic --num-requests 5 --local-cluster-size 5
diff --git a/Samples/Common/TestDriver/rewrite.coyote.json b/Samples/Common/TestDriver/rewrite.coyote.json
index 9a1028ab7..a4aa0a6f4 100644
--- a/Samples/Common/TestDriver/rewrite.coyote.json
+++ b/Samples/Common/TestDriver/rewrite.coyote.json
@@ -1,5 +1,5 @@
{
- "AssembliesPath": "../bin/net7.0",
+ "AssembliesPath": "../bin/net8.0",
"Assemblies": [
"AccountManager.dll",
"AccountManager.ETags.dll",
diff --git a/Samples/Common/build.props b/Samples/Common/build.props
index cc18b0450..8d6beaccf 100644
--- a/Samples/Common/build.props
+++ b/Samples/Common/build.props
@@ -5,7 +5,7 @@
Microsoft Corporation
Copyright © Microsoft Corporation.
10.0
- net7.0
+ net8.0
False
False
True
diff --git a/Samples/README.md b/Samples/README.md
index 7636cbacc..875331663 100644
--- a/Samples/README.md
+++ b/Samples/README.md
@@ -35,8 +35,8 @@ to build reliable applications and services:
To build and run the samples, you will need to:
-- Install the [.NET 7.0 SDK](https://dotnet.microsoft.com/download/dotnet).
-- Install the [.NET 7.0 version of the coyote
+- Install the [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet).
+- Install the [.NET 8.0 version of the coyote
tool](https://microsoft.github.io/coyote/get-started/install/).
Once you are ready, build the samples by running the following script from the root of the
diff --git a/Samples/Scripts/run-tests.ps1 b/Samples/Scripts/run-tests.ps1
index 760099863..0d9e3cec0 100644
--- a/Samples/Scripts/run-tests.ps1
+++ b/Samples/Scripts/run-tests.ps1
@@ -7,7 +7,7 @@ CheckPSVersion
Write-Comment -prefix "." -text "Testing the Coyote samples" -color "yellow"
-$framework = "net7.0"
+$framework = "net8.0"
$tests = "$PSScriptRoot/../Common/bin/$framework/TestDriver.dll"
if (-not (Test-Path $tests)) {
Write-Error "tests for the Coyote samples not found."
diff --git a/Samples/WebApps/ImageGalleryAspNet/ImageGallery/design.dgml b/Samples/WebApps/ImageGalleryAspNet/ImageGallery/design.dgml
index b6d3d0596..713be1a95 100644
--- a/Samples/WebApps/ImageGalleryAspNet/ImageGallery/design.dgml
+++ b/Samples/WebApps/ImageGalleryAspNet/ImageGallery/design.dgml
@@ -617,7 +617,7 @@
-
+
@@ -869,13 +869,13 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/WebApps/ImageGalleryAspNet/ImageGallery/readme.md b/Samples/WebApps/ImageGalleryAspNet/ImageGallery/readme.md
index 5c4be451c..959629b83 100644
--- a/Samples/WebApps/ImageGalleryAspNet/ImageGallery/readme.md
+++ b/Samples/WebApps/ImageGalleryAspNet/ImageGallery/readme.md
@@ -8,7 +8,7 @@ This is a web client front end that uses the ImageGalleryService middle tier.
The app depends on the following:
-- [.NET 7.0 SDK](https://dotnet.microsoft.com/download/dotnet) must be installed.
+- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet) must be installed.
- [Azure Storage Emulator](https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator) must be hnstalled running.
- [Azure Cosmos Emulator](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=cli%2Cssl-netstd21) must be installed and running.
- Open Azure Cosmos Data Explorer from taskbar tray and copy the `Primary Connection String` from there into `~/ImageGalleryAspNet/ImageGalleryService/appsettings.json`.
diff --git a/Samples/WebApps/ImageGalleryAspNet/rewrite.coyote.json b/Samples/WebApps/ImageGalleryAspNet/rewrite.coyote.json
index 14ce638a7..6beb421ac 100644
--- a/Samples/WebApps/ImageGalleryAspNet/rewrite.coyote.json
+++ b/Samples/WebApps/ImageGalleryAspNet/rewrite.coyote.json
@@ -1,5 +1,5 @@
{
- "AssembliesPath": "./bin/net7.0",
+ "AssembliesPath": "./bin/net8.0",
"OutputPath": "./bin/coyote",
"Assemblies": [
"ImageGalleryService.dll",
diff --git a/Samples/WebApps/PetImagesAspNet/PetImages.Tests/PetImages.Tests.csproj b/Samples/WebApps/PetImagesAspNet/PetImages.Tests/PetImages.Tests.csproj
index 02b075ac4..7609f2872 100644
--- a/Samples/WebApps/PetImagesAspNet/PetImages.Tests/PetImages.Tests.csproj
+++ b/Samples/WebApps/PetImagesAspNet/PetImages.Tests/PetImages.Tests.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/Samples/WebApps/PetImagesAspNet/PetImages.Tests/rewrite.coyote.json b/Samples/WebApps/PetImagesAspNet/PetImages.Tests/rewrite.coyote.json
index b7cc8ff97..2cef38260 100644
--- a/Samples/WebApps/PetImagesAspNet/PetImages.Tests/rewrite.coyote.json
+++ b/Samples/WebApps/PetImagesAspNet/PetImages.Tests/rewrite.coyote.json
@@ -1,5 +1,5 @@
{
- "AssembliesPath": "./bin/net7.0",
+ "AssembliesPath": "./bin/net8.0",
"Assemblies": [
"PetImages.dll",
"PetImages.Tests.dll"
diff --git a/Scripts/CI/azure-nuget-sign-publish.yml b/Scripts/CI/azure-nuget-sign-publish.yml
index 205f322f9..b37427ee3 100644
--- a/Scripts/CI/azure-nuget-sign-publish.yml
+++ b/Scripts/CI/azure-nuget-sign-publish.yml
@@ -8,9 +8,9 @@ steps:
versionSpec: 6.x
- task: UseDotNet@2
- displayName: 'Install .NET 7.0 SDK'
+ displayName: 'Install .NET 8.0 SDK'
inputs:
- version: 7.0.x
+ version: 8.0.x
- task: UseDotNet@2
displayName: 'Install .NET 6.0 SDK'
@@ -39,10 +39,10 @@ steps:
pwsh: true
- task: EsrpCodeSigning@2
- displayName: 'ESRP CodeSigning .NET 7.0'
+ displayName: 'ESRP CodeSigning .NET 8.0'
inputs:
ConnectedServiceName: CoyoteNugetSign
- FolderPath: bin\net7.0
+ FolderPath: bin\net8.0
signConfigType: inlineSignParams
inlineOperation: |
[
diff --git a/Scripts/common.psm1 b/Scripts/common.psm1
index fe1876210..985234ae6 100644
--- a/Scripts/common.psm1
+++ b/Scripts/common.psm1
@@ -23,7 +23,7 @@ function Invoke-CoyoteTool([String]$cmd, [String]$dotnet, [String]$framework, [S
$command = "$coyote $cmd $target"
}
- if ($command -eq "rewrite" -and $framework -ne "netcoreapp3.1" -and $framework -ne "net6.0" -and $framework -ne "net7.0" -and $IsWindows) {
+ if ($command -eq "rewrite" -and $framework -ne "netcoreapp3.1" -and $framework -ne "net6.0" -and $framework -ne "net8.0" -and $IsWindows) {
# NOTE: Mono.Cecil cannot sign assemblies on unix platforms.
$command = "$command -snk $key"
}
diff --git a/Scripts/gen-docs.ps1 b/Scripts/gen-docs.ps1
index abba4e023..271f8f3fa 100644
--- a/Scripts/gen-docs.ps1
+++ b/Scripts/gen-docs.ps1
@@ -3,7 +3,7 @@
$root_dir = "$PSScriptRoot\.."
$packages_path = "$root_dir\packages"
-$framework = "net7.0"
+$framework = "net8.0"
Import-Module $PSScriptRoot\common.psm1 -Force
diff --git a/Scripts/run-benchmark-history.ps1 b/Scripts/run-benchmark-history.ps1
index 758c5fe30..d4717ad32 100644
--- a/Scripts/run-benchmark-history.ps1
+++ b/Scripts/run-benchmark-history.ps1
@@ -41,7 +41,7 @@ function RestoreBenchmark() {
Invoke-Expression "sed -i 's/\\Performance.Tests.csproj/\\Microsoft.Coyote.Performance.Tests.csproj/' $RootDir\Coyote.sln"
}
-$benchmarks_dir = "$RootDir/Tools/BenchmarkRunner/bin/net7.0"
+$benchmarks_dir = "$RootDir/Tools/BenchmarkRunner/bin/net8.0"
$benchmark_runner = "BenchmarkRunner.exe"
$index = 0
diff --git a/Scripts/run-benchmarks.ps1 b/Scripts/run-benchmarks.ps1
index c59c2c935..f3e2cc786 100644
--- a/Scripts/run-benchmarks.ps1
+++ b/Scripts/run-benchmarks.ps1
@@ -30,7 +30,7 @@ if ($local -eq ""){
}
$current_dir = (Get-Item -Path "./").FullName
-$benchmarks_dir = "$PSScriptRoot/../Tools/BenchmarkRunner/bin/net7.0"
+$benchmarks_dir = "$PSScriptRoot/../Tools/BenchmarkRunner/bin/net8.0"
$benchmark_runner = "BenchmarkRunner.exe"
$artifacts_dir = "$current_dir/benchmark_$commit"
diff --git a/Scripts/run-tests.ps1 b/Scripts/run-tests.ps1
index bfdba5788..c53649532 100644
--- a/Scripts/run-tests.ps1
+++ b/Scripts/run-tests.ps1
@@ -2,8 +2,8 @@
# Licensed under the MIT License.
param(
- [ValidateSet("net7.0", "net6.0", "netcoreapp3.1", "net462")]
- [string]$framework = "net7.0",
+ [ValidateSet("net8.0", "net6.0", "netcoreapp3.1", "net462")]
+ [string]$framework = "net8.0",
[ValidateSet("all", "runtime", "rewriting", "testing", "actors", "actors-testing", "tools")]
[string]$test = "all",
[string]$filter = "",
@@ -32,8 +32,14 @@ $dotnet_runtime_path = FindDotNetRuntimePath -dotnet $dotnet -runtime "NETCore"
$aspnet_runtime_path = FindDotNetRuntimePath -dotnet $dotnet -runtime "AspNetCore"
$runtime_version = FindDotNetRuntimeVersion -dotnet_runtime_path $dotnet_runtime_path
+# NOTE: we do some hacks to get around a known issue with dotnet tool
+# command being available after locally being restored.
+# Example: https://github.com/dotnet/sdk/issues/11820
# Restore the local ilverify tool.
+&dotnet nuget locals all --clear
&dotnet tool restore
+&dotnet tool install dotnet-ilverify --version 8.0.0
+&dotnet tool list
$ilverify = "dotnet ilverify"
[System.Environment]::SetEnvironmentVariable('COYOTE_CLI_TELEMETRY_OPTOUT', '1')
@@ -53,12 +59,12 @@ foreach ($kvp in $targets.GetEnumerator()) {
}
$target = "$PSScriptRoot/../Tests/$($kvp.Value)/$($kvp.Value).csproj"
- if ($f -eq "net7.0") {
+ if ($f -eq "net8.0") {
$AssemblyName = GetAssemblyName($target)
- $command = [IO.Path]::Combine($PSScriptRoot, "..", "Tests", $($kvp.Value), "bin", "net7.0", "$AssemblyName.dll")
+ $command = [IO.Path]::Combine($PSScriptRoot, "..", "Tests", $($kvp.Value), "bin", "net8.0", "$AssemblyName.dll")
$command = $command + ' -r "' + [IO.Path]::Combine( `
- $PSScriptRoot, "..", "Tests", $($kvp.Value), "bin", "net7.0", "*.dll") + '"'
- $command = $command + ' -r "' + [IO.Path]::Combine($PSScriptRoot, "..", "bin", "net7.0", "*.dll") + '"'
+ $PSScriptRoot, "..", "Tests", $($kvp.Value), "bin", "net8.0", "*.dll") + '"'
+ $command = $command + ' -r "' + [IO.Path]::Combine($PSScriptRoot, "..", "bin", "net8.0", "*.dll") + '"'
$command = $command + ' -r "' + [IO.Path]::Combine($dotnet_runtime_path, $runtime_version, "*.dll") + '"'
$command = $command + ' -r "' + [IO.Path]::Combine($aspnet_runtime_path, $runtime_version, "*.dll") + '"'
Invoke-ToolCommand -tool $ilverify -cmd $command -error_msg "found corrupted assembly rewriting"
diff --git a/Source/Test/Rewriting/RewritingOptions.cs b/Source/Test/Rewriting/RewritingOptions.cs
index 21042884a..1b2666929 100644
--- a/Source/Test/Rewriting/RewritingOptions.cs
+++ b/Source/Test/Rewriting/RewritingOptions.cs
@@ -308,7 +308,7 @@ private static bool TryResolveTargetFramework(Assembly assembly, out string reso
{
if (tokens[0] == ".NETCoreApp")
{
- resolvedTargetFramework = tokens[1] is "v7.0" ? "net7.0" :
+ resolvedTargetFramework = tokens[1] is "v8.0" ? "net8.0" :
tokens[1] is "v6.0" ? "net6.0" :
tokens[1] is "v3.1" ? "netcoreapp3.1" :
resolvedTargetFramework;
@@ -331,10 +331,10 @@ private static bool TryResolveTargetFramework(Assembly assembly, out string reso
/// {
/// // The directory with the assemblies to rewrite. This path is relative
/// // to this configuration file.
- /// "AssembliesPath": "./bin/net7.0",
+ /// "AssembliesPath": "./bin/net8.0",
/// // The output directory where rewritten assemblies are placed. This path
/// // is relative to this configuration file.
- /// "OutputPath": "./bin/net7.0/RewrittenBinaries",
+ /// "OutputPath": "./bin/net8.0/RewrittenBinaries",
/// // The assemblies to rewrite. The paths are relative to 'AssembliesPath'.
/// "Assemblies": [
/// "Example.exe"
diff --git a/Source/Test/Rewriting/Types/Threading/Interlocked.cs b/Source/Test/Rewriting/Types/Threading/Interlocked.cs
index 1b6bc8b68..3e3d009c1 100644
--- a/Source/Test/Rewriting/Types/Threading/Interlocked.cs
+++ b/Source/Test/Rewriting/Types/Threading/Interlocked.cs
@@ -241,7 +241,7 @@ public static IntPtr Exchange(ref IntPtr location1, IntPtr value)
return SystemInterlocked.Exchange(ref location1, value);
}
-#if NET7_0_OR_GREATER
+#if NET8_0_OR_GREATER
///
/// Sets a platform-specific handle or pointer to a specified value and returns the
/// original value, as an atomic operation.
@@ -346,7 +346,7 @@ public static IntPtr CompareExchange(ref IntPtr location1, IntPtr value, IntPtr
return SystemInterlocked.CompareExchange(ref location1, value, comparand);
}
-#if NET7_0_OR_GREATER
+#if NET8_0_OR_GREATER
///
/// Compares two platform-specific handles or pointers for equality and, if they
/// are equal, replaces the first one.
diff --git a/Source/Test/Test.csproj b/Source/Test/Test.csproj
index bec9d421b..c76b6d102 100644
--- a/Source/Test/Test.csproj
+++ b/Source/Test/Test.csproj
@@ -19,8 +19,8 @@
-
-
+
+
@@ -30,7 +30,7 @@
-
+
diff --git a/Tests/compare-rewriting-diff-logs.ps1 b/Tests/compare-rewriting-diff-logs.ps1
index 91a891910..abc94e1d0 100644
--- a/Tests/compare-rewriting-diff-logs.ps1
+++ b/Tests/compare-rewriting-diff-logs.ps1
@@ -3,7 +3,7 @@
Import-Module $PSScriptRoot/../Scripts/common.psm1 -Force
-$framework = "net7.0"
+$framework = "net8.0"
$targets = [ordered]@{
"rewriting" = "Tests.Rewriting"
"rewriting-helpers" = "Tests.Rewriting.Helpers"
diff --git a/Tests/get-rewriting-diff-logs.ps1 b/Tests/get-rewriting-diff-logs.ps1
index 319c20069..8def4195e 100644
--- a/Tests/get-rewriting-diff-logs.ps1
+++ b/Tests/get-rewriting-diff-logs.ps1
@@ -3,7 +3,7 @@
Import-Module $PSScriptRoot/../Scripts/common.psm1 -Force
-$framework = "net7.0"
+$framework = "net8.0"
$targets = [ordered]@{
"rewriting" = "Tests.Rewriting"
"rewriting-helpers" = "Tests.Rewriting.Helpers"
diff --git a/Tools/CLI/Coyote.CLI.csproj b/Tools/CLI/Coyote.CLI.csproj
index 38da737bf..177f48c83 100644
--- a/Tools/CLI/Coyote.CLI.csproj
+++ b/Tools/CLI/Coyote.CLI.csproj
@@ -20,13 +20,13 @@
-
+
-
+
-
+
diff --git a/Tools/Coyote/Coyote.csproj b/Tools/Coyote/Coyote.csproj
index 8c43ef371..45d873e78 100644
--- a/Tools/Coyote/Coyote.csproj
+++ b/Tools/Coyote/Coyote.csproj
@@ -22,17 +22,17 @@
all
-
+
-
+
all
-
+
all
diff --git a/docs/assets/images/RaftMocking.dgml b/docs/assets/images/RaftMocking.dgml
index aedc01735..81ada9053 100644
--- a/docs/assets/images/RaftMocking.dgml
+++ b/docs/assets/images/RaftMocking.dgml
@@ -432,9 +432,9 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/docs/assets/images/RaftMocking.svg b/docs/assets/images/RaftMocking.svg
index 2e8ac3f83..d579fa497 100644
--- a/docs/assets/images/RaftMocking.svg
+++ b/docs/assets/images/RaftMocking.svg
@@ -8,74 +8,74 @@
-
-
+
+
-
+
Raft.Mocking.dll
-
+
-
+
Microsoft.Coyote.Samples.CloudMessaging
-
+
MockClient
-
+
MockClusterManager
-
+
Microsoft.Coyote.Samples.Mocking
-
+
-
+
-
+
-
+
MockServerHost
-
+
Program
-
+
RaftTestScenario
-
+
SafetyMonitor
@@ -83,133 +83,133 @@
-
+
Raft.dll
-
+
Microsoft.Coyote.Samples.CloudMessaging
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
AppendLogEntriesRequestEvent
-
+
AppendLogEntriesResponseEvent
-
+
ClientRequestEvent
-
+
ClientResponseEvent
-
+
ClusterManager
-
+
IServerManager
-
+
Log
-
+
NotifyJoinedServiceEvent
-
+
RegisterClientEvent
-
+
RegisterServerEvent
-
+
Server
-
+
VoteRequestEvent
-
+
VoteResponseEvent
diff --git a/docs/assets/images/cloudmessaging.dgml b/docs/assets/images/cloudmessaging.dgml
index 17c25fdbe..249e0aa13 100644
--- a/docs/assets/images/cloudmessaging.dgml
+++ b/docs/assets/images/cloudmessaging.dgml
@@ -413,9 +413,9 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/docs/assets/images/cloudmessaging.svg b/docs/assets/images/cloudmessaging.svg
index d942d3071..63692575a 100644
--- a/docs/assets/images/cloudmessaging.svg
+++ b/docs/assets/images/cloudmessaging.svg
@@ -8,52 +8,52 @@
-
-
+
+
-
+
Raft.Azure.dll
-
+
Microsoft.Coyote.Samples.CloudMessaging
-
+
-
+
-
+
-
+
AzureClusterManager
-
+
AzureMessageReceiver
-
+
AzureServer
-
+
Program
@@ -61,133 +61,133 @@
-
+
Raft.dll
-
+
Microsoft.Coyote.Samples.CloudMessaging
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
ClientRequestEvent
-
+
ClientResponseEvent
-
+
ClusterManager
-
+
IServerManager
-
+
Log
-
+
NotifyJoinedServiceEvent
-
+
RegisterClientEvent
-
+
RegisterServerEvent
-
+
Server
-
+
VoteRequestEvent
-
+
VoteResponseEvent
-
+
AppendLogEntriesRequestEvent
-
+
AppendLogEntriesResponseEvent
diff --git a/docs/assets/images/core.dgml b/docs/assets/images/core.dgml
index 4746b3610..f93dbaf89 100644
--- a/docs/assets/images/core.dgml
+++ b/docs/assets/images/core.dgml
@@ -1884,7 +1884,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/docs/concepts/binary-rewriting.md b/docs/concepts/binary-rewriting.md
index 4db863576..31a82f46b 100644
--- a/docs/concepts/binary-rewriting.md
+++ b/docs/concepts/binary-rewriting.md
@@ -33,8 +33,8 @@ file, which looks like this example:
```json
{
- "AssembliesPath": "bin/net7.0",
- "OutputPath": "bin/net7.0/rewritten",
+ "AssembliesPath": "bin/net8.0",
+ "OutputPath": "bin/net8.0/rewritten",
"Assemblies": [
"BoundedBuffer.dll",
"MyOtherLibrary.dll",
diff --git a/docs/get-started/build-source.md b/docs/get-started/build-source.md
index 921ab8644..feb7493ae 100644
--- a/docs/get-started/build-source.md
+++ b/docs/get-started/build-source.md
@@ -8,7 +8,7 @@ the github repo
### Prerequisites
-- [.NET 7.0 SDK](https://dotnet.microsoft.com/download/dotnet)
+- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet)
**Optional:**
diff --git a/docs/get-started/install.md b/docs/get-started/install.md
index eb189ccfe..d093290ad 100644
--- a/docs/get-started/install.md
+++ b/docs/get-started/install.md
@@ -10,7 +10,7 @@ frameworks supported by Coyote:
| Target Framework | Operating System |
| :-------------------: | :-------------------: |
-| .NET 7.0 | Linux, macOS, Windows |
+| .NET 8.0 | Linux, macOS, Windows |
| .NET 6.0 | Linux, macOS, Windows |
| .NET Core 3.1 | Linux, macOS, Windows |
| .NET Standard 2.0 | Linux, macOS, Windows |
diff --git a/docs/get-started/using-coyote.md b/docs/get-started/using-coyote.md
index b2731704d..30c8abde1 100644
--- a/docs/get-started/using-coyote.md
+++ b/docs/get-started/using-coyote.md
@@ -216,7 +216,7 @@ explore Coyote further!
**Format of the executable (.exe) or library (.dll) is invalid.**
If you are using a .NET Core target platform then on Windows you will get executable program with
-`.exe` file extension, like `coyote\Samples\bin\net7.0\BoundedBuffer.exe` These are not
+`.exe` file extension, like `coyote\Samples\bin\net8.0\BoundedBuffer.exe` These are not
rewritable assemblies. You must instead rewrite and test the associated library, in this case
`BoundedBuffer.dll`.
diff --git a/docs/how-to/coverage.md b/docs/how-to/coverage.md
index 1d2a69fc9..9634b7a70 100644
--- a/docs/how-to/coverage.md
+++ b/docs/how-to/coverage.md
@@ -89,14 +89,14 @@ Then run `coyote` with one of the coverage flags, as well as the other options y
some minimal examples:
```plain
-coyote test ./bin/net7.0/Monitors.exe -i 10 --coverage
+coyote test ./bin/net8.0/Monitors.exe -i 10 --coverage
```
-This will create the directory `./bin/net7.0/Output/Monitors.exe/CoyoteOutput/`, then it
+This will create the directory `./bin/net8.0/Output/Monitors.exe/CoyoteOutput/`, then it
generates coverage files for code coverage which you can load into Visual Studio to see the results.
```plain
-coyote test ./bin/net7.0/Monitors.exe -i 10 -coverage activity -o "/Coyote_Coverage/Monitors"
+coyote test ./bin/net8.0/Monitors.exe -i 10 -coverage activity -o "/Coyote_Coverage/Monitors"
```
This will create the directory `/Coyote_Coverage/Monitors/CoyoteOutput`, then it generates only
diff --git a/docs/how-to/liveness-checking.md b/docs/how-to/liveness-checking.md
index fa7e91b32..a2c3b7473 100644
--- a/docs/how-to/liveness-checking.md
+++ b/docs/how-to/liveness-checking.md
@@ -29,7 +29,7 @@ the [coyote tool](../get-started/using-coyote.md) as follows, setting N steps as
From the [samples](https://github.com/microsoft/coyote/tree/main/Samples) directory:
```plain
-coyote test ./Samples/bin/net7.0/CoffeeMachineActors.dll -i 10 -ms 200 -s portfolio
+coyote test ./Samples/bin/net8.0/CoffeeMachineActors.dll -i 10 -ms 200 -s portfolio
```
The `coyote test` tool will produce output, ending with something like the following:
@@ -52,7 +52,7 @@ averaging 457 steps. Going by this output, let's decide to increase the bound to
`coyote test`.
```plain
-coyote test ./Samples/bin/net7.0/CoffeeMachineActors.dll -i 10 -ms 1000 -s portfolio
+coyote test ./Samples/bin/net8.0/CoffeeMachineActors.dll -i 10 -ms 1000 -s portfolio
```
This time the output will be something like:
diff --git a/docs/how-to/unit-testing.md b/docs/how-to/unit-testing.md
index b3691fc07..ca21ee32d 100644
--- a/docs/how-to/unit-testing.md
+++ b/docs/how-to/unit-testing.md
@@ -16,7 +16,7 @@ a complete example using xUnit. The project simply includes xUnit and the Coyote
```xml
- net7.0
+ net8.0
diff --git a/docs/samples/actors/failover-robot-navigator.md b/docs/samples/actors/failover-robot-navigator.md
index 1a16d6ea3..5aaacfe59 100644
--- a/docs/samples/actors/failover-robot-navigator.md
+++ b/docs/samples/actors/failover-robot-navigator.md
@@ -110,7 +110,7 @@ before coding and pushing to production.
To run the `DrinksServingRobotActors` example, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -124,7 +124,7 @@ You can build the sample by following the instructions
Now you can run the `DrinksServingRobotActors` application:
```plain
-./Samples/bin/net7.0/DrinksServingRobotActors.exe
+./Samples/bin/net8.0/DrinksServingRobotActors.exe
```
When you run the executable like this without using `coyote test` (this is called running in
@@ -238,13 +238,13 @@ You can now use `coyote test` to test the code and see if any bugs can be found.
`CoyoteSamples` folder enter this command:
```plain
-coyote test ./Samples/bin/net7.0/DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10
+coyote test ./Samples/bin/net8.0/DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10
```
Chances are this will find a bug quickly, and you will see output from the test like this:
```plain
-. Testing .\Samples\bin\net7.0\DrinksServingRobotActors.exe
+. Testing .\Samples\bin\net8.0\DrinksServingRobotActors.exe
Starting TestingProcessScheduler in process 26236
... Created '1' testing task.
... Task 0 is using 'prioritization' strategy (seed:324932188).
@@ -275,7 +275,7 @@ Starting TestingProcessScheduler in process 26236
```
Notice that a log file is produced
-`.bin\net7.0\Output\DrinksServingRobot.exe\CoyoteOutput\DrinksServingRobot_0_1.txt`. This log can be
+`.bin\net8.0\Output\DrinksServingRobot.exe\CoyoteOutput\DrinksServingRobot_0_1.txt`. This log can be
pretty big, it contains the test iteration that failed, and towards the end of this file you will
see something like this:
@@ -471,7 +471,7 @@ liveness bug in hot state 'Busy' at the end of program execution.
If you add to the coyote test command line `--actor-graph`, and test again:
```plain
-coyote test .\Samples\bin\net7.0\DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10 --actor-graph
+coyote test .\Samples\bin\net8.0\DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10 --actor-graph
```
you'll see in the output of the tester that a DGML diagram has been produced:
@@ -640,7 +640,7 @@ After you perform this fix and rebuild the sample, try running coyote test again
command line which previously reported the liveness bug:
```plain
-coyote test ./Samples/bin/net7.0/DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10
+coyote test ./Samples/bin/net8.0/DrinksServingRobotActors.dll -i 1000 -ms 2000 -s prioritization -sv 10
```
And now no bug will be found -- you should get result similar to this:
diff --git a/docs/samples/actors/failure-detector.md b/docs/samples/actors/failure-detector.md
index 1b5bd80ba..666851845 100644
--- a/docs/samples/actors/failure-detector.md
+++ b/docs/samples/actors/failure-detector.md
@@ -11,7 +11,7 @@ late at night scratching your head. Read further to learn how to find this bug u
You will also need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -26,7 +26,7 @@ Let's see if Coyote can find the bug in this sample. Type `coyote -?` to see the
sure you have installed it correctly. Now you are ready to run a `coyote` test as follows:
```plain
-coyote test ./Samples/bin/net7.0/Monitors.dll --iterations 1000 -ms 200
+coyote test ./Samples/bin/net8.0/Monitors.dll --iterations 1000 -ms 200
```
This also runs perfectly up to 1000 iterations. So this is indeed a hard bug to find. It can be
@@ -35,7 +35,7 @@ points `--strategy prioritization` (or with the default `random` exploration str
much larger number of iterations, typically more than 100,000 of them).
```plain
-coyote test ./Samples/bin/net7.0/Monitors.dll --iterations 1000 -ms 200 -s prioritization -sv 10
+coyote test ./Samples/bin/net8.0/Monitors.dll --iterations 1000 -ms 200 -s prioritization -sv 10
```
Even then you might need to run it a few times to catch the bug. Set `--iterations` to a bigger
@@ -48,8 +48,8 @@ strategy, you will see a bug report:
```plain
... Task 0 found a bug.
... Emitting task 0 traces:
-..... Writing .\Samples\bin\net7.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.txt
-..... Writing .\Samples\bin\net7.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.trace
+..... Writing .\Samples\bin\net8.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.txt
+..... Writing .\Samples\bin\net8.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.trace
```
The `*.txt` file is the text log of the iteration that found the bug. The `*.trace` contains the
@@ -59,10 +59,10 @@ Finding a hard to find bug is one thing, but if you can't reproduce this bug whi
is no point. So the `*.trace` can be used with the `coyote replay` command as follows:
```plain
-coyote replay ./Samples/bin/net7.0/Monitors.dll
- .\Samples\bin\net7.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.trace
+coyote replay ./Samples/bin/net8.0/Monitors.dll
+ .\Samples\bin\net8.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_0.trace
-. Reproducing trace in ./Samples/bin/net7.0/Monitors.exe
+. Reproducing trace in ./Samples/bin/net8.0/Monitors.exe
... Reproduced 1 bug.
... Elapsed 0.1724228 sec.
```
@@ -74,14 +74,14 @@ tool can help you with that also. If you run the following command line it will
diagram of the state machines that are being tested:
```plain
-coyote test ./Samples/bin/net7.0/Monitors.dll --iterations 10 --max-steps 20 --actor-graph
+coyote test ./Samples/bin/net8.0/Monitors.dll --iterations 10 --max-steps 20 --actor-graph
```
You will see the following output:
```plain
... Emitting graph:
-..... Writing .\Samples\bin\net7.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_1.dgml
+..... Writing .\Samples\bin\net8.0\Output\Monitors.exe\CoyoteOutput\Monitors_0_1.dgml
```
Open the DGML diagram using Visual Studio 2022 and you will see the following:
diff --git a/docs/samples/tasks/bounded-buffer.md b/docs/samples/tasks/bounded-buffer.md
index 102878ef1..0905315b8 100644
--- a/docs/samples/tasks/bounded-buffer.md
+++ b/docs/samples/tasks/bounded-buffer.md
@@ -10,7 +10,7 @@ article](https://cloudblogs.microsoft.com/opensource/2020/07/14/extreme-programm
To run the `BoundedBuffer` example, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -25,13 +25,13 @@ Now you can run the `BoundedBuffer` application in a mode that should trigger th
the time:
```plain
-./Samples/bin/net7.0/BoundedBuffer.exe -m
+./Samples/bin/net8.0/BoundedBuffer.exe -m
```
And you can run it with a fix for the deadlock as follows:
```plain
-./Samples/bin/net7.0/BoundedBuffer.exe -f
+./Samples/bin/net8.0/BoundedBuffer.exe -f
```
### Can you find the deadlock bug in BoundedBuffer class?
diff --git a/docs/tutorials/actors/hello-world.md b/docs/tutorials/actors/hello-world.md
index 3c35733f5..5f024dc4b 100644
--- a/docs/tutorials/actors/hello-world.md
+++ b/docs/tutorials/actors/hello-world.md
@@ -10,7 +10,7 @@ model](../../concepts/actors/overview.md).
To run the Hello World Actors example, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -24,7 +24,7 @@ You can build the sample by following the instructions
Now you can run the HelloWorldActors application:
```plain
-"./Samples/bin/net7.0/HelloWorldActors.exe"
+"./Samples/bin/net8.0/HelloWorldActors.exe"
```
Press the ENTER key to terminate the program when it is done. Note that a bug has been inserted into
@@ -59,13 +59,13 @@ find the `coyote` test tool and setup your environment to use it.
Enter the following from the command line:
```plain
-coyote test ./Samples/bin/net7.0/HelloWorldActors.dll --iterations 30
+coyote test ./Samples/bin/net8.0/HelloWorldActors.dll --iterations 30
```
The result is:
```plain
-. Testing .\Samples\bin\net7.0\HelloWorldActors.dll
+. Testing .\Samples\bin\net8.0\HelloWorldActors.dll
Starting TestingProcessScheduler in process 16432
... Created '1' testing task.
... Task 0 is using 'random' strategy (seed:308255541).
@@ -73,8 +73,8 @@ Starting TestingProcessScheduler in process 16432
..... Iteration #2
... Task 0 found a bug.
... Emitting task 0 traces:
-..... Writing .\Samples\bin\net7.0\Output\HelloWorldActors.exe\CoyoteOutput\HelloWorldActors_0_2.txt
-..... Writing .\Samples\bin\net7.0\Output\HelloWorldActors.exe\CoyoteOutput\HelloWorldActors_0_2.trace
+..... Writing .\Samples\bin\net8.0\Output\HelloWorldActors.exe\CoyoteOutput\HelloWorldActors_0_2.txt
+..... Writing .\Samples\bin\net8.0\Output\HelloWorldActors.exe\CoyoteOutput\HelloWorldActors_0_2.trace
... Elapsed 0.0906639 sec.
... Testing statistics:
..... Found 1 bug.
@@ -240,7 +240,7 @@ tool has ways of interrupting and restarting this `Execute` method based on `--i
So now you know what happened when you ran the following command line:
```plain
-coyote test ./Samples/bin/net7.0/HelloWorldActors.exe --iterations 30
+coyote test ./Samples/bin/net8.0/HelloWorldActors.exe --iterations 30
```
A special coyote `TestingEngine` was created, it invoked the `Execute` method 30 times, and during
diff --git a/docs/tutorials/actors/raft-azure.md b/docs/tutorials/actors/raft-azure.md
index b8a59414f..a20a09a83 100644
--- a/docs/tutorials/actors/raft-azure.md
+++ b/docs/tutorials/actors/raft-azure.md
@@ -31,7 +31,7 @@ is called the `Azure CLI`.
You will also need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -64,7 +64,7 @@ You can build the sample by following the instructions
Now you can run the Raft.Azure application:
```plain
-"./Samples/bin/net7.0/Raft.Azure.exe" --connection-string "%CONNECTION_STRING%" --topic-name rafttopic --num-requests 5 --local-cluster-size 5
+"./Samples/bin/net8.0/Raft.Azure.exe" --connection-string "%CONNECTION_STRING%" --topic-name rafttopic --num-requests 5 --local-cluster-size 5
```
Note: you don't want to try and run Raft.Azure client using the `coyote test` tool until you
diff --git a/docs/tutorials/actors/raft-mocking.md b/docs/tutorials/actors/raft-mocking.md
index b8eaef301..e854df5c7 100644
--- a/docs/tutorials/actors/raft-mocking.md
+++ b/docs/tutorials/actors/raft-mocking.md
@@ -19,7 +19,7 @@ you achieve a high level of confidence that the code is rock solid.
You will also need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -33,12 +33,12 @@ You can build the sample by following the instructions
Now you can run `coyote test` tool on the Raft.Mocking application:
```plain
-coyote test ./Samples/bin/net7.0/Raft.Mocking.dll -i 1000 -ms 200 --coverage activity
+coyote test ./Samples/bin/net8.0/Raft.Mocking.dll -i 1000 -ms 200 --coverage activity
```
You should see the test succeed with output like this, including a coverage report and graph:
```plain
-. Testing ./Samples/bin/net7.0/Raft.Mocking.dll
+. Testing ./Samples/bin/net8.0/Raft.Mocking.dll
Starting TestingProcessScheduler in process 34068
... Created '1' testing task.
... Task 0 is using 'random' strategy (seed:1388735316).
@@ -49,9 +49,9 @@ Starting TestingProcessScheduler in process 34068
..... Iteration #900
..... Iteration #1000
... Emitting coverage reports:
-..... Writing .\Samples\bin\net7.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.dgml
-..... Writing .\Samples\bin\net7.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.coverage.txt
-..... Writing .\Samples\bin\net7.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.coverage.ser
+..... Writing .\Samples\bin\net8.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.dgml
+..... Writing .\Samples\bin\net8.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.coverage.txt
+..... Writing .\Samples\bin\net8.0\Output\Raft.Mocking.dll\CoyoteOutput\Raft.Mocking.coverage.ser
... Testing statistics:
..... Found 0 bugs.
... Exploration statistics:
@@ -127,7 +127,7 @@ async operations. The last option is interesting because it allows you to test m
scheduling strategies at once:
```plain
-coyote test ./Samples/bin/net7.0/Raft.Mocking.dll -i 1000 -ms 200 --coverage activity -s portfolio
+coyote test ./Samples/bin/net8.0/Raft.Mocking.dll -i 1000 -ms 200 --coverage activity -s portfolio
```
When you use this the test will print the chosen strategies at the top of the test output:
diff --git a/docs/tutorials/actors/test-failover.md b/docs/tutorials/actors/test-failover.md
index a7da6c643..fb22c0744 100644
--- a/docs/tutorials/actors/test-failover.md
+++ b/docs/tutorials/actors/test-failover.md
@@ -64,7 +64,7 @@ it happens after failover just to prove the usefulness of this testing methodolo
To run the `CoffeeMachine` example, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -78,7 +78,7 @@ You can build the sample by following the instructions
Now you can run the `CoffeeMachine` application:
```plain
-./Samples/bin/net7.0/CoffeeMachineActors.exe
+./Samples/bin/net8.0/CoffeeMachineActors.exe
```
## The coffee machine
@@ -189,15 +189,15 @@ You can now use [coyote test](../../get-started/using-coyote.md) to exercise the
can be found. From the [samples](https://github.com/microsoft/coyote/tree/main/Samples) directory:
```plain
-coyote test ./Samples/bin/net7.0/CoffeeMachineActors.dll -i 100 -ms 2000 -s prioritization -sv 10 --actor-graph
+coyote test ./Samples/bin/net8.0/CoffeeMachineActors.dll -i 100 -ms 2000 -s prioritization -sv 10 --actor-graph
```
Chances are this will find a bug quickly, one of the safety assertions will fire and you will see
that a test output log and a DGML diagram are produced, like this:
```plain
-.\Samples\bin\net7.0\Output\CoffeeMachineActors.exe\CoyoteOutput\CoffeeMachine_0_0.txt
-.\Samples\bin\net7.0\Output\CoffeeMachineActors.exe\CoyoteOutput\CoffeeMachine_0_0.dgml
+.\Samples\bin\net8.0\Output\CoffeeMachineActors.exe\CoyoteOutput\CoffeeMachine_0_0.txt
+.\Samples\bin\net8.0\Output\CoffeeMachineActors.exe\CoyoteOutput\CoffeeMachine_0_0.dgml
```
This log can be pretty big, a couple thousand lines where each line represents one async operation.
diff --git a/docs/tutorials/first-concurrency-unit-test.md b/docs/tutorials/first-concurrency-unit-test.md
index dc90882aa..5dfedf9d5 100644
--- a/docs/tutorials/first-concurrency-unit-test.md
+++ b/docs/tutorials/first-concurrency-unit-test.md
@@ -17,7 +17,7 @@ you in writing correct concurrent code.
To run the code in this tutorial, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -410,7 +410,7 @@ You can build the sample by following the instructions
You can now run the tests (without Coyote) like this:
```plain
-cd .\Samples\bin\net7.0
+cd .\Samples\bin\net8.0
.\AccountManager.exe
```
diff --git a/docs/tutorials/mocks/mock-dependencies.md b/docs/tutorials/mocks/mock-dependencies.md
index 0d7122a94..3cd98f4cc 100644
--- a/docs/tutorials/mocks/mock-dependencies.md
+++ b/docs/tutorials/mocks/mock-dependencies.md
@@ -24,7 +24,7 @@ means that using locks in your code will not help you in writing correct concurr
To run the code in this tutorial, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
- Go through the [write your first concurrency unit test](../first-concurrency-unit-test.md) tutorial.
diff --git a/docs/tutorials/mocks/optimistic-concurrency-control.md b/docs/tutorials/mocks/optimistic-concurrency-control.md
index 714530d11..44287b059 100644
--- a/docs/tutorials/mocks/optimistic-concurrency-control.md
+++ b/docs/tutorials/mocks/optimistic-concurrency-control.md
@@ -27,7 +27,7 @@ trivial.
To run the code in this tutorial, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
- Go through the [mocking dependencies for testing](mock-dependencies.md) tutorial.
diff --git a/docs/tutorials/test-concurrent-operations.md b/docs/tutorials/test-concurrent-operations.md
index 511a23bd5..fd10f43f8 100644
--- a/docs/tutorials/test-concurrent-operations.md
+++ b/docs/tutorials/test-concurrent-operations.md
@@ -14,7 +14,7 @@ In this follow-up tutorial, you will write a few more tests that exercise the co
To run the code in this tutorial, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
- Go through the [write your first concurrency unit test](first-concurrency-unit-test.md) tutorial.
diff --git a/docs/tutorials/test-failover.md b/docs/tutorials/test-failover.md
index 49c849cc5..30c7bd7cb 100644
--- a/docs/tutorials/test-failover.md
+++ b/docs/tutorials/test-failover.md
@@ -60,7 +60,7 @@ it happens after failover just to prove the usefulness of this testing methodolo
To run the `CoffeeMachine` example, you will need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -74,7 +74,7 @@ You can build the sample by following the instructions
Now you can run the `CoffeeMachine` application:
```plain
-./Samples/bin/net7.0/CoffeeMachineTasks.exe
+./Samples/bin/net8.0/CoffeeMachineTasks.exe
```
## The Coffee Machine
@@ -182,20 +182,20 @@ You can now use [coyote test](../get-started/using-coyote.md) to exercise the co
bugs can be found. First you need to rewrite the assembly, from the `Samples` directory:
```plain
-coyote rewrite ./Samples/bin/net7.0/CoffeeMachineTasks.dll
+coyote rewrite ./Samples/bin/net8.0/CoffeeMachineTasks.dll
```
Then you can run the test:
```plain
-coyote test ./Samples/bin/net7.0/CoffeeMachineTasks.dll -i 1000 -ms 500 -s fair-prioritization -sv 10
+coyote test ./Samples/bin/net8.0/CoffeeMachineTasks.dll -i 1000 -ms 500 -s fair-prioritization -sv 10
```
Chances are this will find a bug quickly, one of the safety assertions will fire and you will see
that a test output log is produced, like this:
```plain
-.\Samples\bin\net7.0\Output\CoffeeMachineTasks.exe\CoyoteOutput\CoffeeMachine_0_0.txt
+.\Samples\bin\net8.0\Output\CoffeeMachineTasks.exe\CoyoteOutput\CoffeeMachine_0_0.txt
```
This log contains only the one test iteration that failed, and towards the end you will see
diff --git a/docs/tutorials/testing-aspnet-service.md b/docs/tutorials/testing-aspnet-service.md
index a1610a3b4..6d376e82c 100644
--- a/docs/tutorials/testing-aspnet-service.md
+++ b/docs/tutorials/testing-aspnet-service.md
@@ -12,7 +12,7 @@ Coyote and you can run the web front end using the Azure storage emulators.
You will also need to:
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/).
-- Install the [.NET 7.0 version of the coyote tool](../get-started/install.md).
+- Install the [.NET 8.0 version of the coyote tool](../get-started/install.md).
- Be familiar with the `coyote` tool. See [using Coyote](../get-started/using-coyote.md).
- Clone the [Coyote git repo](http://github.com/microsoft/coyote).
@@ -155,7 +155,7 @@ Just run them from inside Visual Studio, or run the following:
```
cd Samples/WebApps/ImageGalleryAspNet/
-dotnet test bin/net7.0/ImageGalleryTests.dll
+dotnet test bin/net8.0/ImageGalleryTests.dll
```
The tests may or may not trigger the bug! Most likely you will see this output:
diff --git a/global.json b/global.json
index 06ce1b485..e72335a83 100644
--- a/global.json
+++ b/global.json
@@ -1,5 +1,5 @@
{
"sdk": {
- "version": "7.0.400"
+ "version": "8.0.201"
}
}