Ticket #8304 (closed: fixed)
UnitTests on Ubuntu 13.10
Reported by: | Andrei Savici | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | major | Milestone: | Release 3.2 |
Component: | Python | Keywords: | Maintenance |
Cc: | Blocked By: | #8996 | |
Blocking: | Tester: | Andrei Savici |
Description
Running Ubuntu 13.10, boost 1.54, gcc 4.8.1
The following tests FAILED: 139 - GeometryTest_ObjComponentTest (Failed) 316 - PythonInterfaceAPI_RunPythonScriptTest (SEGFAULT) 328 - PythonAlgorithms_FindReflectometryLinesTest (SEGFAULT) 330 - PythonAlgorithms_LoadLiveDataTest (SEGFAULT) 334 - PythonAlgorithms_MeanTest (SEGFAULT) 336 - PythonAlgorithms_RetrieveRunInfoTest (SEGFAULT) 337 - PythonAlgorithms_SANSWideAngleCorrectionTest (SEGFAULT) 339 - PythonAlgorithms_Stitch1DTest (SEGFAULT) 340 - PythonAlgorithms_Stitch1DManyTest (SEGFAULT) 343 - PythonAlgorithms_UpdatePeakParameterTableValueTest (SEGFAULT) 344 - PythonAlgorithms_SANSSubtractTest (SEGFAULT) Errors while running CTest
Most of them are python tests, I think related to the implementation of += and so on.
Change History
comment:1 Changed 7 years ago by Martyn Gigg
- Keywords Maintenance added
- Milestone changed from Backlog to Release 3.1
comment:3 Changed 7 years ago by Andrei Savici
GeometryTest_ObjComponentTest was fixed by Stuart in #8663
comment:4 Changed 7 years ago by Nick Draper
- Milestone changed from Release 3.1 to Backlog
Moved to backlog at the end of Release 3.1
comment:5 Changed 7 years ago by Martyn Gigg
- Milestone changed from Backlog to Release 3.2
We'll need to fix this for Ubuntu 14.04.
comment:8 Changed 7 years ago by Martyn Gigg
- Status changed from assigned to inprogress
Ensure the GIL is held while all python is executed.
This is required for Python on Ubuntu 13.10 where the dict destruction requires an valid threadstate pointer. Refs #8304
Changeset: 593e9deb27464e6cb2eac8334efe97a2f65f4bdd
comment:9 Changed 7 years ago by Martyn Gigg
Extract the "real" shared_ptr instance from Python objects
The standard boost::python::extract<shared_ptr> actually creates a new shared_ptr from the original and embeds a custom deleter to decref the Python object it was embedded into. As the C++ side is the one that created the shared_ptr originally we just want the same one back. Refs #8304
Changeset: 51b312f5484623113ea0f9ce9c49dd5612a1e5cb
comment:10 Changed 7 years ago by Martyn Gigg
Introduce DataServiceExporter to reduce copy-and-paste code.
It is now used by the AnalysisDataService & PropertyManagerDataService exports. The new class ensures that the embedded shared_ptr is extracted during the add* operations rather than boost.python creating a new one with a custom deleter. Refs #8304
Changeset: 0047bf074684d3d56b4efdc9206eeaf8b4416716
comment:11 Changed 7 years ago by Martyn Gigg
Let boost.python work its magic by default for the DataService
Refs #8304
Changeset: 8bea3905e9c129e2761fdc1492e6ce8b0ad0fa7a
comment:12 Changed 7 years ago by Martyn Gigg
Use unmanaged algorithms in Python simple API
The proxies are unnecessary as we don't return the algorithm instances so they'll get cleaned up automatically when the simple api call goes out of scope. Refs #8304
Changeset: e97f8ac0d2a2902cc0dd1da57fe151fef6a0a32b
comment:13 Changed 7 years ago by Martyn Gigg
Reducer now expects just a plain Algorithm object from the framework.
Refs #8304
Changeset: 0e96ff68c3753f600caecb935bd2a2f42205c81f
comment:14 Changed 7 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
Branch: bugfix/8304_python_unittests_ubuntu
Tester: This will require an Ubuntu 13.10 installation. All of the unit tests should now be fixed and of course all of the systemtests should be passing.
comment:15 Changed 7 years ago by Andrei Savici
- Status changed from verify to verifying
- Tester set to Andrei Savici
comment:16 Changed 7 years ago by Andrei Savici
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/bugfix/8304_python_unittests_ubuntu'
Full changeset: 08ec745dd02f26c138798b9c46ad3f93c1b49cc4
comment:17 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 9149