From 7cb088d1299ccd3e381f485a9bc2e4cdcb3dafbe Mon Sep 17 00:00:00 2001 From: Jerome Haltom Date: Tue, 11 Jun 2024 21:08:27 -0500 Subject: [PATCH 1/3] No need for this. --- .../Java/Externs/java/io/WinNTFileSystem.cs | 51 ++++++++----------- 1 file changed, 22 insertions(+), 29 deletions(-) diff --git a/src/IKVM.Runtime/Java/Externs/java/io/WinNTFileSystem.cs b/src/IKVM.Runtime/Java/Externs/java/io/WinNTFileSystem.cs index fc2459047..d84a9d7d1 100644 --- a/src/IKVM.Runtime/Java/Externs/java/io/WinNTFileSystem.cs +++ b/src/IKVM.Runtime/Java/Externs/java/io/WinNTFileSystem.cs @@ -540,40 +540,33 @@ public static string[] list(object self, object f) #if FIRST_PASS throw new NotImplementedException(); #else - try + if (JVM.Vfs.IsPath(((global::java.io.File)f).getPath())) { - if (JVM.Vfs.IsPath(((global::java.io.File)f).getPath())) - { - if (JVM.Vfs.GetEntry(((global::java.io.File)f).getPath()) is VfsDirectory vfs) - return vfs.List(); + if (JVM.Vfs.GetEntry(((global::java.io.File)f).getPath()) is VfsDirectory vfs) + return vfs.List(); - return null; + return null; + } + else + { + __callerID ??= global::ikvm.@internal.CallerID.create(WinNTFileSystemAccessor.Type.TypeHandle); + __jniPtr__list ??= Marshal.GetDelegateForFunctionPointer<__jniDelegate__list>(JNIFrame.GetFuncPtr(__callerID, "java/io/WinNTFileSystem", nameof(list), "(Ljava/io/File;)[Ljava/lang/String;")); + var jniFrm = new JNIFrame(); + var jniEnv = jniFrm.Enter(__callerID); + try + { + return (string[])jniFrm.UnwrapLocalRef(__jniPtr__list(jniEnv, jniFrm.MakeLocalRef(self), jniFrm.MakeLocalRef(f))); } - else + catch (Exception ex) { - __callerID ??= global::ikvm.@internal.CallerID.create(WinNTFileSystemAccessor.Type.TypeHandle); - __jniPtr__list ??= Marshal.GetDelegateForFunctionPointer<__jniDelegate__list>(JNIFrame.GetFuncPtr(__callerID, "java/io/WinNTFileSystem", nameof(list), "(Ljava/io/File;)[Ljava/lang/String;")); - var jniFrm = new JNIFrame(); - var jniEnv = jniFrm.Enter(__callerID); - try - { - return (string[])jniFrm.UnwrapLocalRef(__jniPtr__list(jniEnv, jniFrm.MakeLocalRef(self), jniFrm.MakeLocalRef(f))); - } - catch (Exception ex) - { - System.Console.WriteLine("*** exception in native code ***"); - System.Console.WriteLine(ex); - throw; - } - finally - { - jniFrm.Leave(); - } + System.Console.WriteLine("*** exception in native code ***"); + System.Console.WriteLine(ex); + throw; + } + finally + { + jniFrm.Leave(); } - } - catch (global::java.lang.NegativeArraySizeException e) - { - throw new global::java.lang.NegativeArraySizeException("listing " + ((global::java.io.File)f).getPath()); } #endif } From 19f9984d8f391f89047450bfca115013b6810291 Mon Sep 17 00:00:00 2001 From: Jerome Haltom Date: Wed, 12 Jun 2024 09:12:59 -0500 Subject: [PATCH 2/3] Disable AppDomains on this test. --- .../IKVM.Tools.Importer.Tests.csproj | 11 +++++++++-- .../IKVM.Tools.Importer.Tests.runsettings | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.runsettings diff --git a/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.csproj b/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.csproj index 0c053aecc..ba37ed8f0 100644 --- a/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.csproj +++ b/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.csproj @@ -1,8 +1,9 @@ - + net472;net6.0;net8.0 true false + $(MSBuildProjectDirectory)\IKVM.Tools.Importer.Tests.runsettings @@ -16,7 +17,7 @@ - + @@ -67,5 +68,11 @@ + + + PreserveNewest + + + diff --git a/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.runsettings b/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.runsettings new file mode 100644 index 000000000..a2df0b4d2 --- /dev/null +++ b/src/IKVM.Tools.Importer.Tests/IKVM.Tools.Importer.Tests.runsettings @@ -0,0 +1,8 @@ + + + True + + + True + + \ No newline at end of file From a3327e6bc37816b47b6e29c6319f27c5cccbbf11 Mon Sep 17 00:00:00 2001 From: Jerome Haltom Date: Wed, 12 Jun 2024 09:35:51 -0500 Subject: [PATCH 3/3] Convert to new testing platform. --- .../IKVM.Tools.Exporter.Tests.csproj | 9 ++++++++- .../IKVM.Tools.Exporter.Tests.runsettings | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.runsettings diff --git a/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.csproj b/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.csproj index aa00e1689..13584589c 100644 --- a/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.csproj +++ b/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.csproj @@ -1,8 +1,9 @@ - + net472;net6.0;net8.0 true false + $(MSBuildProjectDirectory)\IKVM.Tools.Exporter.Tests.runsettings @@ -56,4 +57,10 @@ + + + PreserveNewest + + + \ No newline at end of file diff --git a/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.runsettings b/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.runsettings new file mode 100644 index 000000000..a2df0b4d2 --- /dev/null +++ b/src/IKVM.Tools.Exporter.Tests/IKVM.Tools.Exporter.Tests.runsettings @@ -0,0 +1,8 @@ + + + True + + + True + + \ No newline at end of file