veyron/lib/modules: quote env vars using fmt and not the url package.
Change-Id: Ic7bdc4c4850a3b59a7b71697c698ea09bafb7133
diff --git a/lib/modules/modules_test.go b/lib/modules/modules_test.go
index 43133d5..0c611d6 100644
--- a/lib/modules/modules_test.go
+++ b/lib/modules/modules_test.go
@@ -5,7 +5,6 @@
"bytes"
"fmt"
"io"
- "net/url"
"os"
"strings"
"testing"
@@ -35,7 +34,7 @@
func PrintFromEnv(stdin io.Reader, stdout, stderr io.Writer, env map[string]string, args ...string) error {
for _, a := range args[1:] {
if v := env[a]; len(v) > 0 {
- fmt.Fprintf(stdout, a+"="+v+"\n")
+ fmt.Fprintf(stdout, "%s\n", a+"="+v)
} else {
fmt.Fprintf(stderr, "missing %s\n", a)
}
@@ -52,7 +51,7 @@
fmt.Fprintf(stdout, "%s%s\n", printEnvArgPrefix, a)
}
for k, v := range env {
- fmt.Fprintf(stdout, "%s\n", url.QueryEscape(k+"="+v))
+ fmt.Fprintf(stdout, "%q\n", k+"="+v)
}
return nil
}
@@ -227,14 +226,13 @@
if strings.HasPrefix(o, printEnvArgPrefix) {
childArgs = append(childArgs, strings.TrimPrefix(o, printEnvArgPrefix))
} else {
- o, err := url.QueryUnescape(o)
- if err != nil {
- t.Fatalf("unexpected error: %s", err)
- }
childEnv = append(childEnv, o)
}
}
shArgs, shEnv := sh.CommandEnvelope("printenv", nil, args...)
+ for i, ev := range shEnv {
+ shEnv[i] = fmt.Sprintf("%q", ev)
+ }
for _, want := range args {
if !find(want, childArgs) {
t.Errorf("failed to find %q in %s", want, childArgs)
@@ -246,15 +244,15 @@
for _, want := range shEnv {
if !find(want, childEnv) {
- t.Errorf("failed to find %q in %#v", want, childEnv)
+ t.Errorf("failed to find %s in %#v", want, childEnv)
}
}
for _, want := range childEnv {
- if want == exec.VersionVariable+"=" {
+ if want == "\""+exec.VersionVariable+"=\"" {
continue
}
if !find(want, shEnv) {
- t.Errorf("failed to find %q in %#v", want, shEnv)
+ t.Errorf("failed to find %s in %#v", want, shEnv)
}
}
}