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

Side by Side Diff: recipe_engine/env.py

Issue 2387763003: Add initial postprocess unit test thingy. (Closed)
Patch Set: Rebase Created 4 years, 2 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
« no previous file with comments | « recipe_engine/checker.py ('k') | recipe_engine/post_process.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2016 The LUCI Authors. All rights reserved. 1 # Copyright 2016 The LUCI Authors. All rights reserved.
2 # Use of this source code is governed under the Apache License, Version 2.0 2 # Use of this source code is governed under the Apache License, Version 2.0
3 # that can be found in the LICENSE file. 3 # that can be found in the LICENSE file.
4 4
5 """Sets up recipe engine Python environment.""" 5 """Sets up recipe engine Python environment."""
6 6
7 import contextlib 7 import contextlib
8 import os 8 import os
9 import sys 9 import sys
10 10
11 # Hook up our third party vendored packages. 11 # Hook up our third party vendored packages.
12 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 12 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
13 THIRD_PARTY = os.path.join(BASE_DIR, 'recipe_engine', 'third_party') 13 THIRD_PARTY = os.path.join(BASE_DIR, 'recipe_engine', 'third_party')
14 14
15 # Real path manipulation. 15 # Real path manipulation.
16 sys.path = [ 16 sys.path = [
17 os.path.join(THIRD_PARTY), 17 os.path.join(THIRD_PARTY),
18 os.path.join(THIRD_PARTY, 'requests'), 18 os.path.join(THIRD_PARTY, 'requests'),
19 os.path.join(THIRD_PARTY, 'six'), 19 os.path.join(THIRD_PARTY, 'six'),
20 os.path.join(THIRD_PARTY, 'client-py'), 20 os.path.join(THIRD_PARTY, 'client-py'),
21 os.path.join(THIRD_PARTY, 'mock-1.0.1'), 21 os.path.join(THIRD_PARTY, 'mock-1.0.1'),
22 os.path.join(THIRD_PARTY, 'astunparse'),
22 ] + sys.path 23 ] + sys.path
23 24
24 # Hack up our "pkg_resources" to import our local protobuf instead of the system 25 # Hack up our "pkg_resources" to import our local protobuf instead of the system
25 # one. 26 # one.
26 # 27 #
27 # As per https://github.com/google/protobuf/issues/1484: 28 # As per https://github.com/google/protobuf/issues/1484:
28 # The protobuf library is meant to be installed. It is either a system library 29 # The protobuf library is meant to be installed. It is either a system library
29 # or a virtualenv library, but not something you can just point "sys.path" to 30 # or a virtualenv library, but not something you can just point "sys.path" to
30 # anymore ... well, not without hacks. 31 # anymore ... well, not without hacks.
31 # 32 #
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 64
64 # From here on out, we're back to normal imports. Let's assert that the we're 65 # From here on out, we're back to normal imports. Let's assert that the we're
65 # using the correct protobuf package, though. 66 # using the correct protobuf package, though.
66 # 67 #
67 # We use "realpath" here because the importer may resolve the path differently 68 # We use "realpath" here because the importer may resolve the path differently
68 # based on symlinks, and we want to make sure our calculated path matches the 69 # based on symlinks, and we want to make sure our calculated path matches the
69 # impoter's path regardless. 70 # impoter's path regardless.
70 import google.protobuf 71 import google.protobuf
71 assert (os.path.realpath(THIRD_PARTY) in 72 assert (os.path.realpath(THIRD_PARTY) in
72 os.path.realpath(google.protobuf.__path__[0])) 73 os.path.realpath(google.protobuf.__path__[0]))
OLDNEW
« no previous file with comments | « recipe_engine/checker.py ('k') | recipe_engine/post_process.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698