提交 f29b9eda 编写于 作者: A Alessandro Arzilli 提交者: Derek Parker

proc/gdbserial: pass environment variables to target (#820)

debugserver requires a special option to forward the environment to the target.

Fixes #818
上级 76ce11cf
package main
import (
"fmt"
"os"
"runtime"
)
func main() {
x := os.Getenv("SOMEVAR")
runtime.Breakpoint()
fmt.Printf("SOMEVAR=%s\n", x)
}
......@@ -313,8 +313,8 @@ func LLDBLaunch(cmd []string, wd string) (*Process, error) {
var proc *exec.Cmd
if _, err := os.Stat(debugserverExecutable); err == nil {
args := make([]string, 0, len(cmd)+1)
args = append(args, "127.0.0.1"+port)
args := make([]string, 0, len(cmd)+2)
args = append(args, "-F", "127.0.0.1"+port)
args = append(args, cmd...)
isDebugserver = true
......
......@@ -2730,3 +2730,17 @@ func TestPackageWithPathVar(t *testing.T) {
assertNoError(err, t, "EvalVariable(pkg.SomeVar.X)")
})
}
func TestEnvironment(t *testing.T) {
os.Setenv("SOMEVAR", "bah")
withTestProcess("testenv", t, func(p proc.Process, fixture protest.Fixture) {
assertNoError(proc.Continue(p), t, "Continue()")
v, err := evalVariable(p, "x")
assertNoError(err, t, "EvalVariable()")
vv := constant.StringVal(v.Value)
t.Logf("v = %q", vv)
if vv != "bah" {
t.Fatalf("value of v is %q (expected \"bah\")", vv)
}
})
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册