From 86a97fd9d5080f9d2e663d366ac7732126bdccb5 Mon Sep 17 00:00:00 2001 From: Victor Milovanov Date: Thu, 20 Aug 2020 16:46:17 -0700 Subject: [PATCH] added a test for finalization on shutdown potential issue reported here: https://github.com/pythonnet/pythonnet/commit/610d309d62cecb1767c32a3d29df2ed06d13cde8#commitcomment-41601957 --- src/embed_tests/TestFinalizer.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/embed_tests/TestFinalizer.cs b/src/embed_tests/TestFinalizer.cs index f82767af1..2d8c996bf 100644 --- a/src/embed_tests/TestFinalizer.cs +++ b/src/embed_tests/TestFinalizer.cs @@ -87,6 +87,18 @@ public void CollectBasicObject() Assert.GreaterOrEqual(objectCount, 1); } + [Test] + public void CollectOnShutdown() + { + MakeAGarbage(out var shortWeak, out var longWeak); + FullGCCollect(); + var garbage = Finalizer.Instance.GetCollectedObjects(); + Assert.IsNotEmpty(garbage); + PythonEngine.Shutdown(); + garbage = Finalizer.Instance.GetCollectedObjects(); + Assert.IsEmpty(garbage); + } + private static void MakeAGarbage(out WeakReference shortWeak, out WeakReference longWeak) { PyLong obj = new PyLong(1024);