Coyote is a library and tool for testing concurrent C# code and deterministically reproducing bugs.
Перейти к файлу
Pantazis Deligiannis a6d5dade5a
increased version to 1.5.5 (#338)
2022-05-20 12:09:10 -07:00
.config increased version to 1.5.5 (#338) 2022-05-20 12:09:10 -07:00
.github/workflows updates to nuget package testing for samples (#322) 2022-03-28 16:32:57 -07:00
Common increased version to 1.5.5 (#338) 2022-05-20 12:09:10 -07:00
Samples fixed deadlock in partially controlled concurrency runtime logic (#325) 2022-04-01 17:06:12 -07:00
Scripts fixed deadlock in partially controlled concurrency runtime logic (#325) 2022-04-01 17:06:12 -07:00
Source fixed rewriting bug (#337) 2022-05-20 11:47:03 -07:00
Tests increased version to 1.5.5 (#338) 2022-05-20 12:09:10 -07:00
Tools significantly faster runtime synchronization logic (#330) 2022-04-25 20:44:59 -07:00
docs significantly faster runtime synchronization logic (#330) 2022-04-25 20:44:59 -07:00
.gitattributes enable disabled test (#312) 2022-03-17 11:04:32 -07:00
.gitignore assembly analysis pass that diffs IL contents for debugging (#249) 2021-10-31 23:34:42 -07:00
.travis.yml remove deployment step (#31) 2020-05-23 11:53:14 -07:00
Coyote.sln fixed deadlock in partially controlled concurrency runtime logic (#325) 2022-04-01 17:06:12 -07:00
History.md increased version to 1.5.5 (#338) 2022-05-20 12:09:10 -07:00
LICENSE Initial commit 2020-02-28 19:32:20 -08:00
NuGet.config updates to nuget package testing for samples (#322) 2022-03-28 16:32:57 -07:00
README.md update readme (#319) 2022-03-22 16:40:33 -07:00
SECURITY.md updated security readme to latest version 2020-04-03 10:09:25 -07:00
global.json fixed rewriting bug (#337) 2022-05-20 11:47:03 -07:00
mkdocs-local.yml allow partially controlled concurrency by default (#253) 2022-03-17 10:35:20 -07:00
mkdocs.yml fixed deadlock in partially controlled concurrency runtime logic (#325) 2022-04-01 17:06:12 -07:00

README.md

Coyote

NuGet Join the chat at https://gitter.im/Microsoft/coyote Follow on Twitter

Build and Test CI CodeQL

Coyote is a testing library and tool that helps ensure that your C# code is free of annoying concurrency bugs.

It gives you the ability to reliably unit test the concurrency and other sources of nondeterminism (such as message re-orderings, timeouts and failures) in your C# code. In the heart of Coyote is a scheduler that takes control (via binary rewriting) of your program's concurrent execution during testing and is able to systematically explore the concurrency and nondeterminism to find bugs. The awesome thing is that once Coyote finds a bug it gives you the ability to fully reproduce it as many times as you want, making debugging and fixing the issue much easier.

Coyote is used by many teams in Azure to test their distributed systems and services, finding hundreds of concurrency-related bugs before they manifest in production. In the words of an Azure service architect:

Coyote found several issues early in the dev process, this sort of issues that would usually bleed through into production and become very expensive to fix later.

Coyote is made with ❤️ by Microsoft Research.

Get started

Getting started with Coyote is easy! Check out https://microsoft.github.io/coyote for tutorials, documentation, how-tos, samples and more information about the project. Enjoy!

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.