diff --git a/tests/functional/pyocf/types/volume.py b/tests/functional/pyocf/types/volume.py index 3984d43..4813547 100644 --- a/tests/functional/pyocf/types/volume.py +++ b/tests/functional/pyocf/types/volume.py @@ -185,6 +185,7 @@ class Volume: volume.handle = ref Volume._instances_[ref] = volume + volume.opened = True ret = volume.do_open() if ret == 0: @@ -273,7 +274,10 @@ class Volume: return 0 def do_close(self): - del Volume._instances_[self.handle] + try: + del Volume._instances_[self.handle] + except AttributeError: + pass def get_length(self): raise NotImplementedError diff --git a/tests/functional/pyocf/types/volume_replicated.py b/tests/functional/pyocf/types/volume_replicated.py index cc0959c..d721048 100644 --- a/tests/functional/pyocf/types/volume_replicated.py +++ b/tests/functional/pyocf/types/volume_replicated.py @@ -29,7 +29,7 @@ class ReplicatedVolume(Volume): self.primary.close() return ret - def close(self): + def do_close(self): self.primary.close() self.secondary.close() diff --git a/tests/functional/tests/conftest.py b/tests/functional/tests/conftest.py index c467d02..4667bd5 100644 --- a/tests/functional/tests/conftest.py +++ b/tests/functional/tests/conftest.py @@ -17,6 +17,8 @@ from pyocf.types.volume_replicated import ReplicatedVolume from pyocf.types.cvolume import CVolume from pyocf.types.ctx import OcfCtx from pyocf.helpers import get_composite_volume_type_id +from pyocf.types.volume import Volume +import warnings default_registered_volumes = [RamVolume, ErrorDevice, CacheVolume, CoreVolume, ReplicatedVolume] @@ -34,6 +36,8 @@ def pyocf_ctx(): yield c c.exit() gc.collect() + if len(Volume._instances_) > 0: + warnings.warn("Not all Volumes have been closed!!!") @pytest.fixture() @@ -46,6 +50,8 @@ def pyocf_ctx_log_buffer(): yield logger c.exit() gc.collect() + if len(Volume._instances_) > 0: + warnings.warn("Not all Volumes have been closed!!!") @pytest.fixture() @@ -61,6 +67,8 @@ def pyocf_2_ctx(): c1.exit() c2.exit() gc.collect() + if len(Volume._instances_) > 0: + warnings.warn("Not all Volumes have been closed!!!") @pytest.fixture() @@ -76,3 +84,5 @@ def pyocf_2_ctx_log_buffer(): c1.exit() c2.exit() gc.collect() + if len(Volume._instances_) > 0: + warnings.warn("Not all Volumes have been closed!!!")