|
|
|
@ -1,5 +1,6 @@ |
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using System.Reflection; |
|
|
|
using System.Reflection; |
|
|
|
|
|
|
|
using System.Runtime.InteropServices; |
|
|
|
using CommonTest; |
|
|
|
using CommonTest; |
|
|
|
using CppSharp.Utils; |
|
|
|
using CppSharp.Utils; |
|
|
|
using NUnit.Framework; |
|
|
|
using NUnit.Framework; |
|
|
|
@ -936,6 +937,12 @@ This is a very long string. This is a very long string. This is a very long stri |
|
|
|
[Test] |
|
|
|
[Test] |
|
|
|
public void TestStdStringPassedByValue() |
|
|
|
public void TestStdStringPassedByValue() |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && !Environment.Is64BitProcess) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
Assert.Ignore(); // TODO: Remove me once issue #1441 is fixed.
|
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// when C++ memory is deleted, it's only marked as free but not immediadely freed
|
|
|
|
// when C++ memory is deleted, it's only marked as free but not immediadely freed
|
|
|
|
// this can hide memory bugs while marshalling
|
|
|
|
// this can hide memory bugs while marshalling
|
|
|
|
// so let's use a long string to increase the chance of a crash right away
|
|
|
|
// so let's use a long string to increase the chance of a crash right away
|
|
|
|
|