diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..87a3690 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,67 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain + +# Force bash scripts to always use lf line endings so that if a repo is accessed +# in Unix via a file share from Windows, the scripts will work. +*.sh text eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c964fae --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ + +############### +# folder # +############### +/**/DROP/ +/**/TEMP/ +/**/packages/ +/**/bin/ +/**/obj/ +_site diff --git a/README.md b/README.md index 6d301f7..cfa30ba 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,22 @@ # vstest-docs Documentation for vstest runner & engine Developer guide to integrate with vstest runner + +# Contributing +We use [docfx](https://github.com/dotnet/docfx/releases) for building this +documentation. A short primer on editing this repo is below. + +First, [download](https://github.com/dotnet/docfx/releases) latest release of +docfx and extract it locally. We will use `d:\tmp\docfx` as destination for +these steps. + +Open a command prompt, `git clone` this repo. You may use following commands to +build and run a local server. + +``` +> cd d:\src\vstest-docs +> d:\tmp\docfx\docfx.exe serve +``` + +Open [http://localhost:8080/_site][] in a browser to see the rendering of the +documentation. diff --git a/RFCs/toc.yml b/RFCs/toc.yml new file mode 100644 index 0000000..a6db2a8 --- /dev/null +++ b/RFCs/toc.yml @@ -0,0 +1,4 @@ +- name: 1001 - Discovery test protocol + href: vstest-1001-Dotnet-Test-Protocol-V2-Discovery.md +- name: 1002 - Execution test protocol + href: vstest-1002-Dotnet-Test-Protocol-V2-Execution.md diff --git a/RFCs/vstest-1001-Dotnet-Test-Protocol-V2-Discovery.md b/RFCs/vstest-1001-Dotnet-Test-Protocol-V2-Discovery.md index 8cb1d85..703b704 100644 --- a/RFCs/vstest-1001-Dotnet-Test-Protocol-V2-Discovery.md +++ b/RFCs/vstest-1001-Dotnet-Test-Protocol-V2-Discovery.md @@ -20,12 +20,12 @@ These protocol changes provides the following improvements to dotnet-test: ### Protocol This is the existing dotnet-test integration with IDEs: -![dotnet-test v1 protocol](https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/images/DotnetTestDiscoverTests.png) +![dotnet-test v1 protocol](https://github.com/dotnet/cli/raw/rel/1.0.0/Documentation/images/DotnetTestDiscoverTests.png) Reference: https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/dotnet-test-protocol.md Here is what the changed wire protocol looks like after TPV2 integrates with dotnet-test: -![dotnet-test v2 protocol](https://github.com/Microsoft/vstest-docs/blob/c1655dfff45528280bcacc763f3ff8daba25fdd3/RFCs/Images/dotnet-test-protocol-v2-discovery.png) +![dotnet-test v2 protocol](Images/dotnet-test-protocol-v2-discovery.png) ### Breaking changes for Adapter(IDE) 1. The object model used via the wire protocol will change from using [Microsoft.Extensions.Testing.Abstractions.Test](https://github.com/dotnet/cli/blob/rel/1.0.0/src/Microsoft.Extensions.Testing.Abstractions/Test.cs) to [Microsoft.VisualStudio.TestPlatform.ObjectModel.TestCase](https://github.com/Microsoft/vstest/blob/master/src/Microsoft.TestPlatform.ObjectModel/TestCase.cs). @@ -48,4 +48,4 @@ Here is what the changed wire protocol looks like after TPV2 integrates with dot 9. Once the IDE adapter is done, it sends dotnet-test a TestSession.Terminate which will cause dotnet test to shutdown. ### Notes -1. Since TP V2 supports discovery on multiple containers with a bunch of settings the IDE adapter can now pass in the containers as a List to dotnet-test. Dotnet-test would then orchestrate among (multiple) test host processes and update the Adapter with the tests found. \ No newline at end of file +1. Since TP V2 supports discovery on multiple containers with a bunch of settings the IDE adapter can now pass in the containers as a List to dotnet-test. Dotnet-test would then orchestrate among (multiple) test host processes and update the Adapter with the tests found. diff --git a/RFCs/vstest-1002-Dotnet-Test-Protocol-V2-Execution.md b/RFCs/vstest-1002-Dotnet-Test-Protocol-V2-Execution.md index 4cc42aa..bd4c1e5 100644 --- a/RFCs/vstest-1002-Dotnet-Test-Protocol-V2-Execution.md +++ b/RFCs/vstest-1002-Dotnet-Test-Protocol-V2-Execution.md @@ -21,15 +21,15 @@ These protocol changes provides the following improvements to dotnet-test: ### Protocol This is the existing dotnet-test integration with IDEs: -![dotnet-test v1 protocol](https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/images/DotnetTestExecuteTests.png) +![dotnet-test v1 protocol](https://github.com/dotnet/cli/raw/rel/1.0.0/Documentation/images/DotnetTestDiscoverTests.png) Reference: https://github.com/dotnet/cli/blob/rel/1.0.0/Documentation/dotnet-test-protocol.md Here is what the changed wire protocol looks like after TPV2 integrates with dotnet-test: -![dotnet-test v2 protocol](https://github.com/Microsoft/vstest-docs/blob/c1655dfff45528280bcacc763f3ff8daba25fdd3/RFCs/Images/dotnet-test-protocol-v2-execution.png) +![dotnet-test v2 protocol](Images/dotnet-test-protocol-v2-execution.png) And this protocol helps one launch a custom host or perform debugging: -![dotnet-test v2 protocol for custom host](https://github.com/Microsoft/vstest-docs/blob/c1655dfff45528280bcacc763f3ff8daba25fdd3/RFCs/Images/dotnet-test-protocol-v2-execution-customhost.png) +![dotnet-test v2 protocol for custom host](Images/dotnet-test-protocol-v2-execution-customhost.png) ### Breaking changes for Adapter(IDE) 1. The object model used via the wire protocol will change from using [Microsoft.Extensions.Testing.Abstractions.Test](https://github.com/dotnet/cli/blob/rel/1.0.0/src/Microsoft.Extensions.Testing.Abstractions/Test.cs) and [Microsoft.Extensions.Testing.Abstractions.TestResult](https://github.com/dotnet/cli/blob/rel/1.0.0/src/Microsoft.Extensions.Testing.Abstractions/TestResult.cs) to [Microsoft.VisualStudio.TestPlatform.ObjectModel.TestCase](https://github.com/Microsoft/vstest/blob/master/src/Microsoft.TestPlatform.ObjectModel/TestCase.cs) and [Microsoft.VisualStudio.TestPlatform.ObjectModel.TestResult](https://github.com/Microsoft/vstest/blob/master/src/Microsoft.TestPlatform.ObjectModel/TestCase.cs) appropriately. @@ -66,7 +66,3 @@ After these set of actions the protocol is the same as the default flow above, w ### Notes: 1. Since TP V2 supports execution on multiple containers with a bunch of settings the Adapter can now pass in the containers as a List to dotnet-test. Dotnet-test would then orchestrate among (multiple) test host processes and update the Adapter with the test results. - - - - diff --git a/api/.gitignore b/api/.gitignore new file mode 100644 index 0000000..b37a96f --- /dev/null +++ b/api/.gitignore @@ -0,0 +1,5 @@ + +############### +# temp file # +############### +*.yml diff --git a/api/index.md b/api/index.md new file mode 100644 index 0000000..3fcdcb8 --- /dev/null +++ b/api/index.md @@ -0,0 +1,3 @@ + +# PLACEHOLDER +TODO: Add .NET projects to *src* folder and run `docfx` to generate a **REAL** *API Documentation*! diff --git a/docfx.json b/docfx.json new file mode 100644 index 0000000..66b4c0e --- /dev/null +++ b/docfx.json @@ -0,0 +1,72 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "src/**.csproj" + ], + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml", + "api/index.md" + ] + }, + { + "files": [ + "docs/**.md", + "docs/**/toc.yml", + "RFCs/**.md", + "RFCs/**/toc.yml", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "**/images/**", + "**/Images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ], + "postProcessors": [], + "noLangKeyword": false + } +} diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 0000000..2372c89 --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1 @@ +# Contribution Guide diff --git a/docs/quickstart.md b/docs/quickstart.md new file mode 100644 index 0000000..47bf600 --- /dev/null +++ b/docs/quickstart.md @@ -0,0 +1 @@ +# Quickstart Guide diff --git a/docs/toc.yml b/docs/toc.yml new file mode 100644 index 0000000..4418006 --- /dev/null +++ b/docs/toc.yml @@ -0,0 +1,8 @@ +#- name: Getting Started + #items: + #- name: Quickstart + #href: quickstart.md + #- name: Concepts + #href: concepts.md +- name: Contribute + href: contribute.md diff --git a/index.md b/index.md new file mode 100644 index 0000000..b708523 --- /dev/null +++ b/index.md @@ -0,0 +1,11 @@ +# Welcome to **VS TEST PLATFORM** + +VS Test Platform helps you author and execute tests for .NET, Javascript, +Python, Node etc.. Thanks to the community of test adapters, you can author +tests in any test framework of your choice, be it NUnit, XUnit, MSTest for .NET +or Jasmine, QUnit for JS and so on. + +All of that on any Linux, Mac or Windows machine! We promise it will take a few +minutes and an editor to [get started](#). + +### [Contribution Guide](docs/contribute.md) diff --git a/toc.yml b/toc.yml new file mode 100644 index 0000000..59aff77 --- /dev/null +++ b/toc.yml @@ -0,0 +1,13 @@ +# Contents map +# See https://dotnet.github.io/docfx/tutorial/intro_toc.html for details +#- name: Downloads + #href: docs/download.md +- name: Documentation + href: docs/ +- name: Specifications + href: RFCs/ +#- name: Contribute + #href: docs/contribute.md +#- name: API Documentation + #href: api/ + #homepage: api/index.md