Граф коммитов

37 Коммитов

Автор SHA1 Сообщение Дата
Pantazis Deligiannis 5d80beaa11
dropping unsupported netcore 3.1 target and fixing JSON dependency (#507) 2024-07-16 02:01:13 -07:00
Pantazis Deligiannis 3a04e9e21c
update the project to net8.0 (#497) 2024-03-04 12:17:18 -08:00
Pantazis Deligiannis 96e8b8b493
updated dependency packages (#442) 2022-12-15 12:44:02 -08:00
Pantazis Deligiannis 0f700c0c87
update the project to net7.0 (#439) 2022-12-14 12:06:45 -08:00
Pantazis Deligiannis 6ea5ba98bc
fix missing net462 dependency in nuget package (#437) 2022-12-02 12:06:08 -08:00
Pantazis Deligiannis f83b21afcd
fix empty symbol meta package (#414) 2022-10-31 12:41:50 -07:00
Pantazis Deligiannis 1d6fe3f2b3
added the portfolio exploration mode (#410) 2022-10-27 19:48:15 -07:00
Pantazis Deligiannis 447b016958
improvements in nuget packaging (#409) 2022-10-26 14:46:35 -07:00
Pantazis Deligiannis 979534d1ba
removing support for end-of-life net5.0 target (#402) 2022-10-17 16:25:20 -07:00
Pantazis Deligiannis da6b68ee97
updates to the CLI experience (#321) 2022-03-25 18:07:13 -07:00
Pantazis Deligiannis 441138f978
support for netstandard2.0 (#286) 2022-02-07 16:21:43 -08:00
Pantazis Deligiannis 9d4b46cce5
optimizations and hardening in binary rewriting (#260) 2021-12-08 19:50:10 -08:00
Pantazis Deligiannis 8d0fe88d11
improved runtime framework targeting (#259) 2021-12-01 16:42:22 -08:00
Pantazis Deligiannis f53f630681
upgrade to dotnet 6 (#255) 2021-11-18 10:33:42 -08:00
Pantazis Deligiannis 62edcd3580
allowing the coyote tool to resolve aspnet (#224) 2021-09-14 16:42:29 -07:00
Pantazis Deligiannis 519867d028
more deprecated custom task type removal (#199) 2021-07-07 14:32:08 -07:00
Pantazis Deligiannis a433e3b56c
support for net462 target (#161) 2021-04-21 19:29:25 -07:00
Pantazis Deligiannis a407b9e765
added support for net5.0 (#94) 2020-11-11 12:43:01 -08:00
Pantazis Deligiannis f0752de603 Merged PR 2907: updated .NET SDK
Updating the .NET SDK to latest LTS version.
2020-08-12 22:39:46 +00:00
Pantazis Deligiannis 13d5b25dff Merged PR 2212: separated testing engine from core and added telemetry
Related work items: #3899
2020-06-02 20:09:25 +00:00
Pantazis Deligiannis 679e3a428f Merged PR 2170: removing net46 and simplifying library targets
Our library should now support .NET 4.6.1 and upwards. See: https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support

Also now we support ConfigurationManager and loading user assembly configurations in all our targets :)

This moved to the tool, we dont need it when running programmatic, as the user can load their configurations on their own...
2020-05-26 18:29:32 +00:00
Pantazis Deligiannis 9542c13440 Merged PR 2168: updated to new version of stylecop
Upgrading to latest stylecop. This has new rules for catching some stuff like `.` in end of comments, etc. This will hopefully reduce my pedantic comments in PRs since it will catch this automatically :P

I also fixed the stuff stylecop catched that had escaped us :)
2020-05-22 22:21:07 +00:00
Chris Lovett aa0ee77874 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-22 21:10:28 +00:00
Chris Lovett ecffbb5f97 Merged PR 2106: Make Coyote build pick up the .NET frameworks that are installed
Make Coyote build pick up the .NET frameworks that are installed so the
build does not fail if you are missing some .net 4.6, 4.7, or 4.8.

The solution is to have each .csproj specify one of the following:

```xml
<CoyoteTargetType>Library</CoyoteTargetType>
<CoyoteTargetType>Application</CoyoteTargetType>
<CoyoteTargetType>StandardLibrary</CoyoteTargetType>
```

Which is then interpreted in build.props with logic that checks for the install of .NET 4.6, 4.7 and 4.8 to build the final <TargetFrameworks> property, taking care of Linux where only dotnetcoreapp3.1 **exists.**

Related work items: #3145
2020-05-20 17:37:18 +00:00
Chris Lovett 26561b651d Merged PR 1788: add metadata for dotnet tool
add metadata for dotnet tool and update documentation and tutorials to use this version of the tool, which makes things simpler.  The tool can be built using:
```
nuget pack .\Scripts\NuGet\Coyote.CLI.nuspec -OutputDirectory .\bin\nuget -Version 1.0.5
```
This results in a new nuget package named "Microsoft.CoyoteTool.1.0.3.nupkg", which can be installed using:
```
dotnet tool install --global --add-source ./bin/nuget Microsoft.Coyote.CLI
```
and now you can type "coyote" on the command line.
It is installed here: `C:\Users\Chris\.dotnet\tools\coyote.exe`.
and can be uninstalled with:
```
dotnet tool uninstall --global Microsoft.Coyote.CLI
```

Related work items: #2732
2020-04-23 17:54:58 +00:00
Pantazis Deligiannis 7650aba133 support for netcoreapp3.1 and net48 2020-04-15 12:05:14 -07:00
Pantazis Deligiannis f29151cf60 edits in website and docs 2020-04-08 07:22:04 -07:00
Pantazis Deligiannis 7a5b6822c3 Merged PR 1531: moved shared objects inside core
Also fixed the issue of having a static method inside task completion source (to similar to how its done in shared objects).

Related work items: #2720
2020-03-18 02:15:41 +00:00
Pantazis Deligiannis 4fdf4a22b8 Merged PR 1489: refactoring in projects and namespaces
This PR refactors the projects and test related namespaces.

Related work items: #2714
2020-03-14 16:54:24 +00:00
Chris Lovett cc947642d6 Merged PR 1418: Finish CloudMessaging tutorials.
Finish CloudMessaging tutorials.
Fix coverage report involving Actors.
Add "category" to distinguish Actor, Monitor and StateMachine on the DGML diagrams.
2020-03-06 21:20:01 +00:00
Chris Lovett 605f13c560 Merged PR 1290: Fix bugs related to having Actors in a state machine diagram.
Fix bugs related to having Actors in a state machine diagram.  Specifically the "senderState" on events is null and so we need to handle that properly, both in the DGML generation and the SVG animations.  Added animation to CoffeeMachine tutorial to test it out, since CoffeeMachine MockSensors is an Actor.
2020-02-28 19:32:29 -08:00
Chris Lovett 6ffeaf1372 Merged PR 1130: Replace ILogger with TextWriter and move the implementation to ActorRuntimeLogTextFormatter.
replace ILogger with TextWriter and move the implementation to ActorRuntimeLogTextFormatter to unify all logging done inside LogWriter and prepare the way for xml and json versions of this thing.

Related work items: #2125
2020-02-28 19:32:28 -08:00
Chris Lovett c2c1030f44 Merged PR 1123: Fix bugs in coverage graph so that coverage report is correct.
Graph is consolidating events from one state to another so it shows up as one link, but if those are actually different event types it was forgetting that.  This fix changes the Graph data structure so it can remember multiple event id's on a single link.  The coverage report then uses that to produce the right result.  The handling of Monitors was also slightly wrong where the [hot], [cold] state labels were not matching with the coverage report MachineStates info, so this has been changed to a graph label only, rather than being part of the node id.

Also changed things so that you can now do this on the coyote test command line:
```
--explore --coverage activity
```

and you get the combined coverage of all explorations, regardless of whether any bugs were found.

Related work items: #2037
2020-02-28 19:32:28 -08:00
Chris Lovett 0644d70d4f Merged PR 982: Fix bug in handling of raised events so the links show up correctly.
Fix bug in handling of raised events so the links show up correctly.  The problem was OnHandleRaisedEvent was trying to create a link immediately, but we don't yet know the impact of this raised event.  For example, it might result in a OnEventGotoState transition, in which case we want the link on the diagram to reflect that.  Fortunately the fix was very simple since I had a concept of dequeued events already.

Also added animating raft demo under http://127.0.0.1:4000/coyote/learn/core/demo.

Also added the beginnings of some tutorial content - more of a template really...
2020-02-28 19:32:27 -08:00
Chris Lovett 253d348d80 Merged PR 764: move TestAttributes to a different namespace (Microsoft.Coyote.Metadata)
move TestAttributes to a different namespace (Microsoft.Coyote.Metadata)
2020-02-28 19:32:25 -08:00
Pantazis Deligiannis 6c967b33b6 Merged PR 701: Renaming the command line tool to coyote (without capital)
This PR renamed the command line tool from `Coyote` to `coyote` to make it much easier to write, and also follow the standard practice for the rest of the .NET ecosystem (e.g. similar to the `dotnet`, `nuget`, `msbuild` tools). Also renamed the appropriate bits in the documentation (hopefully did not miss any).

Related work items: #1107
2020-02-28 19:32:24 -08:00
Chris Lovett 91b7ca5d19 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
2020-02-28 19:32:24 -08:00