File tree Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Expand file tree Collapse file tree 2 files changed +16
-10
lines changed Original file line number Diff line number Diff line change 1
- // REQUIRES: rdar105870339
2
1
// REQUIRES: OS=macosx
3
2
4
3
// RUN: %empty-directory(%t)
5
4
// RUN: split-file %s %t
6
5
7
- // RUN: sed -i '' -e 's#UTILS_DIR#%utils #' %t/plugin
8
- // RUN: sed -i '' -e 's#TEMP_DIR#%t #' %t/plugin
6
+ // RUN: sed -i '' -e 's#PYTHON_EXEC_PATH#%{python} #' %t/plugin
7
+ // RUN: sed -i '' -e 's#UTILS_DIR_PATH#%utils #' %t/plugin
9
8
// RUN: chmod +x %t/plugin
10
9
11
10
// RUN: %swift-target-frontend -typecheck -verify -swift-version 5 -enable-experimental-feature Macros -load-plugin-executable %t/plugin#TestPlugin %t/test.swift
@@ -21,9 +20,9 @@ func test() {
21
20
}
22
21
23
22
//--- plugin
24
- #!/usr/bin / env python 3
23
+ #!PYTHON_EXEC_PATH
25
24
import sys
26
- sys. path. append ( 'UTILS_DIR ')
25
+ sys. path. append ( 'UTILS_DIR_PATH ')
27
26
28
27
import mock_plugin
29
28
Original file line number Diff line number Diff line change @@ -98,14 +98,21 @@ def handle_request(req):
98
98
99
99
100
100
def main ():
101
+ if sys .version_info >= (3 , 0 ):
102
+ stdin = sys .stdin .buffer
103
+ stdout = sys .stdout .buffer
104
+ else :
105
+ stdin = sys .stdin
106
+ stdout = sys .stdout
107
+
101
108
# Message handling loop.
102
109
while True :
103
110
# Read request
104
- request_header = sys . stdin . buffer .read (8 )
111
+ request_header = stdin .read (8 )
105
112
if len (request_header ) < 8 :
106
113
break
107
114
request_size = struct .unpack ('<Q' , request_header )[0 ]
108
- request_data = sys . stdin . buffer .read (request_size )
115
+ request_data = stdin .read (request_size )
109
116
if len (request_data ) != request_size :
110
117
break
111
118
request_object = json .loads (request_data )
@@ -118,9 +125,9 @@ def main():
118
125
response_data = response_json .encode ('utf-8' )
119
126
response_size = len (response_data )
120
127
response_header = struct .pack ('<Q' , response_size )
121
- sys . stdout . buffer .write (response_header )
122
- sys . stdout . buffer .write (response_data )
123
- sys . stdout . buffer .flush ()
128
+ stdout .write (response_header )
129
+ stdout .write (response_data )
130
+ stdout .flush ()
124
131
125
132
126
133
if __name__ == '__main__' :
You can’t perform that action at this time.
0 commit comments