Best Python code snippet using autotest_python
common.py
Source:common.py
1""" Test utilities2"""3# Authors: Deepak Surti, Ioannis Tziakos4# Copyright (c) 2015, Enthought, Inc.5# License: BSD Style.6import contextlib7import gc8import unittest9import weakref10@contextlib.contextmanager11def restore_gc_state():12 """Ensure that gc state is restored on exit of the with statement."""13 originally_enabled = gc.isenabled()14 try:15 yield16 finally:17 if originally_enabled:18 gc.enable()19 else:20 gc.disable()21class TestGarbageCollection(unittest.TestCase):22 """ This is a base class to use when testing garbage collection.23 See: tvtk.tests.test_garbage_collection24 mayavi.tests.test_garbage_collection25 """26 def check_object_garbage_collected(self, obj_create_fn, obj_close_fn=None):27 """ Call this from a test function to test for garbage collection28 passing the following parameters:29 obj_create_fn: function30 A function with no parameters that creates the object31 obj_close_fn: function32 A function of 1 parameter which is the object created by33 obj_create_fn, to handling the object closing, if any.34 """35 # given36 object_collected = []37 object_weakref = None38 def object_collected_callback(weakref):39 object_collected.append(True)40 def do():41 obj = obj_create_fn()42 reference = weakref.ref(obj, object_collected_callback)43 if obj_close_fn:44 obj_close_fn(obj)45 return reference46 # when47 with restore_gc_state():48 gc.disable()49 object_weakref = do()50 # The object should have been collected.51 self.assertTrue(object_collected[0])...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!