Coverage for tests/test_pySharedPtr.py : 54%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# # Developed for the LSST Data Management System. # This product includes software developed by the LSST Project # (https://www.lsst.org). # See the COPYRIGHT file at the top-level directory of this distribution # for details of code ownership. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. #
"""Test the ability of PySharedPtr to safely pass hybrid objects between C++ and Python."""
super().__init__()
# Don't override overridable()
return "py-abstract"
super().__init__()
return "error -- should never be called!"
return "py-override"
return "py-abstract"
"""Generic test for whether a C++/Python class survives garbage collection.
Parameters ---------- concreteClass : `_inheritance.CppBase`-type The class to test. Must be default-constructible. returns : `tuple` A tuple of the return values from ``concreteClass``'s ``nonOverridable``, ``overridable``, and ``abstract`` methods, in that order. """ storage = _inheritance.CppStorage(concreteClass())
gc.collect()
retrieved = _inheritance.getFromStorage(storage) self.assertIsInstance(retrieved, _inheritance.CppBase) self.assertIsInstance(retrieved, concreteClass) self.assertEqual(_inheritance.printFromCpp(retrieved), " ".join(returns))
self.checkGarbageCollection(self.PyDerived, ("42", "", "py-abstract"))
self.checkGarbageCollection(_inheritance.CppDerived, ("42", "overridden", "implemented"))
self.checkGarbageCollection(self.PyCppDerived, ("42", "py-override", "py-abstract"))
lsst.utils.tests.init()
lsst.utils.tests.init() unittest.main() |