diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2022-05-21 14:01:15 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2022-05-23 11:53:38 +0200 |
| commit | c06b338683a7a14ed2e9db22c5b5dae9c5fa5db6 (patch) | |
| tree | 07cbbc6514c415bde43917ef6f46c9d78f501efd | |
| parent | 4c7657cb23023fd64d0585c979e6fec4ef441f04 (diff) | |
pkg/html: move some functions to sub-package
Move functions that need embed assets to a separate package.
In preparation for the next change.
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | pkg/html/html.go | 18 | ||||
| -rwxr-xr-x | pkg/html/pages/gen.sh (renamed from pkg/html/gen.sh) | 6 | ||||
| -rw-r--r-- | pkg/html/pages/generated.go (renamed from pkg/html/generated.go) | 2 | ||||
| -rw-r--r-- | pkg/html/pages/pages.go | 30 | ||||
| -rw-r--r-- | syz-manager/html.go | 16 | ||||
| -rw-r--r-- | tools/syz-reporter/reporter.go | 4 | ||||
| -rw-r--r-- | tools/syz-testbed/html.go | 4 |
8 files changed, 47 insertions, 35 deletions
@@ -238,7 +238,7 @@ generate: $(MAKE) format generate_go: format_cpp - $(GO) generate ./pkg/csource ./executor ./pkg/ifuzz ./pkg/build ./pkg/html + $(GO) generate ./pkg/csource ./executor ./pkg/ifuzz ./pkg/build ./pkg/html/pages generate_fidl: ifeq ($(TARGETOS),fuchsia) diff --git a/pkg/html/html.go b/pkg/html/html.go index 991f7b37a..d9e4e5881 100644 --- a/pkg/html/html.go +++ b/pkg/html/html.go @@ -1,14 +1,11 @@ // Copyright 2018 syzkaller project authors. All rights reserved. // Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. -//go:generate ./gen.sh - package html import ( "fmt" "html/template" - "io/fs" "reflect" "strings" texttemplate "text/template" @@ -17,29 +14,14 @@ import ( "github.com/google/syzkaller/dashboard/dashapi" ) -func CreatePage(page string) *template.Template { - page = strings.Replace(page, "{{HEAD}}", getHeadTemplate(), 1) - return template.Must(template.New("").Funcs(Funcs).Parse(page)) -} - func CreateGlob(glob string) *template.Template { return template.Must(template.New("").Funcs(Funcs).ParseGlob(glob)) } -func CreateFromFS(fs fs.FS, patterns ...string) *template.Template { - t := template.Must(template.New("syz-head").Funcs(Funcs).Parse(getHeadTemplate())) - return template.Must(t.New("").Funcs(Funcs).ParseFS(fs, patterns...)) -} - func CreateTextGlob(glob string) *texttemplate.Template { return texttemplate.Must(texttemplate.New("").Funcs(texttemplate.FuncMap(Funcs)).ParseGlob(glob)) } -func getHeadTemplate() string { - const headTempl = `<style type="text/css" media="screen">%v</style><script>%v</script>` - return fmt.Sprintf(headTempl, style, js) -} - var Funcs = template.FuncMap{ "link": link, "optlink": optlink, diff --git a/pkg/html/gen.sh b/pkg/html/pages/gen.sh index 6182754b9..a326138b2 100755 --- a/pkg/html/gen.sh +++ b/pkg/html/pages/gen.sh @@ -5,10 +5,10 @@ set -eu echo '// Code generated by pkg/html/html.go. DO NOT EDIT.' > generated.go -echo 'package html' >> generated.go +echo 'package pages' >> generated.go echo 'const style = `' >> generated.go -cat ../../dashboard/app/static/style.css >> generated.go +cat ../../../dashboard/app/static/style.css >> generated.go echo '`' >> generated.go echo 'const js = `' >> generated.go -cat ../../dashboard/app/static/common.js >> generated.go +cat ../../../dashboard/app/static/common.js >> generated.go echo '`' >> generated.go diff --git a/pkg/html/generated.go b/pkg/html/pages/generated.go index fed290590..56f5e2d5f 100644 --- a/pkg/html/generated.go +++ b/pkg/html/pages/generated.go @@ -1,5 +1,5 @@ // Code generated by pkg/html/html.go. DO NOT EDIT. -package html +package pages const style = ` #topbar { diff --git a/pkg/html/pages/pages.go b/pkg/html/pages/pages.go new file mode 100644 index 000000000..0040c8617 --- /dev/null +++ b/pkg/html/pages/pages.go @@ -0,0 +1,30 @@ +// Copyright 2022 syzkaller project authors. All rights reserved. +// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +//go:generate ./gen.sh + +package pages + +import ( + "fmt" + "html/template" + "io/fs" + "strings" + + "github.com/google/syzkaller/pkg/html" +) + +func Create(page string) *template.Template { + page = strings.Replace(page, "{{HEAD}}", getHeadTemplate(), 1) + return template.Must(template.New("").Funcs(html.Funcs).Parse(page)) +} + +func CreateFromFS(fs fs.FS, patterns ...string) *template.Template { + t := template.Must(template.New("syz-head").Funcs(html.Funcs).Parse(getHeadTemplate())) + return template.Must(t.New("").Funcs(html.Funcs).ParseFS(fs, patterns...)) +} + +func getHeadTemplate() string { + const headTempl = `<style type="text/css" media="screen">%v</style><script>%v</script>` + return fmt.Sprintf(headTempl, style, js) +} diff --git a/syz-manager/html.go b/syz-manager/html.go index 6252f55fa..fddbe1e5e 100644 --- a/syz-manager/html.go +++ b/syz-manager/html.go @@ -21,7 +21,7 @@ import ( "time" "github.com/google/syzkaller/pkg/cover" - "github.com/google/syzkaller/pkg/html" + "github.com/google/syzkaller/pkg/html/pages" "github.com/google/syzkaller/pkg/log" "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/pkg/signal" @@ -755,7 +755,7 @@ type UIInput struct { Cover int } -var summaryTemplate = html.CreatePage(` +var summaryTemplate = pages.Create(` <!doctype html> <html> <head> @@ -819,7 +819,7 @@ var summaryTemplate = html.CreatePage(` </body></html> `) -var syscallsTemplate = html.CreatePage(` +var syscallsTemplate = pages.Create(` <!doctype html> <html> <head> @@ -848,7 +848,7 @@ var syscallsTemplate = html.CreatePage(` </body></html> `) -var crashTemplate = html.CreatePage(` +var crashTemplate = pages.Create(` <!doctype html> <html> <head> @@ -887,7 +887,7 @@ Report: <a href="/report?id={{.ID}}">{{.Triaged}}</a> </body></html> `) -var corpusTemplate = html.CreatePage(` +var corpusTemplate = pages.Create(` <!doctype html> <html> <head> @@ -927,7 +927,7 @@ type UIPrio struct { Prio int32 } -var prioTemplate = html.CreatePage(` +var prioTemplate = pages.Create(` <!doctype html> <html> <head> @@ -961,7 +961,7 @@ type UIFallbackCall struct { Errnos []int } -var fallbackCoverTemplate = html.CreatePage(` +var fallbackCoverTemplate = pages.Create(` <!doctype html> <html> <head> @@ -992,7 +992,7 @@ type UIRawCallCover struct { UpdateIDs []int } -var rawCoverTemplate = html.CreatePage(` +var rawCoverTemplate = pages.Create(` <!doctype html> <html> <head> diff --git a/tools/syz-reporter/reporter.go b/tools/syz-reporter/reporter.go index 7639fb87e..e0d88c1a6 100644 --- a/tools/syz-reporter/reporter.go +++ b/tools/syz-reporter/reporter.go @@ -24,7 +24,7 @@ import ( "strconv" "strings" - "github.com/google/syzkaller/pkg/html" + "github.com/google/syzkaller/pkg/html/pages" "github.com/google/syzkaller/pkg/kconfig" "github.com/google/syzkaller/pkg/mgrconfig" "github.com/google/syzkaller/pkg/osutil" @@ -223,7 +223,7 @@ func trimNewLines(data []byte) []byte { return data } -var summaryTemplate = html.CreatePage(` +var summaryTemplate = pages.Create(` <!doctype html> <html> <head> diff --git a/tools/syz-testbed/html.go b/tools/syz-testbed/html.go index 25c79db69..060914407 100644 --- a/tools/syz-testbed/html.go +++ b/tools/syz-testbed/html.go @@ -16,7 +16,7 @@ import ( "os" "time" - "github.com/google/syzkaller/pkg/html" + "github.com/google/syzkaller/pkg/html/pages" "github.com/google/syzkaller/pkg/osutil" "github.com/gorilla/handlers" ) @@ -307,4 +307,4 @@ func executeTemplate(w http.ResponseWriter, templ *template.Template, name strin //go:embed templates var testbedTemplates embed.FS -var mainTemplate = html.CreateFromFS(testbedTemplates, "templates/*.html") +var mainTemplate = pages.CreateFromFS(testbedTemplates, "templates/*.html") |
