From 4c9ff8b469e7f451dea7ce70f63c23b3dd80d7c4 Mon Sep 17 00:00:00 2001 From: testrunner123 Date: Wed, 7 Jun 2017 09:34:14 +0200 Subject: [PATCH 1/5] Update typemanager.cs Fix crash of python interpreter 3.5 64-bit in garbage collector --- src/runtime/typemanager.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/runtime/typemanager.cs b/src/runtime/typemanager.cs index 6f373f036..ad0fddcc1 100644 --- a/src/runtime/typemanager.cs +++ b/src/runtime/typemanager.cs @@ -206,6 +206,7 @@ internal static IntPtr CreateSubType(IntPtr py_name, IntPtr py_base_type, IntPtr if (0 != Runtime.PyMapping_HasKey(py_dict, assemblyKey.Handle)) { var pyAssembly = new PyObject(Runtime.PyDict_GetItem(py_dict, assemblyKey.Handle)); + Runtime.XIncref(pyAssembly.Handle); disposeList.Add(pyAssembly); if (!Converter.ToManagedValue(pyAssembly.Handle, typeof(string), out assembly, false)) { @@ -218,6 +219,7 @@ internal static IntPtr CreateSubType(IntPtr py_name, IntPtr py_base_type, IntPtr if (0 != Runtime.PyMapping_HasKey(py_dict, namespaceKey.Handle)) { var pyNamespace = new PyObject(Runtime.PyDict_GetItem(py_dict, namespaceKey.Handle)); + Runtime.XIncref(pyNamespace.Handle); disposeList.Add(pyNamespace); if (!Converter.ToManagedValue(pyNamespace.Handle, typeof(string), out namespaceStr, false)) { From 8d53035fdbce01959901125af5b1eb13a165f321 Mon Sep 17 00:00:00 2001 From: testrunner123 Date: Wed, 14 Jun 2017 13:25:14 +0200 Subject: [PATCH 2/5] Create AUTHORS.md --- AUTHORS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/AUTHORS.md b/AUTHORS.md index d715eed6f..9f4060c25 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -43,3 +43,5 @@ - ([@rico-chet](https://github.com/rico-chet)) - ([@rmadsen-ks](https://github.com/rmadsen-ks)) - ([@stonebig](https://github.com/stonebig)) +- ([@testrunner123](https://github.com/testrunner123)) + From 426f2d34241920f97e6305d2c530c0c2c6ee7055 Mon Sep 17 00:00:00 2001 From: testrunner123 Date: Wed, 14 Jun 2017 13:29:14 +0200 Subject: [PATCH 3/5] Create CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c245b17b..566ee9c31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ This document follows the conventions laid out in [Keep a CHANGELOG][]. - Fixed Visual Studio 2017 compat (#434) for setup.py - Fixed `FooBar` bug +- Fixed crash on exit of python interpreter if python class derived from .NET class has `__namespace__` or `__assembly__` attribute ## [2.3.0][] - 2017-03-11 From 850cf1309ac64e6b6b44bc5123980980f6ef388f Mon Sep 17 00:00:00 2001 From: testrunner123 Date: Wed, 14 Jun 2017 13:32:06 +0200 Subject: [PATCH 4/5] Create test_subclass.py --- src/tests/test_subclass.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/tests/test_subclass.py b/src/tests/test_subclass.py index 8e862a56d..739c24c07 100644 --- a/src/tests/test_subclass.py +++ b/src/tests/test_subclass.py @@ -85,7 +85,6 @@ def OnTestEvent(self, value): return DerivedEventTest -@pytest.mark.skip(reason="FIXME: test randomly pass/fails") def test_base_class(): """Test base class managed type""" ob = SubClassTest() @@ -98,7 +97,6 @@ def test_base_class(): assert list(SubClassTest.test_list(ob)) == ["a", "b", "c"] -@pytest.mark.skip(reason="FIXME: test randomly pass/fails") def test_interface(): """Test python classes can derive from C# interfaces""" InterfaceTestClass = interface_test_class_fixture() @@ -112,7 +110,6 @@ def test_interface(): assert id(x) == id(ob) -@pytest.mark.skip(reason="FIXME: test randomly pass/fails") def test_derived_class(): """Test python class derived from managed type""" DerivedClass = derived_class_fixture() From 30c7605d21e15824535cd5505eea8e28f68fca02 Mon Sep 17 00:00:00 2001 From: Benedikt Reinartz Date: Wed, 14 Jun 2017 13:35:24 +0200 Subject: [PATCH 5/5] Create CHANGELOG.md --- CHANGELOG.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 566ee9c31..353c34b8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,19 +8,17 @@ This document follows the conventions laid out in [Keep a CHANGELOG][]. ## [unreleased][] ### Added -- Added clr.GetClrType (#432)(#433) -- Added `Foo` feature -- Allowed passing None for nullable args (#460) +- Added `clr.GetClrType` (#432, #433) +- Allowed passing `None` for nullable args (#460) ### Changed -- Changed `Bar` feature - ### Fixed - Fixed Visual Studio 2017 compat (#434) for setup.py -- Fixed `FooBar` bug -- Fixed crash on exit of python interpreter if python class derived from .NET class has `__namespace__` or `__assembly__` attribute +- Fixed crash on exit of the Python interpreter if a python class + derived from a .NET class has a `__namespace__` or `__assembly__` + attribute (#481) ## [2.3.0][] - 2017-03-11