2023-01-04 19:33:00 -07:00
|
|
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2023-01-09 00:30:14 -07:00
|
|
|
package fuzz
|
2023-01-04 19:33:00 -07:00
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"context"
|
|
|
|
"io"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/markup"
|
|
|
|
"code.gitea.io/gitea/modules/markup/markdown"
|
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
)
|
|
|
|
|
2024-11-21 22:48:09 -07:00
|
|
|
func newFuzzRenderContext() *markup.RenderContext {
|
|
|
|
return markup.NewRenderContext(context.Background()).
|
|
|
|
WithLinks(markup.Links{Base: "https://example.com/go-gitea/gitea"}).
|
|
|
|
WithMetas(map[string]string{"user": "go-gitea", "repo": "gitea"})
|
2023-01-04 19:33:00 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func FuzzMarkdownRenderRaw(f *testing.F) {
|
|
|
|
f.Fuzz(func(t *testing.T, data []byte) {
|
|
|
|
setting.AppURL = "http://localhost:3000/"
|
2024-11-21 22:48:09 -07:00
|
|
|
markdown.RenderRaw(newFuzzRenderContext(), bytes.NewReader(data), io.Discard)
|
2023-01-04 19:33:00 -07:00
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func FuzzMarkupPostProcess(f *testing.F) {
|
|
|
|
f.Fuzz(func(t *testing.T, data []byte) {
|
|
|
|
setting.AppURL = "http://localhost:3000/"
|
2024-11-21 22:48:09 -07:00
|
|
|
markup.PostProcess(newFuzzRenderContext(), bytes.NewReader(data), io.Discard)
|
2023-01-04 19:33:00 -07:00
|
|
|
})
|
|
|
|
}
|