How to use _lock_backing_file method in autotest

Best Python code snippet using autotest_python Github


Full Screen

...38 def __str__(self):39 return '%s[%s]' % (type(self).__name__, self._store_file)40 def _refresh_impl(self):41 """See parent class docstring."""42 with self._lock_backing_file():43 return self._refresh_impl_locked()44 def _commit_impl(self, info):45 """See parent class docstring."""46 with self._lock_backing_file():47 return self._commit_impl_locked(info)48 def _refresh_impl_locked(self):49 """Same as _refresh_impl, but assumes relevant files are locked."""50 try:51 with open(self._store_file, 'r') as fp:52 return host_info.json_deserialize(fp)53 except IOError as e:54 if e.errno == errno.ENOENT:55 raise host_info.StoreError(56 'No backing file. You must commit to the store before '57 'trying to read a value from it.')58 raise host_info.StoreError('Failed to read backing file (%s) : %r'59 % (self._store_file, e))60 except host_info.DeserializationError as e:61 raise host_info.StoreError(62 'Failed to desrialize backing file %s: %r' %63 (self._store_file, e))64 def _commit_impl_locked(self, info):65 """Same as _commit_impl, but assumes relevant files are locked."""66 try:67 with open(self._store_file, 'w') as fp:68 host_info.json_serialize(info, fp)69 except IOError as e:70 raise host_info.StoreError('Failed to write backing file (%s) : %r'71 % (self._store_file, e))72 @contextlib.contextmanager73 def _lock_backing_file(self):74 """Context to lock the backing store file.75 @raises StoreError if the backing file can not be locked.76 """77 def _retry_locking_failures(exc):78 return isinstance(exc, locking.LockNotAcquiredError)79 try:80 retry_util.GenericRetry(81 handler=_retry_locking_failures,82 functor=self._lock.write_lock,83 max_retry=self._lock_max_retry,84 sleep=self._lock_sleep)85 # If self._lock fails to write the locking file, it'll leak an OSError86 except (locking.LockNotAcquiredError, OSError) as e:87 raise host_info.StoreError(e)...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:


You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?