Skip to content

Commit 5d1c1d0

Browse files
authored
[aetest] Allow specifying path to dev_appserver binary (#226)
If the environment variable `APPENGINE_DEV_APPSERVER_BINARY` is set, use it as the path to a dev_appserver binary, rather than the default of `python /path/to/dev_appserver.py`
1 parent 2bbb383 commit 5d1c1d0

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

aetest/instance_vm.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,18 @@ func (i *instance) startChild() (err error) {
156156
return err
157157
}
158158
}
159-
python, err := findPython()
160-
if err != nil {
161-
return fmt.Errorf("Could not find python interpreter: %v", err)
162-
}
163-
devAppserver, err := findDevAppserver()
164-
if err != nil {
165-
return fmt.Errorf("Could not find dev_appserver.py: %v", err)
159+
executable := os.Getenv("APPENGINE_DEV_APPSERVER_BINARY")
160+
var appserverArgs []string
161+
if len(executable) == 0 {
162+
executable, err = findPython()
163+
if err != nil {
164+
return fmt.Errorf("Could not find python interpreter: %v", err)
165+
}
166+
devAppserver, err := findDevAppserver()
167+
if err != nil {
168+
return fmt.Errorf("Could not find dev_appserver.py: %v", err)
169+
}
170+
appserverArgs = append(appserverArgs, devAppserver)
166171
}
167172

168173
i.appDir, err = ioutil.TempDir("", "appengine-aetest")
@@ -187,8 +192,7 @@ func (i *instance) startChild() (err error) {
187192
return err
188193
}
189194

190-
appserverArgs := []string{
191-
devAppserver,
195+
appserverArgs = append(appserverArgs,
192196
"--port=0",
193197
"--api_port=0",
194198
"--admin_port=0",
@@ -197,7 +201,7 @@ func (i *instance) startChild() (err error) {
197201
"--clear_datastore=true",
198202
"--clear_search_indexes=true",
199203
"--datastore_path", filepath.Join(i.appDir, "datastore"),
200-
}
204+
)
201205
if i.opts != nil && i.opts.StronglyConsistentDatastore {
202206
appserverArgs = append(appserverArgs, "--datastore_consistency_policy=consistent")
203207
}
@@ -206,9 +210,8 @@ func (i *instance) startChild() (err error) {
206210
}
207211
appserverArgs = append(appserverArgs, filepath.Join(i.appDir, "app"))
208212

209-
i.child = exec.Command(python,
210-
appserverArgs...,
211-
)
213+
i.child = exec.Command(executable, appserverArgs...)
214+
212215
i.child.Stdout = os.Stdout
213216
var stderr io.Reader
214217
stderr, err = i.child.StderrPipe()

0 commit comments

Comments
 (0)