See the new test class in #901
AccessViolationException gets thrown in the line PyImport_ImportModule("platform") in Runtime.InitializePlatformData when a release build is tested using NUnit console runner.
nunit3-console.exe --x86 src\embed_tests\bin\publish\Python.EmbeddingTest.dll
Removal of initialization code makes tests succeed:
[OneTimeSetUp]
public void SetUp() {
PythonEngine.Initialize();
}
[OneTimeTearDown]
public void Dispose() {
PythonEngine.Shutdown();
}
The initialization code on its own may not be the cause, as there are other classes, that use the same pattern. Must be something in conjunction with the actual tests.
Note, that disabling feature implemented by #901 by commenting out code in TypeManager does not resolve the problem, e.g. it crashes anyway.
See the new test class in #901
AccessViolationExceptiongets thrown in the linePyImport_ImportModule("platform")inRuntime.InitializePlatformDatawhen a release build is tested using NUnit console runner.nunit3-console.exe --x86 src\embed_tests\bin\publish\Python.EmbeddingTest.dllRemoval of initialization code makes tests succeed:
The initialization code on its own may not be the cause, as there are other classes, that use the same pattern. Must be something in conjunction with the actual tests.
Note, that disabling feature implemented by #901 by commenting out code in
TypeManagerdoes not resolve the problem, e.g. it crashes anyway.