coyote/Tools/Coyote/Coyote.csproj

75 строки
3.3 KiB
XML
Исходник Обычный вид История

2020-02-29 03:01:21 +03:00
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
2022-10-27 00:46:35 +03:00
<Description>The self-contained Coyote command-line tool.</Description>
<AssemblyName>coyote</AssemblyName>
2022-10-27 00:46:35 +03:00
<RootNamespace>Microsoft.Coyote</RootNamespace>
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
2020-02-29 03:01:21 +03:00
<OutputType>Exe</OutputType>
Merged PR 568: Remove ":" from command line options. Merge Tester and replay tool into one new "coyote" tool. Remove "colons" from command line options. Merge Tester and replay tool into new "coyote" tool. Also added Positional argument support to CommandLineParser. ``` d:\git\foundry99\Coyote>coyote test ..\CoyoteSamples\MachineExamples\bin\net46\FailureDetector.exe -i 100 -ms 10 . Testing ..\CoyoteSamples\MachineExamples\bin\net46\FailureDetector.exe Starting TestingProcessScheduler in process 11348 ... Created '1' testing task. ... Task 0 is using 'Random' strategy (seed:766). ..... Iteration #1 ... Task 0 found a bug. ... Emitting task 0 traces: ..... Writing ..\CoyoteSamples\MachineExamples\bin\net46\Output\FailureDetector.exe\CoyoteTesterOutput\FailureDetector_0_10.txt ..... Writing ..\CoyoteSamples\MachineExamples\bin\net46\Output\FailureDetector.exe\CoyoteTesterOutput\FailureDetector_0_10.pstrace ..... Writing ..\CoyoteSamples\MachineExamples\bin\net46\Output\FailureDetector.exe\CoyoteTesterOutput\FailureDetector_0_10.schedule ... Elapsed 0.1360933 sec. ... Testing statistics: ..... Found 1 bug. ... Scheduling statistics: ..... Explored 1 schedule: 1 fair and 0 unfair. ..... Found 100.00% buggy schedules. ..... Number of scheduling points in fair terminating schedules: 54 (min), 54 (avg), 54 (max). ..... Exceeded the max-steps bound of '10' in 100.00% of the fair schedules. ... Elapsed 0.2428933 sec. . Done d:\git\foundry99\Coyote>coyote replay ..\CoyoteSamples\MachineExamples\bin\net46\FailureDetector.exe \git\foundry99\CoyoteSamples\MachineExamples\bin\net46\Output\FailureDetector.exe\CoyoteTesterOutput\FailureDetector_0_10.schedule . Reproducing trace in ..\CoyoteSamples\MachineExamples\bin\net46\FailureDetector.exe ... Reproduced 1 bug. ... Elapsed 0.1342201 sec. ``` Related work items: #649, #713
2019-10-02 01:53:50 +03:00
<OutputPath>..\..\bin\</OutputPath>
2022-02-08 03:21:43 +03:00
<NetStandard2Supported>false</NetStandard2Supported>
<NoWarn>$(NoWarn),1591</NoWarn>
2020-02-29 03:01:21 +03:00
</PropertyGroup>
2022-10-31 22:41:50 +03:00
<PropertyGroup>
<PackageId>Microsoft.Coyote.Tool</PackageId>
<PackageTags>systematic-testing;specifications;concurrency;dotnet;csharp</PackageTags>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>
<Import Project="..\..\Common\build.props" />
<Import Project="..\..\Common\key.props" />
Merged PR 1994: add app insights to coyote.exe Add app insights to coyote.exe. In order to minimize the impact of the telemetry latency it runs a separate "coyote telemetry server" process that does the Azure stuff. This server times out after 60 seconds and goes away. A customer can opt out by setting an environment variable COYOTE_CLI_TELEMETRY_OPTOUT to the value "1" or "true, so they can easily configure a PC to never send any telemetry. This is consistent with the dotnet variable called DOTNET_CLI_TELEMETRY_OPTOUT. There is also a heartbeat to keep the server alive until a long running test finishes. This ensures a 70 second test can to terminate quickly (with no need to wait to spin up another telemetry server). coyote.exe also prints an extra message on first time usage based on the presence of a file named `C:\Users\Chris\AppData\Local\Microsoft\Coyote\CoyoteMachineId.txt`. This file contains a GUID for the machine which is used as the telemetry device context, which gives us a vague idea of # coyote users. The initial extra message is: ``` Welcome to Microsoft Coyote 1.0.7.0 --------------------------------- Telemetry is enabled -------------------- Microsoft Coyote tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the COYOTE_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true'. Read more about Microsoft Coyote Telemetry at http://aka.ms/coyote-telemetry Use 'coyote --help' to see the full command line options. -------------------------------------------------------------------------------------------- ``` ![image.png](https://dev.azure.com/foundry99/975dff7e-f59d-4848-acf6-64bb21376650/_apis/git/repositories/dea8a739-31a5-40f5-aa4c-e44213d8791f/pullRequests/1994/attachments/image.png) The info is available in F99-Coyote subscription under the dashboard: ![image (2).png](https://dev.azure.com/foundry99/975dff7e-f59d-4848-acf6-64bb21376650/_apis/git/repositories/dea8a739-31a5-40f5-aa4c-e44213d8791f/pullRequests/1994/attachments/image%20(2).png) Related work items: #3493
2020-05-23 00:10:28 +03:00
<ItemGroup>
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" >
2022-10-27 00:46:35 +03:00
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Merged PR 1994: add app insights to coyote.exe Add app insights to coyote.exe. In order to minimize the impact of the telemetry latency it runs a separate "coyote telemetry server" process that does the Azure stuff. This server times out after 60 seconds and goes away. A customer can opt out by setting an environment variable COYOTE_CLI_TELEMETRY_OPTOUT to the value "1" or "true, so they can easily configure a PC to never send any telemetry. This is consistent with the dotnet variable called DOTNET_CLI_TELEMETRY_OPTOUT. There is also a heartbeat to keep the server alive until a long running test finishes. This ensures a 70 second test can to terminate quickly (with no need to wait to spin up another telemetry server). coyote.exe also prints an extra message on first time usage based on the presence of a file named `C:\Users\Chris\AppData\Local\Microsoft\Coyote\CoyoteMachineId.txt`. This file contains a GUID for the machine which is used as the telemetry device context, which gives us a vague idea of # coyote users. The initial extra message is: ``` Welcome to Microsoft Coyote 1.0.7.0 --------------------------------- Telemetry is enabled -------------------- Microsoft Coyote tools collect usage data in order to help us improve your experience. The data is anonymous. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the COYOTE_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true'. Read more about Microsoft Coyote Telemetry at http://aka.ms/coyote-telemetry Use 'coyote --help' to see the full command line options. -------------------------------------------------------------------------------------------- ``` ![image.png](https://dev.azure.com/foundry99/975dff7e-f59d-4848-acf6-64bb21376650/_apis/git/repositories/dea8a739-31a5-40f5-aa4c-e44213d8791f/pullRequests/1994/attachments/image.png) The info is available in F99-Coyote subscription under the dashboard: ![image (2).png](https://dev.azure.com/foundry99/975dff7e-f59d-4848-acf6-64bb21376650/_apis/git/repositories/dea8a739-31a5-40f5-aa4c-e44213d8791f/pullRequests/1994/attachments/image%20(2).png) Related work items: #3493
2020-05-23 00:10:28 +03:00
</ItemGroup>
2024-03-04 23:17:18 +03:00
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
2022-12-14 23:06:45 +03:00
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<FrameworkReference Include="Microsoft.NETCore.App" />
2024-03-04 23:17:18 +03:00
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" >
2022-12-15 23:44:02 +03:00
<PrivateAssets>all</PrivateAssets>
</PackageReference>
2022-12-14 23:06:45 +03:00
</ItemGroup>
2022-03-26 04:07:13 +03:00
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
<FrameworkReference Include="Microsoft.AspNetCore.App" />
2022-10-27 00:46:35 +03:00
<FrameworkReference Include="Microsoft.NETCore.App" />
2024-03-04 23:17:18 +03:00
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" >
2022-12-15 23:44:02 +03:00
<PrivateAssets>all</PrivateAssets>
</PackageReference>
2022-03-26 04:07:13 +03:00
</ItemGroup>
2021-04-22 05:29:25 +03:00
<ItemGroup Condition="'$(TargetFramework)'=='net462'">
<Reference Include="System.Configuration" />
2022-10-27 00:46:35 +03:00
<Reference Include="System.Core" />
2021-04-22 05:29:25 +03:00
</ItemGroup>
2022-10-27 00:46:35 +03:00
<ItemGroup>
<ProjectReference Include="..\..\Source\Core\Core.csproj" >
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
<ProjectReference Include="..\..\Source\Test\Test.csproj" >
<PrivateAssets>all</PrivateAssets>
</ProjectReference>
</ItemGroup>
<PropertyGroup>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);ToolDependenciesTarget</TargetsForTfmSpecificBuildOutput>
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);LibDependenciesTarget</TargetsForTfmSpecificContentInPackage>
</PropertyGroup>
<Target Name="ToolDependenciesTarget">
<ItemGroup>
<BuildOutputInPackage
Include="$(OutputPath)*.dll;$(OutputPath)*.json;$(OutputPath)*.xml"
Exclude="$(OutputPath)$(AssemblyName).*;$(OutputPath)runtimes"
2022-10-27 00:46:35 +03:00
>
<TargetPath></TargetPath>
</BuildOutputInPackage>
</ItemGroup>
</Target>
<Target Name="LibDependenciesTarget">
<ItemGroup>
<TfmSpecificPackageFile Include="$(MSBuildProjectDirectory)/../../Scripts/NuGet/_._">
<PackagePath>lib/$(TargetFramework)</PackagePath>
</TfmSpecificPackageFile>
<TfmSpecificPackageFile Include="$(OutputPath)*.exe.config" Condition="'$(TargetFramework)' == 'net462'">
<PackagePath>$(BuildOutputTargetFolder)/$(TargetFramework)</PackagePath>
</TfmSpecificPackageFile>
2022-10-27 00:46:35 +03:00
</ItemGroup>
</Target>
2020-02-29 03:01:21 +03:00
</Project>