[ooni-probe/master] psiphon: use the python provided by sys.executable

commit 4b7f72746a10c1e48df93a3c62c84fcb1d6f2bb2 Author: Simone Basso <bassosimone@gmail.com> Date: Sat Oct 10 11:06:11 2015 +0200 psiphon: use the python provided by sys.executable There may be more than one Python (for example on MacOS I have both the system Python and the one installed with brew). Make sure we use the same Python with which ooni-probe was started such that modules installed with pip are found. Updated to avoid setting the temporary file executable and to avoid removing my Python interpreter :). --- ooni/nettests/third_party/psiphon.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ooni/nettests/third_party/psiphon.py b/ooni/nettests/third_party/psiphon.py index 8ac287d..6a2e08e 100644 --- a/ooni/nettests/third_party/psiphon.py +++ b/ooni/nettests/third_party/psiphon.py @@ -1,6 +1,7 @@ import tempfile import stat import os +import sys from twisted.internet import defer, reactor from twisted.internet.endpoints import TCP4ClientEndpoint @@ -76,15 +77,14 @@ class PsiphonTest(httpt.HTTPTest, process.ProcessTest): 'psiphon-circumvention-system/pyclient') log.debug('psiphon path: %s' % self.psiphonpath) - x = """#!/usr/bin/env python + x = """ from psi_client import connect connect(False) """ f = tempfile.NamedTemporaryFile(delete=False) f.write(x) f.close() - os.chmod(f.name, os.stat(f.name).st_mode | stat.S_IEXEC) - self.command = [f.name] + self.command = [sys.executable, f.name] log.debug('command: %s' % ''.join(self.command)) def handleRead(self, stdout, stderr): @@ -119,7 +119,7 @@ connect(False) def cleanup(_): log.debug('PsiphonTest:cleanup') self.processDirector.transport.signalProcess('INT') - os.remove(self.command[0]) + os.remove(self.command[1]) return finished self.bootstrapped.addBoth(cleanup)
participants (1)
-
art@torproject.org