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 os | 5 import os |
6 | 6 |
7 from recipe_engine import recipe_test_api | 7 from recipe_engine import recipe_test_api |
8 | 8 |
9 | 9 |
10 # We want to be able to really read a file during a recipe test. Of course, | 10 # We want to be able to really read a file during a recipe test. Of course, |
(...skipping 13 matching lines...) Expand all Loading... |
24 '..', | 24 '..', |
25 '..', | 25 '..', |
26 '..', | 26 '..', |
27 '..', | 27 '..', |
28 '..', | 28 '..', |
29 )) | 29 )) |
30 BUILD = os.path.join(_ROOT, 'build') | 30 BUILD = os.path.join(_ROOT, 'build') |
31 BUILD_INTERNAL = os.path.join(_ROOT, 'build_internal') | 31 BUILD_INTERNAL = os.path.join(_ROOT, 'build_internal') |
32 | 32 |
33 class FileTestApi(recipe_test_api.RecipeTestApi): | 33 class FileTestApi(recipe_test_api.RecipeTestApi): |
| 34 def read_in_build(self, relpath): |
| 35 """Read a file in chrome/trunk/tools/build. |
| 36 |
| 37 Args: |
| 38 relpath: A path inside chrome/trunk/tools/build. |
| 39 """ |
| 40 # Prevent a user from using .. to escape the build repository. |
| 41 assert '..' not in os.sep.split(relpath), ( |
| 42 'You can\'t use .. in read_in_build.' |
| 43 ) |
| 44 with open(os.path.join(BUILD, relpath)) as f: |
| 45 return f.read() |
| 46 |
| 47 def read_in_build_internal(self, relpath): # pragma: no cover |
| 48 """Read a file in chrome-internal/trunk/tools/build. |
| 49 |
| 50 Args: |
| 51 relpath: A path inside chrome-internal/trunk/tools/build. |
| 52 """ |
| 53 # Prevent a user from using .. to escape the build_internal repository. |
| 54 assert '..' not in os.sep.split(relpath), ( |
| 55 'You can\'t use .. in read_in_build.' |
| 56 ) |
| 57 with open(os.path.join(BUILD_INTERNAL, relpath)) as f: |
| 58 return f.read() |
| 59 |
34 def listdir(self, files): | 60 def listdir(self, files): |
35 def listdir_callback(): | 61 def listdir_callback(): |
36 return self.m.json.output(files) | 62 return self.m.json.output(files) |
37 return listdir_callback | 63 return listdir_callback |
OLD | NEW |