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

Side by Side Diff: tools/isolate/trace_inputs_test.py

Issue 10383154: Fix mode=hashtable without --outdir to create the directory at the right place. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/isolate/isolate_smoke_test.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import cStringIO 6 import cStringIO
7 import logging 7 import logging
8 import os 8 import os
9 import unittest 9 import unittest
10 import sys 10 import sys
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 " },\n" 88 " },\n"
89 " }, {\n" 89 " }, {\n"
90 " 'variables': {\n" 90 " 'variables': {\n"
91 " },\n" 91 " },\n"
92 " }],\n" 92 " }],\n"
93 " ],\n" 93 " ],\n"
94 "}\n") 94 "}\n")
95 self._test(value, expected) 95 self._test(value, expected)
96 96
97 97
98 class StraceInputs(unittest.TestCase): 98 if trace_inputs.get_flavor() == 'linux':
99 def _test_lines(self, lines, files, non_existent): 99 class StraceInputs(unittest.TestCase):
100 context = trace_inputs.Strace.Context(lambda _: False) 100 def _test_lines(self, lines, files, non_existent):
101 for line in lines: 101 context = trace_inputs.Strace.Context(lambda _: False)
102 context.on_line(line) 102 for line in lines:
103 self.assertEquals(sorted(files), sorted(context.files)) 103 context.on_line(line)
104 self.assertEquals(sorted(non_existent), sorted(context.non_existent)) 104 self.assertEquals(sorted(files), sorted(context.files))
105 self.assertEquals(sorted(non_existent), sorted(context.non_existent))
105 106
106 def test_empty(self): 107 def test_empty(self):
107 self._test_lines([], [], []) 108 self._test_lines([], [], [])
108 109
109 def test_close(self): 110 def test_close(self):
110 lines = [ 111 lines = [
111 '31426 close(7) = 0', 112 '31426 close(7) = 0',
112 ] 113 ]
113 self._test_lines(lines, [], []) 114 self._test_lines(lines, [], [])
114 115
115 def test_clone(self): 116 def test_clone(self):
116 # Grand-child with relative directory. 117 # Grand-child with relative directory.
117 lines = [ 118 lines = [
118 '86 chdir("%s") = 0' % ROOT_DIR, 119 '86 chdir("%s") = 0' % ROOT_DIR,
119 '86 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID' 120 '86 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID'
120 '|SIGCHLD, child_tidptr=0x7f5350f829d0) = 14', 121 '|SIGCHLD, child_tidptr=0x7f5350f829d0) = 14',
121 ') = ? <unavailable>', 122 ') = ? <unavailable>',
122 '14 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID' 123 '14 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID'
123 '|SIGCHLD, child_tidptr=0x7f5350f829d0) = 70', 124 '|SIGCHLD, child_tidptr=0x7f5350f829d0) = 70',
124 '14 close(75) = 0', 125 '14 close(75) = 0',
125 '70 open("%s", O_RDONLY) = 76' % os.path.basename(FILE_NAME), 126 '70 open("%s", O_RDONLY) = 76' % os.path.basename(FILE_NAME),
126 ] 127 ]
127 files = [ 128 files = [
128 FILE_NAME, 129 FILE_NAME,
129 ] 130 ]
130 self._test_lines(lines, files, []) 131 self._test_lines(lines, files, [])
131 132
132 def test_open(self): 133 def test_open(self):
133 lines = [ 134 lines = [
134 '42 chdir("/home/foo_bar_user/src") = 0', 135 '42 chdir("/home/foo_bar_user/src") = 0',
135 '42 execve("../out/unittests", ' 136 '42 execve("../out/unittests", '
136 '["../out/unittests"...], [/* 44 vars */]) = 0', 137 '["../out/unittests"...], [/* 44 vars */]) = 0',
137 '42 open("out/unittests.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 8', 138 '42 open("out/unittests.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 8',
138 ] 139 ]
139 files = [ 140 files = [
140 '/home/foo_bar_user/src/../out/unittests', 141 '/home/foo_bar_user/src/../out/unittests',
141 '/home/foo_bar_user/src/out/unittests.log', 142 '/home/foo_bar_user/src/out/unittests.log',
142 ] 143 ]
143 self._test_lines(lines, [], files) 144 self._test_lines(lines, [], files)
144 145
145 def test_open_resumed(self): 146 def test_open_resumed(self):
146 lines = [ 147 lines = [
147 '42 chdir("/home/foo_bar_user/src") = 0', 148 '42 chdir("/home/foo_bar_user/src") = 0',
148 '42 execve("../out/unittests", ' 149 '42 execve("../out/unittests", '
149 '["../out/unittests"...], [/* 44 vars */]) = 0', 150 '["../out/unittests"...], [/* 44 vars */]) = 0',
150 '42 open("out/unittests.log", O_WRONLY|O_CREAT|O_APPEND <unfinished ...>', 151 '42 open("out/unittests.log", O_WRONLY|O_CREAT|O_APPEND '
151 '42 <... open resumed> ) = 3', 152 '<unfinished ...>',
152 ] 153 '42 <... open resumed> ) = 3',
153 files = [ 154 ]
154 '/home/foo_bar_user/src/../out/unittests', 155 files = [
155 '/home/foo_bar_user/src/out/unittests.log', 156 '/home/foo_bar_user/src/../out/unittests',
156 ] 157 '/home/foo_bar_user/src/out/unittests.log',
157 self._test_lines(lines, [], files) 158 ]
159 self._test_lines(lines, [], files)
158 160
159 def test_sig_unexpected(self): 161 def test_sig_unexpected(self):
160 lines = [ 162 lines = [
161 '27 exit_group(0) = ?', 163 '27 exit_group(0) = ?',
162 ] 164 ]
163 try: 165 try:
164 self._test_lines(lines, [], []) 166 self._test_lines(lines, [], [])
165 self.fail() 167 self.fail()
166 except KeyError, e: 168 except KeyError, e:
167 self.assertEqual(27, e.args[0]) 169 self.assertEqual(27, e.args[0])
168 170
169 171
170 if __name__ == '__main__': 172 if __name__ == '__main__':
171 VERBOSE = '-v' in sys.argv 173 VERBOSE = '-v' in sys.argv
172 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) 174 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR)
173 unittest.main() 175 unittest.main()
OLDNEW
« no previous file with comments | « tools/isolate/isolate_smoke_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698