Skip to content

Commit

Permalink
[aetest] Allow specifying path to dev_appserver binary (#226)
Browse files Browse the repository at this point in the history
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`
  • Loading branch information
jubishop committed Oct 13, 2020
1 parent 2bbb383 commit 5d1c1d0
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions aetest/instance_vm.go
Expand Up @@ -156,13 +156,18 @@ func (i *instance) startChild() (err error) {
return err
}
}
python, err := findPython()
if err != nil {
return fmt.Errorf("Could not find python interpreter: %v", err)
}
devAppserver, err := findDevAppserver()
if err != nil {
return fmt.Errorf("Could not find dev_appserver.py: %v", err)
executable := os.Getenv("APPENGINE_DEV_APPSERVER_BINARY")
var appserverArgs []string
if len(executable) == 0 {
executable, err = findPython()
if err != nil {
return fmt.Errorf("Could not find python interpreter: %v", err)
}
devAppserver, err := findDevAppserver()
if err != nil {
return fmt.Errorf("Could not find dev_appserver.py: %v", err)
}
appserverArgs = append(appserverArgs, devAppserver)
}

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

appserverArgs := []string{
devAppserver,
appserverArgs = append(appserverArgs,
"--port=0",
"--api_port=0",
"--admin_port=0",
Expand All @@ -197,7 +201,7 @@ func (i *instance) startChild() (err error) {
"--clear_datastore=true",
"--clear_search_indexes=true",
"--datastore_path", filepath.Join(i.appDir, "datastore"),
}
)
if i.opts != nil && i.opts.StronglyConsistentDatastore {
appserverArgs = append(appserverArgs, "--datastore_consistency_policy=consistent")
}
Expand All @@ -206,9 +210,8 @@ func (i *instance) startChild() (err error) {
}
appserverArgs = append(appserverArgs, filepath.Join(i.appDir, "app"))

i.child = exec.Command(python,
appserverArgs...,
)
i.child = exec.Command(executable, appserverArgs...)

i.child.Stdout = os.Stdout
var stderr io.Reader
stderr, err = i.child.StderrPipe()
Expand Down

0 comments on commit 5d1c1d0

Please sign in to comment.