How to use _make_rsync_compatible_globs method in autotest

Best Python code snippet using autotest_python

abstract_ssh.py

Source:abstract_ssh.py Github

copy

Full Screen

...56 appropriate scp command for encoding it. Remote paths must be57 pre-encoded. """58 command = "scp -rpq -P %d %s '%s'"59 return command % (self.port, " ".join(sources), dest)60 def _make_rsync_compatible_globs(self, path, is_local):61 """ Given an rsync-style path, returns a list of globbed paths62 that will hopefully provide equivalent behaviour for scp. Does not63 support the full range of rsync pattern matching behaviour, only that64 exposed in the get/send_file interface (trailing slashes).65 The is_local param is flag indicating if the paths should be66 interpreted as local or remote paths. """67 # non-trailing slash paths should just work68 if len(path) == 0 or path[-1] != "/":69 return [path]70 # make a function to test if a pattern matches any files71 if is_local:72 def glob_matches_files(path):73 return len(glob.glob(path)) > 074 else:75 def glob_matches_files(path):76 result = self.run("ls \"%s\"" % utils.sh_escape(path),77 ignore_status=True)78 return result.exit_status == 079 # take a set of globs that cover all files, and see which are needed80 patterns = ["*", ".[!.]*"]81 patterns = [p for p in patterns if glob_matches_files(path + p)]82 # convert them into a set of paths suitable for the commandline83 path = utils.sh_escape(path)84 if is_local:85 return ["\"%s\"%s" % (path, pattern) for pattern in patterns]86 else:87 return ["\"%s\"" % (path + pattern) for pattern in patterns]88 def _make_rsync_compatible_source(self, source, is_local):89 """ Applies the same logic as _make_rsync_compatible_globs, but90 applies it to an entire list of sources, producing a new list of91 sources, properly quoted. """92 return sum((self._make_rsync_compatible_globs(path, is_local)93 for path in source), [])94 def _set_umask_perms(self, dest):95 """Given a destination file/dir (recursively) set the permissions on96 all the files and directories to the max allowed by running umask."""97 # now this looks strange but I haven't found a way in Python to _just_98 # get the umask, apparently the only option is to try to set it99 umask = os.umask(0)100 os.umask(umask)101 max_privs = 0777 & ~umask102 def set_file_privs(filename):103 file_stat = os.stat(filename)104 file_privs = max_privs105 # if the original file permissions do not have at least one106 # executable bit then do not set it anywhere...

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:

YouTube

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?

Helpful

NotHelpful