Age | Commit message (Collapse) | Author | Files | Lines |
|
Change build-test.sh to always build the xunit wrappers. Before it would drop a token and check the existence of the token.
Unify x64 linux/OSX/Windows excludes into one file, issues.targets. Includes different locations in the file which show where to put excludes.
Remove all target specific aspects of issues.targets, all tests are excluded now via wildcard, this allows expanding to .cmd and .sh based on the built platform.
Unify path separators to forward slash(/) in issues.targets to support both platforms
Clean up issues.targets by removing long standing exclude tests, specifically tests that have been excluded due to missing features like rva_statics.
Add DisableProjectBuild to tests which have been removed from issues.targets
Conditionally add DisableProjectBuild to tests which have been marked as unsupported on unix. This is mostly a port of the unsupportedOnUnix.txt list. Instead of excluding the tests, unix will simply not build them. If tests are built on windows, they will be run but they will return pass, the test wrapper will check return instantly.
All exclusions ported to issues.targets for linux targets.
Expand runtest.py, this includes simple issues that made it past the original CR. In addition it adds more optional features to help with inner loop dev work such as: creating a repro folder under bin/repro/.. which sets up the env and calls the failing test. In addition a launch.json will now be created under bin/repro/.. which can be used to easily debug using vscode. More logging, such as printing failures, longest running tests ect.
Initial excludes ported for arm64 windows
Arm64 linux, armhf unix excludes and enables running runtest.sh for these targets.
arm64 windows and arm32 windows excludes and enables running runtest.cmd on arm64 targets
init-tools.sh changes to pull armhf and aarch64 dotnetcli
init-tools.cmd changes to pull x86 packages for dotnetcli for arm64 windows
runtest.cmd for almost all scenarios will call runtest.py
runtest.sh for almsot all scenarios will call runtest.py
Removes all logic for running tests using runtest.sh
|
|
Enable Tiered Compilation by default
1) Changes the default state of the tiered compilation feature check to be ON BY DEFAULT
2) Removed comments about the source about this being a work in progress. Although it will surely continue to evolve and improve, remaining issues would be better tracked in our issue tracking system with the same default presumption as other runtime features - assume it works unless noted otherwise.
3) Adjusts a number of tests and automated scripts that made assumptions that the default setting of this feature is off.
4) Stop accepting the deprecated env var COMPLUS_EXPERIMENTAL_TieredCompilation. I'm not aware it has any remaining usage but if so we're going to find out.
5) Adjust config names for JitBench
|
|
Fixes regex-redux-1 failure seen in https://github.com/dotnet/coreclr/issues/15309
- HashMap lookups and insertions occur under a level 0 lock and may enter cooperative GC mode inside the lock. A GC that is triggered may delete some dynamic code, which takes another level 0 lock. It does not look like it's possible for a deadlock as a result.
- Fixed by increasing the crst level for the lock used in ReadyToRunInfo
|
|
Things have progressed far enough that its time to use a friendlier name. The feature still still has performance aspects that need to be investigated and improved, but I don't want to scare people off simply because it isn't as fast as it could be.
This also updates to use a newer CoreFX version for JitBench since that appeared to be broken, and updated some comments and usage of the tieredcompilation variable.
|
|
A handful of tests are optimization sensitive and needed to be disabled because tiered jitting doesn't optimize right away.
There was also a shutdown timing issue where the tiered jitting background compilation thread would continue calling into the JIT after the JIT was shutdown. This manifested as an error writing to the jit log after the stream had been closed.
|
|
|
|
|
|
This will enable unix arm64 testing in CI. Currently there are no
default tirggers; however, anyone will be able to request the jobs.
|
|
|
|
|
|
|
|
Just what it says on the tin.
|
|
This change factors the Ildasm round trip logic so that it should not
require a separate test build. The ildasmroundtrip flag is no longer
passed to build-test.cmd; instead the wrapper scripts are always
generated with a check for an environment variable that can be set from
runtests.
Also remove separate test build for ilrt in the ci scripts
|
|
Fix the input to illink -a argument to not include the extension.
The current command line caused silent wrong code gneration
because of https://github.com/mono/linker/issues/56
|
|
Fix a few problems in the <test>.sh generation for
running CoreCLR tests on Linux via ILLINK
|
|
Made changes to the test infrastructure to
1) Generate <test>.sh with commands to invoke ILLINK and run the output
2) Add runtest.sh --link=<path-to-illink> to invoke the ILLINK testing
|
|
Fix script ERRORLEVEL typo
|
|
|
|
Deleted a few other irrelevant properties as well while I was on it.
Fixes #7711
|
|
|
|
|
|
|
|
|
|
|
|
This change adds a section to the generated bash/cmd scripts for each
test that will run jit-dasm on the test dll when runtests is invoked
with the jitdasm flag.
Also begin updating netci.groovy to support jit-diff scenario.
Other minor fixes:
- Add corefxlab feed for System.CommandLine test dependency
Without this, restoring the test dependencies retrieved an obsolete
package of the same name from nuget.org.
- Skip jit-diff job generation for arm
This fixes an assert that was checking that we are in the default
scenario on arm.
- Fix an assert in netci.groovy
- Add branch that skips non-checked configurations for jitdiff scenario.
- Fix some dasm failures and a typo in dasm job name
- Some jit-dasm runs were failing because the dependencies in the
current directory wasn't included in the arguments.
- Escape argument to jit-dasm
- increase timeout for jit-diff job
- Put PR job under a trigger, and some temporary changes for testing
- Make PR trigger look for comment
- Update Newtonsoft.Json version for compatibility with cijobs
- Update cijobs version for retrieving job by commit
- Temporarily run only one test
- Archive raw dasm output instead of zip
- Remove pr-specific logic, enable framework dasm
- Remove windows System.Private.CoreLib.ni.dll from test overlay
The new test runtime dependencies were placing
System.Private.CoreLib.ni.dll in the core_root directory, which resulted
in the native image for windows being placed in the coreoverlay
directory. We already had similar logic handling this case for
mscorlib.ni.dll.
This change also fixes the framework dasm output directory to match the
test dasm output directory, and fixes some typos in the generated .sh
files for running dasm on linux.
- Add dasm archiving on non-windows jobs
- Use core_root in bash scripts
|
|
|
|
|
|
My amateurish bash skills are showing. I forgot that you have to
source a script to modify the environment, though, to be fair, this
line was already here when I got here. :)
|
|
Removing Build dependency for GC Stress
|
|
Adds Semaphores to prevent race conditions
|
|
RunOnly Projects should refer to only BuildAndRun projects
BuildOnly projects are to be used only for Non-Execution cases
and custom execution drivers
|
|
Add a "GCSimulator" CI run
|
|
|
|
This commit tries to fix #4631.
|
|
|
|
|
|
|
|
|
|
Add the ability to exclude individual tests that are incompatible with
certain test modes. If a test is incompatible with or too slow under
GCStress, add
<GCStressIncompatible>true</GCStressIncompatible>
as a property to the test's project file. If a test requires optimization
or is sensitive to precise optimization patterns, use
<JitOptimizationSensitive>true</JitOptimizationSensitive>
|
|
This change enables running ready to run tests on Unix.
|
|
1. Enable CLRTest.Execute.Bash.targets similar to CLRTest.Execute.Batch.targets.
2. _IlasmSwitches uses '-' instead of '/'
3. Disable optimization on the prebuilt asmparse.c due to https://github.com/dotnet/coreclr/issues/2305
|
|
Fix generated test script to properly check for debugger
|
|
Also tried fixing the generated help to show that you need `=`. This should be conditional based on `HasParam` but since there is only one switch it works for now.
|
|
|
|
|
|
The following changes are being submitted in order to prepare for a large collection of tests to be ported from the internal legacy test tree.
- Adds "build kinds" to the test tree.
- Adds some documentation for the test tree
- Adds a Test Priority feature (see documentation Documentation/project-docs/tests.md for more information.
- Dropped the cs_template.csproj types and converted to individual CSProject files.
|
|
CoreCLR tests will need to be built on Windows and copied over to a non-Windows machine. Then, coreclr/tests/runtest.sh along
with some switches can be used to run the tests.
Changes:
- Run tests in parallel by default (use --sequential to force sequential mode)
- Update Windows test build to produce the Windows core overlay that includes test dependencies that are not built
- Add a number of switches (see coreclr/tests/runtest.sh for details) to provide locations of:
- The Windows test build
- The CoreCLR native test build
- Either:
- This:
- The core layout (including all of the below)
- Or:
- The CoreCLR build
- mscorlib.dll
- The CoreFX build
- The CoreFX native build
- Using information from above, build or use the core layout, and copy native test binaries to the respective test directories
- Add --testDir to specify an inclusive list of test directories to run
- Add text files to exclude tests:
- coreclr/tests/testsUnsupportedOutsideWindows.txt - Tests that are not supported outside Windows
- coreclr/tests/testsFailingOutsideWindows.txt - Tests that are known to fail outside Windows and are temporarily disabled while they are investigated
- Add --runFailingTestsOnly to run only the tests listed in coreclr/tests/testsFailingOutsideWindows.txt to verify known failures
- Produce xUnit-style output for the CI, output goes into <Windows test build folder>/coreclrtests.xml
|
|
Existing tests can specify pre- or post-commands that are injected into
the execution scripts. However, today these are all using Windows syntax
so they break the bash scripts. We will handle that by skipping any tests
that are using pre- or post-commands unless they specify the bash-specific
equivalent. The scripts will continue to run and just exit with an exit
code that indicates a skip, so that the skipped tests are tracked and not
just hidden.
Also, this change moves the global pre-command that was being added for
running __TestEnv into the bash/batch targets rather than in the dir.props
file that is used for all platforms.
|
|
|
|
|