Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(634)

Unified Diff: tools/isolate/trace_inputs_smoke_test.py

Issue 10446052: Add Results.Process.executable and command. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/isolate/trace_inputs.py ('k') | tools/isolate/trace_inputs_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/isolate/trace_inputs_smoke_test.py
diff --git a/tools/isolate/trace_inputs_smoke_test.py b/tools/isolate/trace_inputs_smoke_test.py
index b499779b53206ee201f8ff5c157f07139c3d72af..bfd36a15be78e88cc93e0bcebaa0e22594cad4e3 100755
--- a/tools/isolate/trace_inputs_smoke_test.py
+++ b/tools/isolate/trace_inputs_smoke_test.py
@@ -136,25 +136,50 @@ class TraceInputs(TraceInputsBase):
class TraceInputsImport(TraceInputsBase):
def setUp(self):
super(TraceInputsImport, self).setUp()
+ import trace_inputs
+ self.trace_inputs = trace_inputs
self.cwd = os.path.join(ROOT_DIR, u'data')
self.initial_cwd = self.cwd
if sys.platform == 'win32':
# Still not supported on Windows.
self.initial_cwd = None
+ self.executable = sys.executable
+ if sys.platform == 'darwin':
+ # /usr/bin/python is a thunk executable that decides which version of
+ # python gets executed.
+ suffix = '.'.join(map(str, sys.version_info[0:2]))
+ if os.access(self.executable + suffix, os.X_OK):
+ self.executable += suffix
+ self.real_executable = self.trace_inputs.get_native_path_case(
+ self.executable)
+ if sys.platform == 'darwin':
+ # Interestingly, only OSX does resolve the symlink manually before
+ # starting the executable.
+ if os.path.islink(self.real_executable):
+ self.real_executable = os.path.normpath(
+ os.path.join(
+ os.path.dirname(self.real_executable),
+ os.readlink(self.real_executable)))
+ self.naked_executable = sys.executable
+ if sys.platform == 'win32':
+ self.naked_executable = os.path.basename(sys.executable)
+
+ def tearDown(self):
+ del self.trace_inputs
+ super(TraceInputsImport, self).tearDown()
# Similar to TraceInputs test fixture except that it calls the function
# directly, so the Results instance can be inspected.
# Roughly, make sure the API is stable.
def _execute(self, command):
# Similar to what trace_test_cases.py does.
- import trace_inputs
- api = trace_inputs.get_api()
- _, _ = trace_inputs.trace(
+ api = self.trace_inputs.get_api()
+ _, _ = self.trace_inputs.trace(
self.log, command, self.cwd, api, True)
# TODO(maruel): Check
#self.assertEquals(0, returncode)
#self.assertEquals('', output)
- return trace_inputs.load_trace(self.log, ROOT_DIR, api)
+ return self.trace_inputs.load_trace(self.log, ROOT_DIR, api)
def test_trace_wrong_path(self):
# Deliberately start the trace from the wrong path. Starts it from the
@@ -164,8 +189,12 @@ class TraceInputsImport(TraceInputsBase):
expected = {
'root': {
'children': [],
- 'command': None,
- 'executable': None,
+ 'command': [
+ self.executable,
+ os.path.join('data', 'trace_inputs', 'child1.py'),
+ '--child',
+ ],
+ 'executable': self.real_executable,
'files': [],
'initial_cwd': self.initial_cwd,
},
@@ -183,8 +212,8 @@ class TraceInputsImport(TraceInputsBase):
'children': [
{
'children': [],
- 'command': None,
- 'executable': None,
+ 'command': ['python', 'child2.py'],
+ 'executable': self.naked_executable,
'files': [
{
'path': os.path.join(u'data', 'trace_inputs', 'child2.py'),
@@ -198,8 +227,12 @@ class TraceInputsImport(TraceInputsBase):
'initial_cwd': self.initial_cwd,
},
],
- 'command': None,
- 'executable': None,
+ 'command': [
+ self.executable,
+ os.path.join('trace_inputs', 'child1.py'),
+ '--child-gyp',
+ ],
+ 'executable': self.real_executable,
'files': [
{
'path': os.path.join(u'data', 'trace_inputs', 'child1.py'),
« no previous file with comments | « tools/isolate/trace_inputs.py ('k') | tools/isolate/trace_inputs_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698