| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 38ea0b6 commit 06a656e
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -280,7 +280,12 @@ void ExecTest() | |||
| 280 | 280 | { | |
| 281 | 281 | try | |
| 282 | 282 | { | |
| 283 | + PythonEngine.Initialize(); | ||
| 283 | 284 | var numRef = CreateNumReference(); | |
| 285 | + PythonEngine.Shutdown(); // <- "run" 1 ends | ||
| 286 | + PythonEngine.Initialize(); // <- "run" 2 starts | ||
| 287 | + Assert.True(numRef.IsAlive); | ||
| 288 | + | ||
| 284 | 289 | GC.Collect(); | |
| 285 | 290 | GC.WaitForPendingFinalizers(); // <- this will put former `num` into Finalizer queue | |
| 286 | 291 | Finalizer.Instance.Collect(forceDispose: true); | |
@@ -321,7 +326,11 @@ void ExecTest() | |||
| 321 | 326 | { | |
| 322 | 327 | try | |
| 323 | 328 | { | |
| 329 | + PythonEngine.Initialize(); | ||
| 324 | 330 | var objRef = CreateConcreateObject(); | |
| 331 | + PythonEngine.Shutdown(); // <- "run" 1 ends | ||
| 332 | + PythonEngine.Initialize(); // <- "run" 2 starts | ||
| 333 | + Assert.True(objRef.IsAlive); | ||
| 325 | 334 | GC.Collect(); | |
| 326 | 335 | GC.WaitForPendingFinalizers(); | |
| 327 | 336 | Finalizer.Instance.Collect(forceDispose: true); | |
@@ -355,25 +364,17 @@ void ErrorHandler(object sender, Finalizer.ErrorArgs e) | |||
| 355 | 364 | ||
| 356 | 365 | private static WeakReference CreateNumReference() | |
| 357 | 366 | { | |
| 358 | - PythonEngine.Initialize(); | ||
| 359 | 367 | var num = 3216757418.ToPython(); | |
| 360 | 368 | Assert.AreEqual(num.Refcount, 1); | |
| 361 | 369 | WeakReference numRef = new WeakReference(num, false); | |
| 362 | - PythonEngine.Shutdown(); // <- "run" 1 ends | ||
| 363 | - PythonEngine.Initialize(); // <- "run" 2 starts | ||
| 364 | - num = null; | ||
| 365 | 370 | return numRef; | |
| 366 | 371 | } | |
| 367 | 372 | ||
| 368 | 373 | private static WeakReference CreateConcreateObject() | |
| 369 | 374 | { | |
| 370 | - PythonEngine.Initialize(); | ||
| 371 | 375 | var obj = new Domain.MyClass().ToPython(); | |
| 372 | 376 | Assert.AreEqual(obj.Refcount, 1); | |
| 373 | 377 | WeakReference numRef = new WeakReference(obj, false); | |
| 374 | - PythonEngine.Shutdown(); | ||
| 375 | - PythonEngine.Initialize(); | ||
| 376 | - obj = null; | ||
| 377 | 378 | return numRef; | |
| 378 | 379 | } | |
| 379 | 380 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments