proc/gdbserial: pass environment variables to target (#820)
debugserver requires a special option to forward the environment to the target. Fixes #818
This commit is contained in:
parent
76ce11cffb
commit
f29b9edad2
13
_fixtures/testenv.go
Normal file
13
_fixtures/testenv.go
Normal file
@ -0,0 +1,13 @@
|
||||
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)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user