]> Cypherpunks repositories - gostls13.git/commitdiff
http/cgi: skip tests on Windows
authorBrad Fitzpatrick <bradfitz@golang.org>
Fri, 4 Mar 2011 22:12:39 +0000 (14:12 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 4 Mar 2011 22:12:39 +0000 (14:12 -0800)
The tests require Perl, not commonly installed on Windows.

R=rsc, brainman
CC=golang-dev
https://golang.org/cl/4239057

src/pkg/http/cgi/cgi_test.go

index 41ea26e3a6dfccf2997e4382d0a15cb87b76638c..d88d787d5870769d1dabd5c4c71368cb9f2b202b 100644 (file)
@@ -12,6 +12,7 @@ import (
        "http"
        "http/httptest"
        "os"
+       "runtime"
        "strings"
        "testing"
 )
@@ -57,7 +58,21 @@ readlines:
        return rw
 }
 
+func skipTest(t *testing.T) bool {
+       if runtime.GOOS == "windows" {
+               // No Perl on Windows, needed by test.cgi
+               // TODO: make the child process be Go, not Perl.
+               t.Logf("Skipping test on Windows; no Perl.")
+               return true
+       }
+       return false
+}
+
+
 func TestCGIBasicGet(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        h := &Handler{
                Path: "testdata/test.cgi",
                Root: "/test.cgi",
@@ -91,6 +106,9 @@ func TestCGIBasicGet(t *testing.T) {
 }
 
 func TestCGIBasicGetAbsPath(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        pwd, err := os.Getwd()
        if err != nil {
                t.Fatalf("getwd error: %v", err)
@@ -108,6 +126,9 @@ func TestCGIBasicGetAbsPath(t *testing.T) {
 }
 
 func TestPathInfo(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        h := &Handler{
                Path: "testdata/test.cgi",
                Root: "/test.cgi",
@@ -124,6 +145,9 @@ func TestPathInfo(t *testing.T) {
 }
 
 func TestPathInfoDirRoot(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        h := &Handler{
                Path: "testdata/test.cgi",
                Root: "/myscript/",
@@ -139,6 +163,9 @@ func TestPathInfoDirRoot(t *testing.T) {
 }
 
 func TestPathInfoNoRoot(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        h := &Handler{
                Path: "testdata/test.cgi",
                Root: "",
@@ -154,6 +181,9 @@ func TestPathInfoNoRoot(t *testing.T) {
 }
 
 func TestCGIBasicPost(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        postReq := `POST /test.cgi?a=b HTTP/1.0
 Host: example.com
 Content-Type: application/x-www-form-urlencoded
@@ -180,6 +210,9 @@ func chunk(s string) string {
 
 // The CGI spec doesn't allow chunked requests.
 func TestCGIPostChunked(t *testing.T) {
+       if skipTest(t) {
+               return
+       }
        postReq := `POST /test.cgi?a=b HTTP/1.1
 Host: example.com
 Content-Type: application/x-www-form-urlencoded