Basic implementation for testing of COM activation of a .NET class (#19760)
authorAaron Robinson <arobins@microsoft.com>
Tue, 11 Sep 2018 00:24:49 +0000 (17:24 -0700)
committerGitHub <noreply@github.com>
Tue, 11 Sep 2018 00:24:49 +0000 (17:24 -0700)
commitfc3378095f04946815e627a5ab70b528a898abe6
tree44a1e2cd85c2a5c369bf6f754a0379a0751ccb66
parentefd7220234aacef4af25a747797984d43ba5b961
Basic implementation for testing of COM activation of a .NET class (#19760)

* Rough outline of managed implementation for COM activation in SPCL

* Add property for finding interop common
Add property to exclude default assertion file
Display exe ExeLaunchProgram class is going to launch

* Add a native client for the NETServer
Consume the ExeLauncherProgram.cs file as a wrapper for the native test

* Update COM Server contracts to use 'int' instead of 'long'

* Complete symmetric testing coverage for .NET server and native client.

* Block EXE launch from running on non-Windows machines

* Disable COM testing in helix since it has issues on Windows Nano and there
is no way to determine that is the platform.

* Update tests based on CLSID mapping manifest approach.
40 files changed:
build-test.cmd
src/System.Private.CoreLib/System.Private.CoreLib.csproj
src/System.Private.CoreLib/src/System/Runtime/InteropServices/ComActivator.cs [new file with mode: 0644]
src/System.Private.CoreLib/src/System/Runtime/InteropServices/Marshal.cs
src/coreclr/hosts/CMakeLists.txt
src/coreclr/hosts/coreshim/CMakeLists.txt [new file with mode: 0644]
src/coreclr/hosts/coreshim/ComActivation.cpp [new file with mode: 0644]
src/coreclr/hosts/coreshim/CoreShim.cpp [new file with mode: 0644]
src/coreclr/hosts/coreshim/CoreShim.h [new file with mode: 0644]
src/coreclr/hosts/coreshim/Exports.def [new file with mode: 0644]
tests/issues.targets
tests/src/CLRTest.Execute.Batch.targets
tests/src/Interop/CMakeLists.txt
tests/src/Interop/COM/Activator/Activator.csproj [new file with mode: 0644]
tests/src/Interop/COM/Activator/Program.cs [new file with mode: 0644]
tests/src/Interop/COM/NETServer/ArrayTesting.cs [new file with mode: 0644]
tests/src/Interop/COM/NETServer/ErrorMarshalTesting.cs [new file with mode: 0644]
tests/src/Interop/COM/NETServer/NETServer.csproj
tests/src/Interop/COM/NETServer/NumericTesting.cs [new file with mode: 0644]
tests/src/Interop/COM/NETServer/StringTesting.cs [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives.csproj [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/App.manifest [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/ArrayTests.cpp [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/CMakeLists.txt [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/Client.cpp [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/ClientTests.h [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/CoreShim.X.manifest [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/ErrorTests.cpp [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/NumericTests.cpp [new file with mode: 0644]
tests/src/Interop/COM/NativeClients/Primitives/StringTests.cpp [new file with mode: 0644]
tests/src/Interop/COM/NativeServer/ArrayTesting.h
tests/src/Interop/COM/NativeServer/ErrorMarshalTesting.h
tests/src/Interop/COM/NativeServer/NumericTesting.h
tests/src/Interop/COM/NativeServer/Servers.h
tests/src/Interop/COM/ServerContracts/Primitives.cs
tests/src/Interop/COM/ServerContracts/Server.Contracts.tlh
tests/src/Interop/COM/ServerContracts/Server.Contracts.tli
tests/src/Interop/Interop.settings.targets
tests/src/Interop/common/ExeLauncherProgram.cs [new file with mode: 0644]
tests/src/Interop/common/xplatform.h