Treat the errors from vstest task as errors (instead of warnings) before continuing further.
Add asserts for exit code in tests for dotnet-test and dotnet-vstest.
In Preview 3, the `dotnet test` options were not aligned with the CLI's
adopted format. This PR changes the options to be aligned. Where
possible/applicable, I have shortened the long options to a meaningful
mnemonic short version.
Fixes#4960
* Updating the preview4 channel to rel-1.0.0-preview4
* Add more xlf files for new strings
* bundle fsharp sdk, only Sdk directory is required
* align f# console proj
* align f# lib template
* align f# mstest template
* align f# xunit template
* align f# web template
* fix mstest package version, aligned to c#
* remove unused directories from bundled sdks
* Adding a SdkNugetVersion property when invoking dotnet pack on test packages so that test packages can reference exact packages. We need that because of https://github.com/NuGet/Home/issues/4063. Without it, pack creates the nuspec with a version like 1.0.0-version-, instead of 1.0.0-version-<version_used_in_build>, which leads to problems when restoring the tool. Like, it ends up restoring to the closest version of the package (oldest), instead of the latest.
* Update web template for Web SDK 154 (#4948)
* Update WebSDK version
* Update web template to get rid of globs
https://github.com/aspnet/Templates/pull/735
* MSBuild to 15.1.458 (#4950)
* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet (#4963)
* Adding MigrateWebSdkRule to the DefaultMigrationRuleSet and adding a E2E test to cover it.
* Do not migrate compile and EmbeddedResources for web application, because those are included in the Web Sdk already.
* Addressing code review comments
* WIP Migrate sln files
* WIP add reference to redist
* Adding tests and fixing a few bugs
* Fix some tests
* Remove use of DeepClone
* Fix test build errors
* Fix more tests
* add stub for dotnet list p2ps
* apply review feedback
* PR feedback: consistent method modifiers
* apply missed review feedback
* add test coverage and do not treat no p2ps as error
* move private methods to the bottom, rename weird res name
* Move dotnet-new templates to Sdk attribute
* Update to MSBuild 15.1.0-preview-000454-01
To pick up a fix for Microsoft/msbuild#1431.
* Fix template newlines
* Fix casing on Microsoft.Net.Sdk
* Move migration test csproj's to Sdk attribute
* Disable parallel sdk restore
Each SDK restore operation will try to manipulate the same assets.json file since the dependency name&version are injected into a common csproj file. This can cause runtime failures when two NuGets try to restore the project at once.
* Make casing of SDK 'NET' and not 'Net'
* Remove redundatn imports
* Fix test string
* Additional race
* Replacing the SDK with the Web.Sdk when it is a Web project.
* Fixing the test by writting the csproj before running the migration rule.
* Rename centralized LocalizableStrings file
* Added RemoveDefinition
* Rebase
* rebase, remove localizablestrings for help
* loc for help command
* remove localizablestrings
* Localization changes for dotnet-remove
* Slight refactoring
* Fix output race
TestCommand starts the test process before wiring up stderr & stdout. This change delays process start until after the wireup is finished so that the test process cannot shut down before we have wired up output redirection.
* Bypass stream forwarder when it fails to attach to a process
CLI has tests failing errenously when, due to timing issues, the StreamForwarders fail to attach to a process because it managed to exit before attachment occurs.
We tried attaching the forwarders prior to Process Start but this proved impossible because the OUT and ERR streams are not available to attach before the process starts.
This exposes a fundamental flaw in our output redirection mechanisms. We should probably move to using https://msdn.microsoft.com/en-us/library/system.diagnostics.process.outputdatareceived.aspx or a similar mechanism. However, I don't know that @brthor hadn't considered and discarded this approach.
For the time being I am attempting to make tests more deterministic by capturing the associated exceptions and moving to a different mechanism when StreamForwarders are not available.
Opened https://github.com/dotnet/cli/issues/4913 to track the broader issue.
* File.Copy is not atomic...
* Centralize Microsoft.Net.Sdk package version
Note: Templates were omitted as their version needs to be static.
* Unifying additional missmatched versions
* prefercliruntime
whitespace threw off ReplaceAll
* Additional missed globs
* Revert SDK version for performance tests
* PR Feedback
* Roll back VSTestXunitDesktopAndNetCore.csproj SDK version
* Snap of sln reader/writer from https://github.com/mono/monodevelop
* Remove unnecessary code
* Create a new test asset with an sln file because adding an sln to an existing one broke other tests
* Remove commented out line
* Removing unneeded PropertyGroup per PR comments
* Update the license
* Fixing the license
* Fix 4066
* Merge Conflict
* Move fix to the DotNetCommandFactory
* More normalization
The `\r\n` issue is oddly non-deterministic. This change did not affect the message endings and yet CI started failing. Normalizing both string should have the desired result...
* update web template
* add test build of fsharp/web template
* align fsharp/xunittest template
* add test for all template projects
* align fsharp/console template to #4821
* align fsharp/lib template to #4821
* align fsharp/mstest template to #4821
* align fsharp/xunittest template to #4821
* fix shortened test directory path (was same for c# test)
* try fix ci failure
* Bug fixes
* Nitpick
* -Fixed failed tests
-Added test to cover trx logger scenario.
* Fix for issue https://github.com/Microsoft/vstest/issues/241
* Fix for failed test. We have taken fix where dotnet test will return nonzero if test fails. In multi TFM scenario if test fails it termates the whole process as dotnet test is returning 1. As a fix of this we should continue if some test fails for next TFM
* Bump Microsoft.Testplatform.CLI and Microsoft.NET.Test.Sdk version
* Checking that the lock file exists before trying to acquire a lock for it, which takes up to 30 seconds.
* Adding a test for failing when reading the lock file and it does not exists.
* Fix 4655: Migrate errors are not getting put in formatted output
* Move test asset to NonRestoredTestProjects
* use group test asset manager: NonRestoredTestProjects
* WIP migrate tests
* WIP fixing more tests
* WIP fix test build break
* Test results files are now trx
* Get CI to pass until we get an xunit xml logger
* Added DotNetTestPJ since that was needed for one test
* Fix build break
* Forgot to add DotNetTestPJ as a build task
* Need to restore project.json for the project used in ubuntu test
* Restore PJ for ubuntu test
* Switch the Ubuntu test to csproj based
* Updating the Microsoft.Net.Sdk & Microsoft.Net.Sdk.Web versions
* Fixed merge conflicts. Had to re-update the Sdk version in one place.
* re-migrate dotnet.dll
* Revert Performance Test Projects
* Fix test test
* Add missing WithRuntime
* Disable failing test test
* Migrate: auto-injected dependencies should overwrite existing dependency version if present
* WIP adding new mstest templates
* Auto-inject mstest dependencies when testrunner is set to mstest
* WIP trying to get new web test to work
* Get dotnet new -t Web test to pass
* Remove whitespace and accidentally added (redundant) tests
* Shorten test method name
* Upgrade MSBuild references to 15.1.0-preview-000370-00
* Custom logger for MSBuild to receive telemetry events
Had to make the telemetry session ID a static variable so that the forwarding app could use it.
I've tested this all manually and will be writing tests after everyone signs off on the implementation here.