aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/cgi/host_test.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2016-03-29 16:35:33 +1100
committerBrad Fitzpatrick <bradfitz@golang.org>2016-03-29 06:57:05 +0000
commit45d334ecf1b2bcbf0f8667d4c772ef3db0e03587 (patch)
tree7d33496e247905c1385bedc3415610575dc0d328 /src/net/http/cgi/host_test.go
parent093a9a1f5673d71377d4f0ef3f41a5618bf2512c (diff)
downloadgo-45d334ecf1b2bcbf0f8667d4c772ef3db0e03587.tar.xz
net/http/cgi: allow CGI host to configure where child's stderr goes
Patch originally from Steven Hartland. Tweaked a bit & added a test. Fixes #7197 Change-Id: I09012b4674e7c641dba31a24e9758cedb898d3ee Reviewed-on: https://go-review.googlesource.com/21196 Reviewed-by: Andrew Gerrand <adg@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/net/http/cgi/host_test.go')
-rw-r--r--src/net/http/cgi/host_test.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/net/http/cgi/host_test.go b/src/net/http/cgi/host_test.go
index 33277640ea..70c5aff5e2 100644
--- a/src/net/http/cgi/host_test.go
+++ b/src/net/http/cgi/host_test.go
@@ -8,6 +8,7 @@ package cgi
import (
"bufio"
+ "bytes"
"fmt"
"io"
"net"
@@ -500,6 +501,23 @@ func TestEnvOverride(t *testing.T) {
runCgiTest(t, h, "GET /test.cgi HTTP/1.0\nHost: example.com\n\n", expectedMap)
}
+func TestHandlerStderr(t *testing.T) {
+ check(t)
+ var stderr bytes.Buffer
+ h := &Handler{
+ Path: "testdata/test.cgi",
+ Root: "/test.cgi",
+ Stderr: &stderr,
+ }
+
+ rw := httptest.NewRecorder()
+ req := newRequest("GET /test.cgi?writestderr=1 HTTP/1.0\nHost: example.com\n\n")
+ h.ServeHTTP(rw, req)
+ if got, want := stderr.String(), "Hello, stderr!\n"; got != want {
+ t.Errorf("Stderr = %q; want %q", got, want)
+ }
+}
+
func TestRemoveLeadingDuplicates(t *testing.T) {
tests := []struct {
env []string