Simple tests which does static analysis of managed assemblies metadata to
make sure that they are crossgened. Currently it verifies that all the
assemblies in CLI SDK and SharedFx directroty are crossgened.
Removed all unnecesary code if opted out of telemetry.
Shanged sample rate to 1 for testing purposes.
CI to just regular Test
Changed hash helper function to handle a list<string> to optimize unneceary duplicate sha256 creation
Reduced new memory allocations
Creates a TestDirectory abstraction under TestInstance to manage creation of test-specific working directories
Enables TestAssetManager to create TestDirectory instances
Enables fluent addition of Environment Variables to TestCommand
Adds PathUtility support for ensuring a directory exists
* Add script to run and compare CLI perf tests
tests/Performance/run-perftests.py is a Python3 script that fetches all
of the dependencies needed to run the perf tests in test/Performance
locally. It can run the perf tests for a single dotnet.exe, or run two
dotnet.exe instances sequentially and compare the results between them.
Basic usage for a single test:
run-perftests.py --name "runid" ...\dotnet.exe
Usage for a comparison run:
run-perftests.py --name "runid" ...\dotnet.exe --base ...\dotnet.exe
For more detailed usage:
run-perftests.py -h
* run-perftests: fix publish xunit.perf.runner.cli
The code that builds xunit-performance would skip publishing
Microsoft.DotNet.xunit.performance.runner.cli due to a bug in the
condition to check whether it was published already or not. To fix the
issue and simplify the logic, I'm making it always publish when
building the project, instead of building and publishing separately.
* run-perftests: add support for python2
* run-perftests.py: fix framework version issue
The perf test harness was failing with "stage 0" binaries due to an issue
finding the correct installed framework version. The fix is to delete the
project.lock.json followed by a dotnet restore before each run, using the
dotnet.exe that is about to be tested. (Kudos to @brianrob for the debugging
help and suggested fix!)
The BuiltInCommandTests sets the current Console.Out and Console.Error, which causes the test to fail if some other test is running and writes to the console at the same time.
Fix#2768
The compile unit test needed to be updated to mock out a new call to ICommand.WorkingDirectory.
The test unit test needed to account for build-base-path getting fully qualified.
Earlier the host MSI dependency key changed for every version. Therefore
the following stesp uninstalled host aggresively.
- Install a older dotnet CLI bundle (say v1)
- Install a newer dotnet CLI bundle (say v2)
- Uninstall the newer CLI bundle. This removes the host completely and
leaves the older version v1 unusable.
With this fix all the versions of the CLI in the machine will reference
count the host correctly.
Fixes - #2713