diff --git a/IronPython.slnx b/IronPython.slnx
index e8a180378..82d6dbbf6 100644
--- a/IronPython.slnx
+++ b/IronPython.slnx
@@ -67,4 +67,5 @@
+
diff --git a/src/core/IronPython/Properties/AssemblyInfo.cs b/src/core/IronPython/Properties/AssemblyInfo.cs
index 3c7aa8cfe..3ae9f08dc 100644
--- a/src/core/IronPython/Properties/AssemblyInfo.cs
+++ b/src/core/IronPython/Properties/AssemblyInfo.cs
@@ -45,5 +45,6 @@
[assembly: InternalsVisibleTo("IronPython.Modules, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c10ce00dd2e0ce5046d68183d3ad035b47e92bf0ce7bcf8a03a217ca5d0b0c7db973fdf97579b52b502a23d4069dbf043389e1ab65a1d6c508a9837f3e2350f15e05cc63c0fc4b0410867a51919090e4c33f80203e9b0035b21c32bae20f98b068f90d99a50133a5336480d94039b176519f5fd8524765f33be43da65c4b68ba")]
[assembly: InternalsVisibleTo("IronPythonTest, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c10ce00dd2e0ce5046d68183d3ad035b47e92bf0ce7bcf8a03a217ca5d0b0c7db973fdf97579b52b502a23d4069dbf043389e1ab65a1d6c508a9837f3e2350f15e05cc63c0fc4b0410867a51919090e4c33f80203e9b0035b21c32bae20f98b068f90d99a50133a5336480d94039b176519f5fd8524765f33be43da65c4b68ba")]
+[assembly: InternalsVisibleTo("IronPython.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c10ce00dd2e0ce5046d68183d3ad035b47e92bf0ce7bcf8a03a217ca5d0b0c7db973fdf97579b52b502a23d4069dbf043389e1ab65a1d6c508a9837f3e2350f15e05cc63c0fc4b0410867a51919090e4c33f80203e9b0035b21c32bae20f98b068f90d99a50133a5336480d94039b176519f5fd8524765f33be43da65c4b68ba")]
[assembly: AllowPartiallyTrustedCallers]
diff --git a/tests/IronPython.Tests/EngineTest.cs b/tests/IronPython.Tests/EngineTest.cs
index 925f88543..9dd948add 100644
--- a/tests/IronPython.Tests/EngineTest.cs
+++ b/tests/IronPython.Tests/EngineTest.cs
@@ -19,9 +19,6 @@
#endif
using System.Text;
using System.Threading;
-#if FEATURE_WPF
-using System.Windows.Markup;
-#endif
using Microsoft.Scripting;
using Microsoft.Scripting.Generation;
@@ -38,10 +35,6 @@
using NUnit.Framework;
-#if FEATURE_WPF
-using DependencyObject = System.Windows.DependencyObject;
-#endif
-
[assembly: ExtensionType(typeof(IronPythonTest.IFooable), typeof(IronPythonTest.FooableExtensions))]
namespace IronPythonTest {
internal class Common {
@@ -73,113 +66,6 @@ private static string FindRoot() {
}
}
- public static class TestHelpers {
- public static LanguageContext GetContext(CodeContext context) {
- return context.LanguageContext;
- }
-
- public static int HashObject(object o) {
- return o.GetHashCode();
- }
- }
-
- public delegate int IntIntDelegate(int arg);
- public delegate string RefStrDelegate(ref string arg);
- public delegate int RefIntDelegate(ref int arg);
- public delegate T GenericDelegate(U arg1, V arg2);
-
-#if FEATURE_WPF
- [ContentProperty("Content")]
- public class XamlTestObject : DependencyObject {
- public event IntIntDelegate Event;
- public int Method(int arg) {
- if (Event != null)
- return Event(arg);
-
- return -1;
- }
-
- public object Content {
- get;
- set;
- }
- }
-
- [ContentProperty("Content")]
- [RuntimeNameProperty("MyName")]
- public class InnerXamlTextObject : DependencyObject {
- public object Content {
- get;
- set;
- }
-
- public string MyName {
- get;
- set;
- }
- }
-
- [ContentProperty("Content")]
- [RuntimeNameProperty("Name")]
- public class InnerXamlTextObject2 : DependencyObject {
- public object Content {
- get;
- set;
- }
-
- public string Name {
- get;
- set;
- }
- }
-#endif
-
- public class ClsPart {
- public int Field;
- private int m_property;
- public int Property { get { return m_property; } set { m_property = value; } }
- public event IntIntDelegate Event;
- public int Method(int arg) {
- if (Event != null)
- return Event(arg);
- else
- return -1;
- }
-
- // Private members
-#pragma warning disable 169
- // This field is accessed from the test
- private int privateField;
- private int privateProperty { get { return m_property; } set { m_property = value; } }
- private event IntIntDelegate privateEvent;
- private int privateMethod(int arg) {
- if (privateEvent != null)
- return privateEvent(arg);
- else
- return -1;
- }
- private static int privateStaticMethod() {
- return 100;
- }
-#pragma warning restore 169
- }
-
- internal class InternalClsPart {
-#pragma warning disable 649
- // This field is accessed from the test
- internal int Field;
-#pragma warning restore 649
- private int m_property;
- internal int Property { get { return m_property; } set { m_property = value; } }
- internal event IntIntDelegate Event;
- internal int Method(int arg) {
- if (Event != null)
- return Event(arg);
- else
- return -1;
- }
- }
-
public class EngineTest
#if FEATURE_REMOTING
: MarshalByRefObject
@@ -2806,28 +2692,4 @@ public static string Bar(IFooable self) {
return "Bar Called";
}
}
-
- [PythonHiddenBaseClass]
- public class HiddenBase {
- public void Inaccessible() {
- }
- }
-
- public class DerivedFromHiddenBase : HiddenBase {
- public int Accessible() {
- return 42;
- }
- }
-
- public class GenericProperty {
- private T _value;
- public T Value {
- get {
- return this._value;
- }
- set {
- this._value = value;
- }
- }
- }
}
diff --git a/tests/IronPython.Tests/IronPython.Tests.csproj b/tests/IronPython.Tests/IronPython.Tests.csproj
index 2e8c614b4..aca87003e 100644
--- a/tests/IronPython.Tests/IronPython.Tests.csproj
+++ b/tests/IronPython.Tests/IronPython.Tests.csproj
@@ -2,7 +2,6 @@
net462;net8.0;net10.0
- IronPythonTest
true
M:System.IO.Path.GetRelativePath(System.String, System.String);
@@ -12,11 +11,7 @@
-
-
-
-
-
+
@@ -37,21 +32,6 @@
-
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/IronPython.Tests/AssemblyInfo.cs b/tests/IronPythonTest/AssemblyInfo.cs
similarity index 100%
rename from tests/IronPython.Tests/AssemblyInfo.cs
rename to tests/IronPythonTest/AssemblyInfo.cs
diff --git a/tests/IronPython.Tests/AsyncInteropHelpers.cs b/tests/IronPythonTest/AsyncInteropHelpers.cs
similarity index 100%
rename from tests/IronPython.Tests/AsyncInteropHelpers.cs
rename to tests/IronPythonTest/AsyncInteropHelpers.cs
diff --git a/tests/IronPython.Tests/AttrInjectorTest.cs b/tests/IronPythonTest/AttrInjectorTest.cs
similarity index 100%
rename from tests/IronPython.Tests/AttrInjectorTest.cs
rename to tests/IronPythonTest/AttrInjectorTest.cs
diff --git a/tests/IronPython.Tests/BindTest.cs b/tests/IronPythonTest/BindTest.cs
similarity index 100%
rename from tests/IronPython.Tests/BindTest.cs
rename to tests/IronPythonTest/BindTest.cs
diff --git a/tests/IronPython.Tests/BinderTest.cs b/tests/IronPythonTest/BinderTest.cs
similarity index 100%
rename from tests/IronPython.Tests/BinderTest.cs
rename to tests/IronPythonTest/BinderTest.cs
diff --git a/tests/IronPython.Tests/ClrType.cs b/tests/IronPythonTest/ClrType.cs
similarity index 100%
rename from tests/IronPython.Tests/ClrType.cs
rename to tests/IronPythonTest/ClrType.cs
diff --git a/tests/IronPython.Tests/Cmplx.cs b/tests/IronPythonTest/Cmplx.cs
similarity index 100%
rename from tests/IronPython.Tests/Cmplx.cs
rename to tests/IronPythonTest/Cmplx.cs
diff --git a/tests/IronPython.Tests/Conversions.cs b/tests/IronPythonTest/Conversions.cs
similarity index 100%
rename from tests/IronPython.Tests/Conversions.cs
rename to tests/IronPythonTest/Conversions.cs
diff --git a/tests/IronPython.Tests/DeTest.cs b/tests/IronPythonTest/DeTest.cs
similarity index 100%
rename from tests/IronPython.Tests/DeTest.cs
rename to tests/IronPythonTest/DeTest.cs
diff --git a/tests/IronPython.Tests/DelegateTest.cs b/tests/IronPythonTest/DelegateTest.cs
similarity index 100%
rename from tests/IronPython.Tests/DelegateTest.cs
rename to tests/IronPythonTest/DelegateTest.cs
diff --git a/tests/IronPython.Tests/DynamicRegressions.cs b/tests/IronPythonTest/DynamicRegressions.cs
similarity index 100%
rename from tests/IronPython.Tests/DynamicRegressions.cs
rename to tests/IronPythonTest/DynamicRegressions.cs
diff --git a/tests/IronPythonTest/EngineTestTypes.cs b/tests/IronPythonTest/EngineTestTypes.cs
new file mode 100644
index 000000000..c85dde15a
--- /dev/null
+++ b/tests/IronPythonTest/EngineTestTypes.cs
@@ -0,0 +1,165 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License.
+// See the LICENSE file in the project root for more information.
+
+using System;
+#if FEATURE_WPF
+using System.Windows.Markup;
+#endif
+
+using Microsoft.Scripting;
+using Microsoft.Scripting.Hosting;
+using Microsoft.Scripting.Runtime;
+
+using IronPython.Hosting;
+using IronPython.Runtime;
+
+#if FEATURE_WPF
+using DependencyObject = System.Windows.DependencyObject;
+#endif
+
+namespace IronPythonTest {
+ public static class TestHelpers {
+ public static LanguageContext GetContext(CodeContext context) {
+ return context.LanguageContext;
+ }
+
+ public static int HashObject(object o) {
+ return o.GetHashCode();
+ }
+ }
+
+ public delegate int IntIntDelegate(int arg);
+ public delegate string RefStrDelegate(ref string arg);
+ public delegate int RefIntDelegate(ref int arg);
+ public delegate T GenericDelegate(U arg1, V arg2);
+
+#if FEATURE_WPF
+ [ContentProperty("Content")]
+ public class XamlTestObject : DependencyObject {
+ public event IntIntDelegate Event;
+ public int Method(int arg) {
+ if (Event != null)
+ return Event(arg);
+
+ return -1;
+ }
+
+ public object Content {
+ get;
+ set;
+ }
+ }
+
+ [ContentProperty("Content")]
+ [RuntimeNameProperty("MyName")]
+ public class InnerXamlTextObject : DependencyObject {
+ public object Content {
+ get;
+ set;
+ }
+
+ public string MyName {
+ get;
+ set;
+ }
+ }
+
+ [ContentProperty("Content")]
+ [RuntimeNameProperty("Name")]
+ public class InnerXamlTextObject2 : DependencyObject {
+ public object Content {
+ get;
+ set;
+ }
+
+ public string Name {
+ get;
+ set;
+ }
+ }
+#endif
+
+ public class ClsPart {
+ public int Field;
+ private int m_property;
+ public int Property { get { return m_property; } set { m_property = value; } }
+ public event IntIntDelegate Event;
+ public int Method(int arg) {
+ if (Event != null)
+ return Event(arg);
+ else
+ return -1;
+ }
+
+ // Private members
+#pragma warning disable 169
+ // This field is accessed from the test
+ private int privateField;
+ private int privateProperty { get { return m_property; } set { m_property = value; } }
+ private event IntIntDelegate privateEvent;
+ private int privateMethod(int arg) {
+ if (privateEvent != null)
+ return privateEvent(arg);
+ else
+ return -1;
+ }
+ private static int privateStaticMethod() {
+ return 100;
+ }
+#pragma warning restore 169
+ }
+
+ internal class InternalClsPart {
+#pragma warning disable 649
+ // This field is accessed from the test
+ internal int Field;
+#pragma warning restore 649
+ private int m_property;
+ internal int Property { get { return m_property; } set { m_property = value; } }
+ internal event IntIntDelegate Event;
+ internal int Method(int arg) {
+ if (Event != null)
+ return Event(arg);
+ else
+ return -1;
+ }
+ }
+
+ [PythonHiddenBaseClass]
+ public class HiddenBase {
+ public void Inaccessible() {
+ }
+ }
+
+ public class DerivedFromHiddenBase : HiddenBase {
+ public int Accessible() {
+ return 42;
+ }
+ }
+
+ public class GenericProperty {
+ private T _value;
+ public T Value {
+ get {
+ return this._value;
+ }
+ set {
+ this._value = value;
+ }
+ }
+ }
+
+ // Used to test exception thrown in another domain can be shown correctly.
+ public class ScriptRunner
+#if FEATURE_REMOTING
+ : MarshalByRefObject
+#endif
+ {
+ private readonly ScriptEngine _engine = Python.CreateEngine();
+
+ public void Run(string script) {
+ _engine.CreateScriptSourceFromString(script, SourceCodeKind.File).Execute(_engine.CreateScope());
+ }
+ }
+}
diff --git a/tests/IronPython.Tests/Enums.cs b/tests/IronPythonTest/Enums.cs
similarity index 100%
rename from tests/IronPython.Tests/Enums.cs
rename to tests/IronPythonTest/Enums.cs
diff --git a/tests/IronPython.Tests/Events.cs b/tests/IronPythonTest/Events.cs
similarity index 100%
rename from tests/IronPython.Tests/Events.cs
rename to tests/IronPythonTest/Events.cs
diff --git a/tests/IronPython.Tests/ExceptionConverter.cs b/tests/IronPythonTest/ExceptionConverter.cs
similarity index 100%
rename from tests/IronPython.Tests/ExceptionConverter.cs
rename to tests/IronPythonTest/ExceptionConverter.cs
diff --git a/tests/IronPython.Tests/Exceptions.cs b/tests/IronPythonTest/Exceptions.cs
similarity index 100%
rename from tests/IronPython.Tests/Exceptions.cs
rename to tests/IronPythonTest/Exceptions.cs
diff --git a/tests/IronPython.Tests/Explicit.cs b/tests/IronPythonTest/Explicit.cs
similarity index 100%
rename from tests/IronPython.Tests/Explicit.cs
rename to tests/IronPythonTest/Explicit.cs
diff --git a/tests/IronPython.Tests/ExtensionMethodTest.cs b/tests/IronPythonTest/ExtensionMethodTest.cs
similarity index 100%
rename from tests/IronPython.Tests/ExtensionMethodTest.cs
rename to tests/IronPythonTest/ExtensionMethodTest.cs
diff --git a/tests/IronPython.Tests/GenMeth.cs b/tests/IronPythonTest/GenMeth.cs
similarity index 100%
rename from tests/IronPython.Tests/GenMeth.cs
rename to tests/IronPythonTest/GenMeth.cs
diff --git a/tests/IronPython.Tests/Indexable.cs b/tests/IronPythonTest/Indexable.cs
similarity index 100%
rename from tests/IronPython.Tests/Indexable.cs
rename to tests/IronPythonTest/Indexable.cs
diff --git a/tests/IronPython.Tests/InheritTest.cs b/tests/IronPythonTest/InheritTest.cs
similarity index 100%
rename from tests/IronPython.Tests/InheritTest.cs
rename to tests/IronPythonTest/InheritTest.cs
diff --git a/tests/IronPython.Tests/IntegerTest.cs b/tests/IronPythonTest/IntegerTest.cs
similarity index 100%
rename from tests/IronPython.Tests/IntegerTest.cs
rename to tests/IronPythonTest/IntegerTest.cs
diff --git a/tests/IronPython.Tests/IronMath.cs b/tests/IronPythonTest/IronMath.cs
similarity index 100%
rename from tests/IronPython.Tests/IronMath.cs
rename to tests/IronPythonTest/IronMath.cs
diff --git a/tests/IronPythonTest/IronPythonTest.csproj b/tests/IronPythonTest/IronPythonTest.csproj
new file mode 100644
index 000000000..ef8939bb4
--- /dev/null
+++ b/tests/IronPythonTest/IronPythonTest.csproj
@@ -0,0 +1,36 @@
+
+
+
+ net462;net8.0;net10.0
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/IronPython.Tests/LoadTest.cs b/tests/IronPythonTest/LoadTest.cs
similarity index 100%
rename from tests/IronPython.Tests/LoadTest.cs
rename to tests/IronPythonTest/LoadTest.cs
diff --git a/tests/IronPython.Tests/MemberMappingTests.cs b/tests/IronPythonTest/MemberMappingTests.cs
similarity index 100%
rename from tests/IronPython.Tests/MemberMappingTests.cs
rename to tests/IronPythonTest/MemberMappingTests.cs
diff --git a/tests/IronPython.Tests/MemberOverloadTest.cs b/tests/IronPythonTest/MemberOverloadTest.cs
similarity index 100%
rename from tests/IronPython.Tests/MemberOverloadTest.cs
rename to tests/IronPythonTest/MemberOverloadTest.cs
diff --git a/tests/IronPython.Tests/MethodParametersStubs.cs b/tests/IronPythonTest/MethodParametersStubs.cs
similarity index 100%
rename from tests/IronPython.Tests/MethodParametersStubs.cs
rename to tests/IronPythonTest/MethodParametersStubs.cs
diff --git a/tests/IronPython.Tests/NestedClass.cs b/tests/IronPythonTest/NestedClass.cs
similarity index 100%
rename from tests/IronPython.Tests/NestedClass.cs
rename to tests/IronPythonTest/NestedClass.cs
diff --git a/tests/IronPython.Tests/NullableTest.cs b/tests/IronPythonTest/NullableTest.cs
similarity index 100%
rename from tests/IronPython.Tests/NullableTest.cs
rename to tests/IronPythonTest/NullableTest.cs
diff --git a/tests/IronPython.Tests/OperatorTest.cs b/tests/IronPythonTest/OperatorTest.cs
similarity index 100%
rename from tests/IronPython.Tests/OperatorTest.cs
rename to tests/IronPythonTest/OperatorTest.cs
diff --git a/tests/IronPython.Tests/ProtocolTest.cs b/tests/IronPythonTest/ProtocolTest.cs
similarity index 96%
rename from tests/IronPython.Tests/ProtocolTest.cs
rename to tests/IronPythonTest/ProtocolTest.cs
index 43649545e..c0f972415 100644
--- a/tests/IronPython.Tests/ProtocolTest.cs
+++ b/tests/IronPythonTest/ProtocolTest.cs
@@ -5,10 +5,8 @@
using System;
using System.Collections;
using System.Runtime.CompilerServices;
-using NUnit.Framework;
namespace IronPythonTest {
- [TestFixture(Category = "IronPython")]
public class DisposableTest : IDisposable {
public bool Called;
diff --git a/tests/IronPython.Tests/StaticTest.cs b/tests/IronPythonTest/StaticTest.cs
similarity index 100%
rename from tests/IronPython.Tests/StaticTest.cs
rename to tests/IronPythonTest/StaticTest.cs
diff --git a/tests/IronPython.Tests/TestBuiltinModule.cs b/tests/IronPythonTest/TestBuiltinModule.cs
similarity index 100%
rename from tests/IronPython.Tests/TestBuiltinModule.cs
rename to tests/IronPythonTest/TestBuiltinModule.cs
diff --git a/tests/IronPython.Tests/TypeDescriptor.cs b/tests/IronPythonTest/TypeDescriptor.cs
similarity index 100%
rename from tests/IronPython.Tests/TypeDescriptor.cs
rename to tests/IronPythonTest/TypeDescriptor.cs
diff --git a/tests/suite/test_exceptions.py b/tests/suite/test_exceptions.py
index d8a2c1862..881e4d5db 100644
--- a/tests/suite/test_exceptions.py
+++ b/tests/suite/test_exceptions.py
@@ -724,7 +724,7 @@ def test_serializable_clionly(self):
import System
from IronPythonTest import ExceptionsTest
path = clr.GetClrType(ExceptionsTest).Assembly.Location
- mbro = System.AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap(path, "IronPythonTest.EngineTest")
+ mbro = System.AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap(path, "IronPythonTest.ScriptRunner")
self.assertRaises(AssertionError, mbro.Run, 'raise AssertionError')
import builtins