aboutsummaryrefslogtreecommitdiff
path: root/test/readme_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/readme_test.go')
-rw-r--r--test/readme_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/readme_test.go b/test/readme_test.go
index b857def12..38fbcc0e2 100644
--- a/test/readme_test.go
+++ b/test/readme_test.go
@@ -2,10 +2,12 @@ package test
import (
"bufio"
+ "fmt"
"io/ioutil"
"os"
"path/filepath"
"strconv"
+ "strings"
"testing"
"github.com/coredns/coredns/core/dnsserver"
@@ -39,6 +41,9 @@ PrivateKey: f03VplaIEA+KHI9uizlemUSbUJH86hPBPjmcUninPoM=
// # check-this-please
// }
// ~~~
+//
+// While we're at it - we also check the README.md itself. It should at least have the sections:
+// Name, Description, Syntax and Examples. See plugin.md for more details.
func TestReadme(t *testing.T) {
port := 30053
caddy.Quiet = true
@@ -59,6 +64,10 @@ func TestReadme(t *testing.T) {
readme := filepath.Join(middle, d.Name())
readme = filepath.Join(readme, "README.md")
+ if err := sectionsFromReadme(readme); err != nil {
+ t.Fatal(err)
+ }
+
inputs, err := corefileFromReadme(readme)
if err != nil {
continue
@@ -118,6 +127,47 @@ func corefileFromReadme(readme string) ([]*Input, error) {
return input, nil
}
+// sectionsFromReadme returns an error if the readme doesn't contains all
+// mandatory sections. The check is basic, as we match each line, this mostly
+// works, because markdown is such a simple format.
+// We want: Name, Description, Syntax, Examples - in this order.
+func sectionsFromReadme(readme string) error {
+ f, err := os.Open(readme)
+ if err != nil {
+ return nil // don't error when we can read the file
+ }
+ defer f.Close()
+
+ section := 0
+ s := bufio.NewScanner(f)
+ for s.Scan() {
+ line := s.Text()
+ switch section {
+ case 0:
+ if strings.HasPrefix(line, "## Name") {
+ section++
+ }
+ case 1:
+ if strings.HasPrefix(line, "## Description") {
+ section++
+ }
+ case 2:
+ if strings.HasPrefix(line, "## Syntax") {
+ section++
+ }
+ case 3:
+ if strings.HasPrefix(line, "## Examples") {
+ section++
+ }
+ }
+ }
+ if section != 4 {
+ return fmt.Errorf("Sections incomplete or ordered wrong: %q, want (at least): Name, Descripion, Syntax and Examples", readme)
+ }
+ return nil
+
+}
+
func create(c map[string]string) {
for name, content := range c {
ioutil.WriteFile(name, []byte(content), 0644)
bprocess'>jarred/subprocess Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/integration/snapshots/latin1-chars-in-regexp.debug.js (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-03-17Add test coverage for emoji in blobsGravatar Jarred Sumner 1-84/+133
2022-03-17Prevent segfaultGravatar Jarred Sumner 1-0/+4
2022-03-17move some code aroundGravatar Jarred Sumner 3-189/+9
2022-03-17Update build-idGravatar Jarred Sumner 1-1/+1
2022-03-17optimize blob.text()Gravatar Jarred Sumner 1-83/+185
2022-03-17query_string_map -> urlGravatar Jarred Sumner 30-28/+405
2022-03-16Fix crash from checking if something is an object when it is undefinedbun-v0.0.72Gravatar Jarred Sumner 4-12/+12
2022-03-16Fix setTimeout on LinuxGravatar Jarred SUmner 1-5/+12
2022-03-16Increase from 4ms -> 40ms for timeoutGravatar Jarred SUmner 1-1/+1
2022-03-16Update README.mdGravatar Jarred Sumner 1-0/+1
2022-03-16llvm-stirp not workingGravatar Jarred Sumner 1-1/+0
2022-03-16Update MakefileGravatar Jarred Sumner 1-1/+1
2022-03-16Update Dockerfile.baseGravatar Jarred Sumner 1-0/+1
2022-03-16Update MakefileGravatar Jarred Sumner 1-2/+23
2022-03-16cleanup error printingGravatar Jarred Sumner 7-105/+193
2022-03-16Revert "Unlimited arguments in process.nextTick"Gravatar Jarred Sumner 1-38/+48
This reverts commit aff9d232b1e7dfbac5fa1b18631aba18ed5f27e7.
2022-03-16bun.lockbGravatar Jarred Sumner 3-0/+0
2022-03-16Update feature_flags.zigGravatar Jarred Sumner 1-0/+1
2022-03-16[bun.js] Bun.unsafe test should check the gcGravatar Jarred Sumner 1-4/+14
2022-03-16Update work_pool.zigGravatar Jarred Sumner 1-21/+28
2022-03-16Add a way to run serial tasks on a different threadGravatar Jarred Sumner 1-3/+65
2022-03-16fix crash when SyntaxError is thrown and we did not receive an ErrorInstance?Gravatar Jarred Sumner 1-18/+25
2022-03-16[bun.js] Fix release-mode test failures in HeadersGravatar Jarred Sumner 1-47/+42
2022-03-16Update ref_count.zigGravatar Jarred Sumner 1-2/+0
2022-03-15file is too bigjarred/replGravatar Jarred Sumner 1-113827/+0
2022-03-15Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1
2022-03-15Add rust and lolhtml to dockerfileGravatar Jarred Sumner 2-0/+20
2022-03-15bump webkitGravatar Jarred Sumner 1-1/+1
2022-03-15Update WebKitGravatar Jarred Sumner 1-0/+0
2022-03-15:camera:Gravatar Jarred Sumner 60-799/+859
2022-03-15Fix test failureGravatar Jarred Sumner 1-15/+17
2022-03-15[bun:error] handle errors without a name or messageGravatar Jarred Sumner 1-6/+11
2022-03-15Update pool.zigGravatar Jarred Sumner 1-0/+1
2022-03-15Load .env by defaultGravatar Jarred Sumner 2-0/+8
2022-03-15mimalloc interpose is buggyGravatar Jarred Sumner 1-2/+25
2022-03-15higher max http requests for bun.jsGravatar Jarred Sumner 1-0/+29
2022-03-15zero copyGravatar Jarred Sumner 1-21/+15
2022-03-15Update javascript.zigGravatar Jarred Sumner 1-2/+0
2022-03-15[bun.js] utf8 console.{time, count, timeEnd, profile, profileEnd, count, ↵Gravatar Jarred Sumner 1-16/+16
countReset}