OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import imp | 5 import imp |
6 import os.path | 6 import os.path |
7 import sys | 7 import sys |
8 import unittest | 8 import unittest |
9 | 9 |
10 def _GetDirAbove(dirname): | 10 def _GetDirAbove(dirname): |
11 """Returns the directory "above" this file containing |dirname| (which must | 11 """Returns the directory "above" this file containing |dirname| (which must |
12 also be "above" this file).""" | 12 also be "above" this file).""" |
13 path = os.path.abspath(__file__) | 13 path = os.path.abspath(__file__) |
14 while True: | 14 while True: |
15 path, tail = os.path.split(path) | 15 path, tail = os.path.split(path) |
16 assert tail | 16 assert tail |
17 if tail == dirname: | 17 if tail == dirname: |
18 return path | 18 return path |
19 | 19 |
20 try: | 20 try: |
21 imp.find_module("ply") | 21 imp.find_module("ply") |
22 except ImportError: | 22 except ImportError: |
23 sys.path.append(os.path.join(_GetDirAbove("public"), "public/third_party")) | 23 sys.path.append(os.path.join(_GetDirAbove("mojo"), "third_party")) |
24 from ply import lex | 24 from ply import lex |
25 | 25 |
26 try: | 26 try: |
27 imp.find_module("mojom") | 27 imp.find_module("mojom") |
28 except ImportError: | 28 except ImportError: |
29 sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) | 29 sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) |
30 import mojom.parse.lexer | 30 import mojom.parse.lexer |
31 | 31 |
32 | 32 |
33 # This (monkey-patching LexToken to make comparison value-based) is evil, but | 33 # This (monkey-patching LexToken to make comparison value-based) is evil, but |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 def _SingleTokenForInput(self, input_string): | 183 def _SingleTokenForInput(self, input_string): |
184 """Gets the single token for the given input string. (Raises an exception if | 184 """Gets the single token for the given input string. (Raises an exception if |
185 the input string does not result in exactly one token.)""" | 185 the input string does not result in exactly one token.)""" |
186 toks = self._TokensForInput(input_string) | 186 toks = self._TokensForInput(input_string) |
187 assert len(toks) == 1 | 187 assert len(toks) == 1 |
188 return toks[0] | 188 return toks[0] |
189 | 189 |
190 | 190 |
191 if __name__ == "__main__": | 191 if __name__ == "__main__": |
192 unittest.main() | 192 unittest.main() |
OLD | NEW |