summaryrefslogtreecommitdiff
path: root/tests/src/Interop
AgeCommit message (Collapse)AuthorFilesLines
2016-04-07Fix LPSTR test failure due to incorrect implementation of strncpy_s. It was ↵Yi Zhang (CLR)1-1/+3
implemented using snprintf and didn't account for the null terminator behavioral difference. Test is now passing after the fix. We should see if we can always use xplat helpers in all platforms for easier debugging.
2016-04-07Windows specific Marshal APIs test.Tijoy Tom Kalathiparambil20-0/+1542
2016-04-06Merge pull request #4089 from tijoytom/mastertijoytom2-327/+16
Fixing tests for non-windows platform.
2016-04-05Merge pull request #4057 from yizhang82/masterYi Zhang (CLR)5-24/+56
Fix NativeCallable test issue and make it work x-plat
2016-04-05Fixing test for non-windows platforms.Tijoy Tom Kalathiparambil2-327/+16
Disable the failing scneario and file bug.
2016-04-05Add reference to CMakeLists.txt from NativeCallableTests.csproj correctlyYi Zhang (CLR)2-2/+6
Also remove NativeCallable from testsUnsupportedOutsideWindows.txt
2016-04-04Fix NativeCallableTest to use custom DLL instead of EnumWindows Win32 APIYi Zhang (CLR)4-23/+51
2016-04-04Disabling the object as variant in struct marshallingTijoy Tom Kalathiparambil1-15/+17
since it fails outside of windows.
2016-04-04Disable failing portions of MarshalStructAsLayoutSeqJohn Bottenberg1-6/+38
2016-03-30Fix build error in newly-moved EnumMarshalling testJohn Bottenberg1-2/+2
2016-03-30Include wchar.h in xplatform.h even outside WindowsJohn Bottenberg1-1/+1
2016-03-30Move EnumMarshalling tests into PrimitiveMarshalling directoryJohn Bottenberg6-1/+1
2016-03-30Port more Interop tests from Desktop CLR to CoreCLRJohn Bottenberg26-1/+8211
2016-03-23Merge branch 'master' of https://github.com/dotnet/coreclrTijoy Tom Kalathiparambil11-248/+269
2016-03-23Add licence header and disabling some failing testsTijoy Tom Kalathiparambil14-12/+60
2016-03-22Marshal specific tests.Tijoy Tom Kalathiparambil34-136/+3346
Updating to rc2 framework refrence Adding more tests
2016-03-18Marshal testsTijoy Tom Kalathiparambil14-33/+864
2016-03-16Merge pull request #3752 from dotnet-bot/from-tfsJan Kotas1-5/+5
Merge changes from TFS
2016-03-16Remove __cdecl__ calling convention for [-Werror,-Wignored-attributes]Geunsik Lim1-0/+2
The cross build for Linux/ARM is broken while doing the compilation by the [-Werror,-Wignored-attributes] policy of the cross compiler. Let's remove __cdecl__ calling convention from ./test/src/Interop folder by handling __cdecl macro handling in xplatform.h for Linux/ARM. Signed-off-by: Geunsik Lim geunsik.lim@samsung.com Signed-off-by: Prajwal A N an.prajwal@samsung.com Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
2016-03-15Prune Windows mscorlibJan Kotas1-5/+5
In model.xml, I went over: - FEATURE_ conditions that are disabled on Unix - FEATURE_ conditions related to NetCF - All ApiFxInternal methods And flipped most them either to public, ImplRoot or deleted them. Testing: Run all open CoreCLR and CoreFX tests, built legacy build razzle [tfs-changeset: 1586209]
2016-03-10Couple of marshal API tests.tijoytom13-1/+686
2016-03-10Upgrade new test project.json files from merge.Davis Goodin5-113/+122
2016-03-10Add System.Threading.Thread to tests to restore missing types.Davis Goodin5-10/+15
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 Goodin5-84/+75
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 Goodin5-121/+130
2016-03-09Merge pull request #3599 from ramarag/arm64nativetestsRama krishnan Raghupathy1-0/+5
Enable native test binaries to be built for Arm64
2016-03-09Enable native test binaries to be built for Arm64Rama Krishnan Raghupathy1-0/+5
2016-03-07Improve interop test coveragetijoytom34-718/+88
Updating license headers Delete duplicate test
2016-03-03Adding more Interop tests.tijoytom28-1/+1611
2016-03-02Change all dependency versions to match what was actually restored in the ↵Davis Goodin1-14/+14
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 Goodin6-98/+104
2016-03-02Remove all lockfiles from source control.Davis Goodin4-5445/+0
2016-02-26Fix license header for test filesSean Gillespie8-4/+26
2016-02-23Adding more interop tests.tijoytom25-0/+4099
2016-01-27Update license headersdotnet-bot1-2/+3
2015-11-24Update auto-generated project.lock.jsonJan Kotas3-343/+1890
2015-10-23Test Cleanup:Rama Krishnan Raghupathy1-3/+2
1. Ensures each test has its own unique directory 2. Use Project Reference to refer native CMakeLists.txt 3. Avoids copying the facades to the test build
2015-10-20Fixing some pri1 tests.Bryan Arant8-3912/+470
2015-10-18Managed Test Portdotnet-bot14-470/+4346
This is a collection of managed runtime tests from an internal legacy test tree.
2015-10-15Changes to Test InfrastructureKoundinya Veluri6-114/+2931
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.
2015-09-18Add support for NativeCallableAttributetijoytom5-0/+220
Apply [NativeCallable] attribute to a managed method and then it can be called from native code.Typical use would be passing a managed method as callback to native, now it can be done by wrapping the method in a delegate or directly using Marshal.GetFunctionPointerForDelegate.This's fine as long as we make sure that delegate is not garbage collected.[NativeCallable] introduce another way, where you can directly load the function pointer of a native callable method and use it as callback.This feature cannot be directly used from C#,but can be very useful in dynamic code generation scenarios where you want a callback to be passed to native. Here's an example of how it can be used. public static class NativeMethods { [DllImport("user32.dll")] public static extern int EnumWindows(IntPtr enumProc, IntPtr lParam); } //Method attributed with NativeCallable [NativeCallable] public static int CallbackMethod(IntPtr hWnd, IntPtr lParam){ return 1; } Now you can generate the below IL to load native callable function pointer ( LDFTN) and then pass it a native method. .locals init ([0] native int ptr) nop ldftn int32 CallbackMethod(native int,native int) stloc.0 ldloc.0 ldsfld native int System.IntPtr::Zero call bool NativeMethods::EnumWindows(native int,native int) pop ret Encoding native callable methods as ENCODE_METHOD_NATIVECALLABLE_HANDLE so that we don't have to check for the custom attribute at runtime to decode the method.Also fixing the remaining code review comments. Adding runtime check to prevent Native Callable methods from being used as calli target with an ldftn. Also adding some negative test cases , they are disabled for now since the tests failfast and msbuild report it as failure.
2015-09-02Package updates and fixesMatt Mitchell1-121/+219
1) Float package versions 2) Change readytorun packages to use project.json. The versions that were referenced in the packages.config didn't actually exist anyway, and on machines with cleaner caches, might cause a build breka 3) Lock SIMD packages
2015-07-09Move CoreCLR to the modern build tools and dnxMatt Mitchell8-20/+614
This changes moves coreclr onto DNX (same version as corefx). Theoretically, this should allow these tests to target the desktop CLR. All of the old package.config files are gone and replaced with corresponding project.json files. The up front restore behavior is retained. Tests are now buildable individually, though not runnable in a similar fashion.
2015-05-30Fix a bug in implementation of ICastable when CoreCLR throws exception on IL ↵Eugene Zemtsov1-0/+5
isinst if IsInstanceOfInterface() sets the exception out param. Correct behavior: If false is returned when IsInstanceOfInterface() called as part of a castclass then the usual InvalidCastException will be thrown unless an alternate exception is assigned to the castError output parameter. This parameter is ignored on successful casts or during the evaluation of an isinst (which returns null rather than throwing on error).
2015-03-18Implement runtime support for ICastable interfaceEugene Zemtsov4-0/+271
The goal of this change is to facilitate an alternative (MCG based) way of doing COM interop, we're going to use it on Unix platforms. New ICastable interface allows objects to pretend at runtime that they support an interface and to provide an alternative type that is used to resolve actual calls to interface methods. BE VERY CAREFUL: This is a very dangerous feature, and at this stage it can easily lead to memory corruption without any native code involved. Reviewers: Yi Zhang, Noah Falk, Jan Kotas. DDR clean. [tfs-changeset: 1435198]
2015-03-06With This change the tests build all the native components first and then ↵Rama Krishnan Raghupathy7-0/+618
builds the managed components. The managed components can refer to the native projects by the following construct in the .csproj <ProjectReference Include="CMakeLists.txt"> [tfs-changeset: 1427574]