diff options
author | Iñigo Martínez <inigomartinez@gmail.com> | 2017-10-10 10:44:23 +0200 |
---|---|---|
committer | Iñigo Martínez <inigomartinez@gmail.com> | 2017-10-10 22:08:32 +0200 |
commit | b460e26523ac2bc27188158dec514c5ff84cf391 (patch) | |
tree | 03fa84c672e084adde7bbd3c3d789a084a088f25 /test | |
parent | 3c272f0cb1dd6d399374856480b64dec200ac537 (diff) | |
download | gvfs-b460e26523ac2bc27188158dec514c5ff84cf391.tar.gz |
test: Make use of shutil's which
Since Python 3.3, shutil has a which implementation. This patch
takes advantage of that implementation, which checks if the
command exists and its absolute path, and avoids the need to
call system's which command.
https://bugzilla.gnome.org/show_bug.cgi?id=786149
Diffstat (limited to 'test')
-rwxr-xr-x | test/gvfs-test | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/test/gvfs-test b/test/gvfs-test index 0ddedde5..f945072f 100755 --- a/test/gvfs-test +++ b/test/gvfs-test @@ -43,7 +43,7 @@ try: import gi gi.require_version('UMockdev', '1.0') from gi.repository import UMockdev - have_umockdev = subprocess.call(['which', 'umockdev-wrapper'], stdout=subprocess.PIPE) == 0 + have_umockdev = shutil.which('umockdev-wrapper') != None # needs >= 0.2.10 have_umockdev = have_umockdev and hasattr(UMockdev.Testbed, 'add_from_file') except (ValueError, ImportError): @@ -52,21 +52,21 @@ except (ValueError, ImportError): # umockdev environment for gphoto/MTP tests umockdev_testbed = None -have_twistd = subprocess.call(['which', 'twistd'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0 -have_smbd = subprocess.call(['which', 'smbd'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0 +twistd_path = shutil.which('twistd') +smbd_path = shutil.which('smbd') def find_alternative(cmds): '''Find command in cmds array and return the found alternative''' for cmd in cmds: - if subprocess.call(['which', cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0: + if shutil.which(cmd) != None: return cmd in_testbed = os.path.exists('/home/gvfs_sandbox_marker') samba_running = subprocess.call(['pidof', 'smbd'], stdout=subprocess.PIPE) == 0 httpd_cmd = find_alternative(['apache2', 'httpd', 'apachectl']) have_httpd = httpd_cmd is not None -sshd_path = subprocess.check_output(['which', 'sshd'], universal_newlines=True).strip() +sshd_path = shutil.which('sshd') local_ip = subprocess.check_output("ip -4 addr | sed -nr '/127\.0\.0/ n; " "/inet / { s/^.*inet ([0-9.]+).*$/\\1/; p; q }'", @@ -555,7 +555,7 @@ Subsystem sftp %(sftp_server)s self.unmount(uri) -@unittest.skipUnless(have_twistd, 'Twisted twistd not installed') +@unittest.skipUnless(twistd_path != None, 'Twisted twistd not installed') class Ftp(GvfsTestCase): def setUp(self): '''Launch FTP server''' @@ -569,7 +569,7 @@ class Ftp(GvfsTestCase): f.write('secret\n') os.chmod(secret_path, 0o600) - self.ftpd = subprocess.Popen(['twistd', '-n', 'ftp', '-p', '2121', + self.ftpd = subprocess.Popen([twistd_path, '-n', 'ftp', '-p', '2121', '-r', self.workdir, '--auth', 'memory:testuser:pwd1'], stdout=subprocess.PIPE) @@ -737,7 +737,7 @@ class Ftp(GvfsTestCase): self.assertEqual(contents, b'hello world\n') -@unittest.skipUnless(have_smbd, 'Samba smbd not installed') +@unittest.skipUnless(smbd_path != None, 'Samba smbd not installed') class Smb(GvfsTestCase): def setUp(self): '''start local smbd as user if we are not in test bed''' @@ -801,7 +801,7 @@ ncalrpc dir = %(workdir)s/samba 'port': SMB_USER_PORT}) # start smbd - self.smbd = subprocess.Popen(['smbd', '-FS', '-s', smbconf], + self.smbd = subprocess.Popen([smbd_path, '-FS', '-s', smbconf], universal_newlines=True, stdout=subprocess.PIPE) |