mirror of
https://github.com/golang/go
synced 2024-11-25 19:07:57 -07:00
dashboard: fix log recording and output
R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5503054
This commit is contained in:
parent
9f0e39b992
commit
15782bbfaf
@ -176,7 +176,7 @@ type Result struct {
|
|||||||
GoHash string
|
GoHash string
|
||||||
|
|
||||||
OK bool
|
OK bool
|
||||||
Log []byte `datastore:"-"` // for JSON unmarshaling
|
Log string `datastore:"-"` // for JSON unmarshaling only
|
||||||
LogHash string `datastore:",noindex"` // Key to the Log record.
|
LogHash string `datastore:",noindex"` // Key to the Log record.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,12 +208,12 @@ type Log struct {
|
|||||||
CompressedLog []byte
|
CompressedLog []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
func PutLog(c appengine.Context, text []byte) (hash string, err os.Error) {
|
func PutLog(c appengine.Context, text string) (hash string, err os.Error) {
|
||||||
h := sha1.New()
|
h := sha1.New()
|
||||||
h.Write(text)
|
io.WriteString(h, text)
|
||||||
b := new(bytes.Buffer)
|
b := new(bytes.Buffer)
|
||||||
z, _ := gzip.NewWriterLevel(b, gzip.BestCompression)
|
z, _ := gzip.NewWriterLevel(b, gzip.BestCompression)
|
||||||
z.Write(text)
|
io.WriteString(z, text)
|
||||||
z.Close()
|
z.Close()
|
||||||
hash = fmt.Sprintf("%x", h.Sum())
|
hash = fmt.Sprintf("%x", h.Sum())
|
||||||
key := datastore.NewKey(c, "Log", hash, 0, nil)
|
key := datastore.NewKey(c, "Log", hash, 0, nil)
|
||||||
@ -511,6 +511,7 @@ func resultHandler(r *http.Request) (interface{}, os.Error) {
|
|||||||
// logHandler displays log text for a given hash.
|
// logHandler displays log text for a given hash.
|
||||||
// It handles paths like "/log/hash".
|
// It handles paths like "/log/hash".
|
||||||
func logHandler(w http.ResponseWriter, r *http.Request) {
|
func logHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Header().Set("Content-type", "text/plain")
|
||||||
c := appengine.NewContext(r)
|
c := appengine.NewContext(r)
|
||||||
h := r.URL.Path[len("/log/"):]
|
h := r.URL.Path[len("/log/"):]
|
||||||
k := datastore.NewKey(c, "Log", h, 0, nil)
|
k := datastore.NewKey(c, "Log", h, 0, nil)
|
||||||
|
@ -90,7 +90,7 @@ var testRequests = []struct {
|
|||||||
{"/todo", url.Values{"kind": {"build-go-commit"}, "builder": {"linux-386"}}, nil, &Todo{Kind: "build-go-commit", Data: &Commit{Hash: "0003"}}},
|
{"/todo", url.Values{"kind": {"build-go-commit"}, "builder": {"linux-386"}}, nil, &Todo{Kind: "build-go-commit", Data: &Commit{Hash: "0003"}}},
|
||||||
|
|
||||||
// logs
|
// logs
|
||||||
{"/result", nil, &Result{Builder: "linux-386", Hash: "0003", OK: false, Log: []byte("test")}, nil},
|
{"/result", nil, &Result{Builder: "linux-386", Hash: "0003", OK: false, Log: "test"}, nil},
|
||||||
{"/log/a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", nil, nil, "test"},
|
{"/log/a94a8fe5ccb19ba61c4c0873d391e987982fbbd3", nil, nil, "test"},
|
||||||
{"/todo", url.Values{"kind": {"build-go-commit"}, "builder": {"linux-386"}}, nil, nil},
|
{"/todo", url.Values{"kind": {"build-go-commit"}, "builder": {"linux-386"}}, nil, nil},
|
||||||
|
|
||||||
@ -106,7 +106,7 @@ var testRequests = []struct {
|
|||||||
{"/result", nil, &Result{PackagePath: testPkg, Builder: "linux-386", Hash: "1001", GoHash: "0001", OK: true}, nil},
|
{"/result", nil, &Result{PackagePath: testPkg, Builder: "linux-386", Hash: "1001", GoHash: "0001", OK: true}, nil},
|
||||||
{"/todo", url.Values{"kind": {"build-package"}, "builder": {"linux-386"}, "packagePath": {testPkg}, "goHash": {"0001"}}, nil, nil},
|
{"/todo", url.Values{"kind": {"build-package"}, "builder": {"linux-386"}, "packagePath": {testPkg}, "goHash": {"0001"}}, nil, nil},
|
||||||
{"/todo", url.Values{"kind": {"build-package"}, "builder": {"linux-386"}, "packagePath": {testPkg}, "goHash": {"0002"}}, nil, &Todo{Kind: "build-package", Data: &Commit{Hash: "1003"}}},
|
{"/todo", url.Values{"kind": {"build-package"}, "builder": {"linux-386"}, "packagePath": {testPkg}, "goHash": {"0002"}}, nil, &Todo{Kind: "build-package", Data: &Commit{Hash: "1003"}}},
|
||||||
{"/result", nil, &Result{PackagePath: testPkg, Builder: "linux-386", Hash: "1001", GoHash: "0005", OK: false, Log: []byte("boo")}, nil},
|
{"/result", nil, &Result{PackagePath: testPkg, Builder: "linux-386", Hash: "1001", GoHash: "0005", OK: false, Log: "boo"}, nil},
|
||||||
}
|
}
|
||||||
|
|
||||||
func testHandler(w http.ResponseWriter, r *http.Request) {
|
func testHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
Loading…
Reference in New Issue
Block a user