• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mlange-42 / ark / 13522665831

25 Feb 2025 01:43PM CUT coverage: 83.258%. Remained the same
13522665831

Pull #69

github

web-flow
Merge fca34835f into 747bd4f00
Pull Request #69: Add test coverage badge to README

2954 of 3548 relevant lines covered (83.26%)

52188.13 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/ecs/generate/main.go
1
package main
2

3
import (
4
        "bytes"
5
        "fmt"
6
        "os"
7
        "strings"
8
        "text/template"
9
)
10

11
type genFile struct {
12
        Source string
13
        Target string
14
}
15

16
var files = []genFile{
17
        {"./filter.go.template", "../filter_gen.go"},
18
        {"./query.go.template", "../query_gen.go"},
19
        {"./query_test.go.template", "../query_gen_test.go"},
20
        {"./maps.go.template", "../maps_gen.go"},
21
        {"./maps_test.go.template", "../maps_gen_test.go"},
22
        {"./exchange.go.template", "../exchange_gen.go"},
23
}
24

25
func main() {
×
26
        funcMap := template.FuncMap{
×
27
                "makeRange":    makeRange,
×
28
                "lowerLetters": lowerLetters,
×
29
                "upperLetters": upperLetters,
×
30
                "concat":       concat,
×
31
                "join":         join,
×
32
                "arguments":    arguments,
×
33
                "blanks":       blanks,
×
34
        }
×
35

×
36
        for _, file := range files {
×
37
                t, err := template.New("template").Funcs(funcMap).ParseFiles(file.Source)
×
38
                if err != nil {
×
39
                        panic(err)
×
40
                }
41

42
                var result bytes.Buffer
×
43
                err = t.ExecuteTemplate(&result, "template", nil)
×
44
                if err != nil {
×
45
                        panic(err)
×
46
                }
47
                os.WriteFile(file.Target, result.Bytes(), 0644)
×
48
        }
49
}
50

51
func makeRange(min, max int) []int {
×
52
        r := make([]int, max-min+1)
×
53
        for i := range r {
×
54
                r[i] = min + i
×
55
        }
×
56
        return r
×
57
}
58

59
func lowerLetters(n int) []string {
×
60
        letters := make([]string, n)
×
61
        for i := 0; i < n; i++ {
×
62
                letters[i] = string(rune('a' + i))
×
63
        }
×
64
        return letters
×
65
}
66

67
func upperLetters(n int) []string {
×
68
        letters := make([]string, n)
×
69
        for i := 0; i < n; i++ {
×
70
                letters[i] = string(rune('A' + i))
×
71
        }
×
72
        return letters
×
73
}
74

75
func concat(args ...interface{}) string {
×
76
        var result strings.Builder
×
77
        for _, arg := range args {
×
78
                result.WriteString(fmt.Sprintf("%v", arg))
×
79
        }
×
80
        return result.String()
×
81
}
82

83
func join(before, sep, after string, args []string) string {
×
84
        return fmt.Sprintf("%s%s%s", before, strings.Join(args, sep), after)
×
85
}
×
86

87
func arguments(names []string, types []string, prefix string) string {
×
88
        str := make([]string, len(names))
×
89
        for i, name := range names {
×
90
                str[i] = fmt.Sprintf("%s *%s%s", name, prefix, types[i])
×
91
        }
×
92
        return strings.Join(str, ", ")
×
93
}
94

95
func blanks(count int) string {
×
96
        b := strings.Builder{}
×
97
        for i := range count {
×
98
                if i > 0 {
×
99
                        b.WriteString(", ")
×
100
                }
×
101
                b.WriteString("_")
×
102
        }
103
        return b.String()
×
104
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc