summaryrefslogtreecommitdiff
path: root/tests/src/reflection
AgeCommit message (Collapse)AuthorFilesLines
2019-07-01Get rid of warnings while building tests (#25514)Michal Strehovský1-1/+1
2019-06-10fix generic attribute bug when generic attribute has parameters and the ↵Avi Avni1-0/+16
parameters (#25054) * fix generic attribute bug * add missing test cases
2019-04-23Add test coverage for static members on interfaces (#23928)Michal Strehovský4-0/+143
This has been supported since v1 but we don't have much test coverage. C# is going to enable interfaces to have static members and static constructors so we better start testing it.
2019-04-08Allow reabstraction of default interface methods (#23313)Michal Strehovský5-8/+213
Allow the runtime to load types with incomplete interface implementations. With this change, we allow (in pseudo-C#): ```csharp interface IFoo { void Frob() { } } interface IBar : IFoo { abstract void IFoo.Frob() } class Fooer : IBar { } ``` Calling IFoo.Frob on an instance of `Fooer` will result in new exception being thrown because the default implementation of `IFoo.Frob` was re-abstracted by `IBar`.
2019-02-15Manually update the dependencies.props and move S.P.Corelib to use ↵Tanner Gooding2-2/+0
LangVersion=8.0 (#22452) * Update BuildTools to preview1-03713-01 (master) * Updating CoreCLR to use LangVersion=8.0 * Moving the Windows scripts to default to `dotnet msbuild` for managed components * Setting UseSharedCompilation=true * Changing some additional callsites that were using msbuild to use dotnet msbuild * Revert packages.builds to use Desktop msbuild on Windows * Fixing runtest.cmd to always set DotNetCli
2018-11-28 Delete test dev10_630880 (#21239)Jan Kotas2-80/+0
* Revert "Disable test Dev10_630880" This reverts commit 4fb76de35184fb80054f29779f51af82a4aa7ad8. * Delete test dev10_630880 This test has been exercising internal CoreLib details that have been deleted.
2018-11-12Allow jit to examine type of initonly static ref typed fields (#20886)Andy Ayers2-0/+145
The jit incorporates the value of integer and float typed initonly static fields into its codegen, if the class initializer has already run. The jit can't incorporate the values of ref typed initonly static fields, but the types of those values can't change, and the jit can use this knowledge to enable type based optimizations like devirtualization. In particular for static fields initialized by complex class factory logic the jit can now see the end result of that logic instead of having to try and deduce the type of object that will initialize or did initialize the field. Examples of this factory pattern in include `EqualityComparer<T>.Default` and `Comparer<T>.Default`. The former is already optimized in some cases by via special-purpose modelling in the framework, jit, and runtime (see #14125) but the latter is not. With this change calls through `Comparer<T>.Default` may now also devirtualize (though won't yet inline as the devirtualization happens late). Also update the reflection code to throw an exception instead of changing the value of a fully initialized static readonly field. Closes #4108.
2018-11-08Add test coverage for custom modifiers (#20546)Michal Strehovský6-0/+485
Custom modifiers are only lightly tested within the CLR test codebase (both closed and open). This adds targeted tests for: * Resolution and overriding * Various places that should ignore them * Reflection
2018-10-16Fix resetting of m_hasArgLocDescForStructInRegs (#20450)David Wrighton2-0/+96
- Also add testcase Fixes #20449
2018-08-17Enable Tiered Compilation by default (#19525)Koundinya Veluri1-10/+0
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
2018-08-01build-test - fix ilasm warnings caused by missing/incorrect extern assembly ↵Jacek Blaszczynski1-7/+11
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
2018-04-17Enable generic attributes (#9189)Avi Avni5-0/+530
2018-03-28Removing 'EXPERIMENTAL' from tiered compilation env var (#17283)Noah Falk1-2/+2
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.
2018-03-08Pass generic context argument for shared instance methods on generic ↵Andon Andonov1-6/+4
interfaces (#16690) * Add checks and regression test * Uncomment InvokeConsumer tests * Revert JIT Interface Check
2018-02-21Disable tiered compilation for collectible assemblies (#16437)Koundinya Veluri2-0/+114
Disable tiered compilation for collectible assemblies - An assembly can be marked collectible with methods not marked as dynamic - The method desc and code can be deleted and a new method desc reallocated in the same location, code versioning doesn't handle this at the moment
2018-02-07Make it possible to Reflection.Emit default interface methods (#16257)Michal Strehovský2-0/+121
Fixes #15648.
2018-01-29Fix reflection to work with default interface methods (#16034)Michal Strehovský8-0/+449
Fixes #15645. Fixes #15644.
2017-08-16Move less valuable tests to priority 1.Pat Gavlin1-5/+2
2017-04-06Call custom parameterless constructor on structs through Activator (#10778)Koundinya Veluri2-0/+128
Fixes #6843 - Disabled caching struct types that have custom parameterless constructors in `ActivatorCache` - Removed some things relevant to security, which don't apply to CoreCLR
2017-03-30Add test coverage for ldtoken of open generic methods (#10592)Michal Strehovský1-1/+125
2017-03-17Delete unused ReferenceLocalMscorlib property from test proj files (#10250)Jan Kotas5-21/+0
Deleted a few other irrelevant properties as well while I was on it. Fixes #7711
2017-02-22Add test coverage for ldtoken with members (#9713)Michal Strehovský2-0/+281
The test coverage for `ldtoken field X` and `ldtoken method X` in the repo is very small - this test tries to improve things a little. In particular, it tests that we get the right reflection objects, and that we can do this from shared and unshared code.
2016-10-08Add test to validate ByRef type unification (#7534)Michal Strehovský2-0/+123
Make sure that `ldtoken SomeType&` leads to the same type as `ldtoken SomeType` followed by `MakeByRefType`.
2016-08-23Bulk moving Tests to use uber project.jsonRama Krishnan Raghupathy7-162/+0
2016-07-29Using full versions, update CoreFX dependencies to beta-24328-05.Davis Goodin2-58/+66
To fix tests, change dnxcore50 -> netcoreapp1.0 and add test_runtime.
2016-05-22Update tests to build against rc3-24117-00 (#5154)Jan Kotas2-38/+38
2016-04-14Updating BuildToolsJose Perez Rodriguez2-0/+18
2016-03-10Add System.Threading.Thread to tests to restore missing types.Davis Goodin2-4/+6
Upgrade System.Runtime dependency for JIT tests to get GCHandle. Change system.runtime 4.0.20 to 4.1.0 rc2 dependency to try to copy the runtimes to CORE_ROOT. Fix new project.json files. Fix hardcoded Microsoft.DotNet.xunit.performance version. Upgrade System.Runtime.InteropServices to prerelease level to avoid type conflicts with System.Runtime.
2016-03-10Update dependencies on packages that don't exist.Davis Goodin2-2/+2
First checks to see if a stable version of that dependency was restored, and if not, found the stable.minor.patch version with the prerelease spec of the dependency.
2016-03-10Update all versions to validate.Davis Goodin2-24/+24
2016-03-02Change all dependency versions to match what was actually restored in the ↵Davis Goodin2-28/+28
checked-in lockfiles. Used a tool to look at lockfiles: when a dependency did not have a corresponding downloaded package, found the latest version that was downloaded and changed the project.json to match. This fixes any packages that don't exist (such as some beta-23302) and floating dependencies (*).
2016-03-02Use tooling to add Platforms dependencies and imports where necessary.Davis Goodin2-32/+34
2016-03-02Remove all lockfiles from source control.Davis Goodin2-6960/+0
2016-02-26Fix license header for test filesSean Gillespie3-0/+9
2015-11-24Update auto-generated project.lock.jsonJan Kotas2-678/+3764
2015-10-18Managed Test Portdotnet-bot12-0/+4270
This is a collection of managed runtime tests from an internal legacy test tree.