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 usually double reference or invalid absolute
path reference which is changed to valid relative
path reference
|
|
* Add EventWrittenEventArgs public properties OSThreadId and TimeStamp and plumb through OSThreadId.
* Plumb ActivityId and RelatedActivityId to EventListener.
|
|
declarations (#19188)
* build-test - fix ildasm warnings caused by missing or incorrect extern assembly declarations
white space was fixed in all files which were edited (tabs -> spaces, no white space at the end of line)
* Remove unnecessary assembly declaration metadata
|
|
|
|
Mark GCStressIncompatible ond/or fix synchronization logic
|
|
|
|
AbandonedMutexException (#18312)
Follow-up to https://github.com/dotnet/coreclr/pull/13298, missed a few cases.
|
|
|
|
|
|
|
|
|
|
* update test dependencies
* add test
* Allow more leeway for time
* modify test per PR comments
|
|
|
|
* Disable some tests under GCStress where they take too long to complete
https://github.com/dotnet/coreclr/issues/15309
|
|
* Windows Event Log tests
* Add test for windows event log
* Make it run under one executable
* Removing duplicate files
* remove more useless file
* fix formatting for reference to Diagnostics.EventLog
* Windows Event Log test is not supported outside Windows
* More logging to see why failures are occuring...
* Fix typo
* fix more typos
* just make the test pass on non-windows platforms
* Make the test more reliable with timing
|
|
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.
|
|
|
|
(#16302)
Fixes https://github.com/dotnet/coreclr/issues/16224
|
|
- Disabled one test, it takes far too long under GCStress
- For another, added a second call to WaitForPendingFinalizers() to ensure correspondence with a GC.Collect() call
|
|
Set COMPlus_FastGCStress=1 to avoid GC in the
`CoreCLR!JIT_Stelem_Ref => CoreCLR!ArrayStoreCheck` path.
|
|
Relevant to https://github.com/dotnet/coreclr/issues/15592:
- Not sure what is actually happening, guessing there is an exception during TryEnter() and the exception from Exit() from the finally block is hiding the actual exception
- Moved TryEnter() to before the try block
- Fixed pass/fail condition for some similar monitor tests
|
|
Fixes https://github.com/dotnet/coreclr/issues/15098:
- Probably a timing issue, changed to use Thread.Join() instead of sleeps
|
|
This is needed so that we can turn default interfaces off in release branches.
I can't find a central location where the PRERELEASE flag could be defined because native and managed builds seem to be completely disconnected.
To limit the risk of only flipping the flag in one build type, I'm adding a test that verifies being able to load an interface with default methods matches what RuntimeFeature says.
|
|
Since #15172 got rolled back in #15292, trying this again.
This time also deleting garbage `.permission` attributes from the failing tests. Permissions are not supported in CoreCLR.
Filed #15299 on some more ILAsm from CoreCLR frustrations.
|
|
(#15071)
|
|
Shorten delay in some monitor tests to avoid timeout
|
|
This test will hang if run with non-optimized jitted code because it takes a dependency on exactly when locally allocated objects go out of scope. Although I doubt CLI spec guarantees the new code will always work either, it does work with the runtime/JIT as currently implemented.
|
|
|
|
* Fix race condition for some threading tests using GC.KeepAlive
* Removing unnecessary change to null array test
* Removing extra space
|
|
expect AbandonedMutexException (#13298)
|
|
* Fix the race condition by using a manual reset event instead of gc.keepalive
* Addressing PR comment
|
|
|
|
|
|
Changes to throw PlatformNotSupportedException from ISerializable.GetObjectData and serialization constructors on non-Serializable types. Also removes private serialization constructors and some unneeded code that was used to support serializing non-serializable types. A few tests testing GetObjectData implementations are also removed. For Exception types, we call base instead of throwing from GetObjectData to be consistent with the many Exceptions that don't override GetObjectData
|
|
These have some weird behaviors worth covering.
|
|
* Removed Unused Local Random Instances
Discovered two cases of a `Random` instance that weren't being used
within their respective methods and removed them.
* Retained Earlier Comment
Retained an earlier comment for consistency
|
|
(#10413)
Add heuristic to trigger GC to finalize dead threads and clean up handles and memory
A thread that is started allocates some handles in Thread::AllocHandles(). After it terminates, the managed thread object needs to be collected by a GC for the handles to be released. Some applications that are mostly idle but have a timer ticking periodically will cause a thread pool thread to be created on each tick, since the thread pool preserves threads for a maximum of 20 seconds currently. Over time the number of handles accumulates to a high value. Thread creation adds some memory pressure, but that does not force a GC until a sufficiently large handle count, and for some mostly idle apps, that can be very long. The same issue arises with directly starting threads as well.
Fixes #6602:
- Track a dead thread count separately from the current dead thread count. This is the count that will contribute to triggering a GC, once it reaches a threshold. The count is tracked separately so that it may be reset to zero when a max-generation GC occurs, preventing dead threads that survive a GC due to references from contributing to triggering a GC again in this fashion.
- If the count exceeds a threshold, enumerate dead threads to see which GC generation the corresponding managed thread objects are in. If the duration of time since the last GC of the desired generation also exceeds a threshold, trigger a preferably non-blocking GC on the finalizer thread.
- Removed a couple of handles and some code paths specific to user-requested thread suspension, which is not supported on CoreCLR
|
|
Deleted a few other irrelevant properties as well while I was on it.
Fixes #7711
|
|
|
|
The inliner now can inline a subset of methods with pinned locals --
namely those where the language compiler (eg CSC) can determine that a
try/finally is not necessary to ensure unpinning, and where the jit
likewise an determines that a try/finally is likewise not needed in
the root method.
Generally speaking this allows inlining in cases where the inline method
is fairly simple and does not any contain exception handling, and the
call site is not within a try region.
When inlining methods that have pinned locals and also return a value,
the jit ensures that the return value is spilled to a temp so that the
unpins can be placed just after the inlined method body and won't alter
the return value.
Mark FixedAddressValueType as GCStressIncompatible since the "unfixed"
class static may get re-allocated at the same address. This seems to
happen even without these changes but happens much more frequently with
them.
Closes #7774.
|
|
|
|
|
|
|
|
1. tests\src\Common\test_dependencies\project.json - To consume corefx and other nuget feeds
2. tests\src\Common\empty\project.json - To build against the mscorlib facade,to use this just Add
<ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> to your project
|
|
|
|
|
|
To fix tests, change dnxcore50 -> netcoreapp1.0 and add test_runtime.
|
|
|