Best Python code snippet using avocado_python
partition.py
Source:partition.py
...198 except process.CmdError as details:199 raise PartitionError(self, "Mount failed", details)200 # Update the fstype as the mount command passed201 self.fstype = fstype202 def _unmount_force(self, mountpoint):203 """204 Kill all other jobs accessing this partition and force unmount it.205 :return: None206 :raise PartitionError: On critical failure207 """208 # Human readable list of processes209 out = process.system_output("lsof " + mountpoint, ignore_status=True)210 # Try to kill all pids211 for pid in (line.split()[1] for line in out.splitlines()[1:]):212 try:213 process.system("kill -9 %s" % pid, ignore_status=True,214 sudo=True)215 except OSError:216 pass217 # Unmount218 try:219 process.run("umount -f %s" % mountpoint, sudo=True)220 except process.CmdError as details:221 try:222 process.run("umount -l %s" % mountpoint, sudo=True)223 except process.CmdError as details:224 raise PartitionError(self, "Force unmount failed", details)225 def unmount(self, force=True):226 """227 Umount this partition.228 It's easier said than done to umount a partition.229 We need to lock the mtab file to make sure we don't have any230 locking problems if we are umounting in parallel.231 When the unmount fails and force==True we unmount the partition232 ungracefully.233 :return: 1 on success, 2 on force umount success234 :raise PartitionError: On failure235 """236 with MtabLock():237 mountpoint = self.get_mountpoint()238 if not mountpoint:239 LOG.debug('%s not mounted', self.device)240 return 1241 try:242 process.run("umount " + mountpoint, sudo=True)243 return 1244 except process.CmdError as details:245 if force:246 LOG.debug("Standard umount failed on %s, forcing",247 mountpoint)248 self._unmount_force(mountpoint)249 return 2250 else:251 raise PartitionError(self, "Unable to unmount gracefully",...
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!!