Skip to content

Commit 25b9090

Browse files
committed
updated dependencies
1 parent 0db0ef3 commit 25b9090

File tree

3 files changed

+49
-37
lines changed

3 files changed

+49
-37
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ toolchain go1.24.2
66

77
require (
88
github.com/govalues/decimal v0.1.36
9-
github.com/rickb777/period v1.0.13
9+
github.com/rickb777/period v1.0.15
1010
golang.org/x/text v0.25.0
1111
)
1212

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ github.com/govalues/decimal v0.1.36 h1:dojDpsSvrk0ndAx8+saW5h9WDIHdWpIwrH/yhl9ol
44
github.com/govalues/decimal v0.1.36/go.mod h1:Ee7eI3Llf7hfqDZtpj8Q6NCIgJy1iY3kH1pSwDrNqlM=
55
github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg=
66
github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A=
7-
github.com/rickb777/expect v0.22.0 h1:xlkFlsnotV2QZ4bsNY03blfJ5yJ4TIf3U43lUh4mQyQ=
8-
github.com/rickb777/expect v0.22.0/go.mod h1:NQTOf7atJ/89U2FLV1ghRp5XJDdZ8dV+8iW47kJ9q7c=
9-
github.com/rickb777/period v1.0.13 h1:sBs0g+jMmHa4LxQ4f4zGz+FLgQCRq81s+javh35OJGQ=
10-
github.com/rickb777/period v1.0.13/go.mod h1:SUteTX/7sG5Uh77CaN7ImDqxU1HeAO9ip+umFBCF4XA=
7+
github.com/rickb777/expect v0.24.0 h1:IzFxn4jINkVuCmx4jdQP7LxaIBhG60bDVbeGWk3xnzo=
8+
github.com/rickb777/expect v0.24.0/go.mod h1:jwwS3gmukQ7wPxzEtOhMJEv43UxSwOBE7MUgTt8CX0k=
9+
github.com/rickb777/period v1.0.15 h1:nWR4rgCtImT0CXw5kAsjHv+ExCEFt/18zAySOi7pWI8=
10+
github.com/rickb777/period v1.0.15/go.mod h1:3lWluyeZEk6n1jfLCPG4dH3C0N3NxjmYL4Dmcxip3es=
1111
github.com/rickb777/plural v1.4.4 h1:OpZU8uRr9P2NkYAbkLMwlKNVJyJ5HvRcRBFyXGJtKGI=
1212
github.com/rickb777/plural v1.4.4/go.mod h1:DB19dtrplGS5s6VJVHn7tvmFYPoE83p1xqio3oVnNRM=
1313
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=

magefiles/build.go

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,32 @@
22

33
//go:build mage
44

5-
// Build steps for the expect API:
5+
// Build steps for the date API:
66
package main
77

88
import (
99
"github.com/magefile/mage/sh"
10+
"io/fs"
1011
"log"
1112
"os"
13+
"path/filepath"
14+
"sort"
15+
"strings"
1216
)
1317

14-
var Default = Build
18+
var Default = Coverage
1519

1620
func Build() error {
17-
if err := Tidy(); err != nil {
18-
return err
19-
}
20-
if err := Test(); err != nil {
21+
if err := sh.RunV("go", "test", "./..."); err != nil {
2122
return err
2223
}
2324
if err := sh.RunV("gofmt", "-l", "-w", "-s", "."); err != nil {
2425
return err
2526
}
26-
if err := Install(); err != nil {
27-
return err
28-
}
29-
return nil
30-
}
31-
32-
// runs go mod download & tidy
33-
func Tidy() error {
34-
if err := sh.RunV("go", "mod", "download"); err != nil {
27+
if err := sh.RunV("go", "vet", "./..."); err != nil {
3528
return err
3629
}
37-
if err := sh.RunV("go", "mod", "tidy"); err != nil {
30+
if err := Install(); err != nil {
3831
return err
3932
}
4033
return nil
@@ -49,24 +42,18 @@ func Install() error {
4942
}
5043

5144
// tests all the code and prints coverage information
52-
func Test() error {
53-
dirs := []string{".", "./clock", "./gregorian", "./timespan", "./view"}
54-
for _, pkg := range dirs {
55-
if err := sh.RunV("go", "test", "-v", "-covermode=count", "-coverprofile="+nameOf(pkg), pkg); err != nil {
56-
return err
57-
}
45+
func Coverage() error {
46+
if err := Build(); err != nil {
47+
return err
5848
}
59-
for _, pkg := range dirs {
60-
if err := sh.RunV("go", "tool", "cover", "-func="+nameOf(pkg)); err != nil {
49+
for _, dir := range listOfFoldersContainingTests() {
50+
if err := sh.RunV("go", "test", "-covermode=count", "-coverprofile="+dir+"test.out", packageName(dir)); err != nil {
6151
return err
6252
}
63-
if err := sh.Run("rm", nameOf(pkg)); err != nil {
53+
if err := sh.RunV("go", "tool", "cover", "-func="+dir+"test.out"); err != nil {
6454
return err
6555
}
6656
}
67-
if err := sh.RunV("go", "vet", "./..."); err != nil {
68-
return err
69-
}
7057
return nil
7158
}
7259

@@ -83,9 +70,34 @@ func CrossCompile() error {
8370
return nil
8471
}
8572

86-
func nameOf(pkg string) string {
87-
if pkg == "." {
88-
return "date.out"
73+
func listOfFoldersContainingTests() []string {
74+
root, _ := os.Getwd()
75+
fileSystem := os.DirFS(root)
76+
set := map[string]struct{}{}
77+
78+
fs.WalkDir(fileSystem, ".", func(path string, d fs.DirEntry, err error) error {
79+
if err != nil {
80+
log.Fatal(err)
81+
}
82+
if strings.HasSuffix(path, "_test.go") {
83+
dir, _ := filepath.Split(path)
84+
set[dir] = struct{}{}
85+
}
86+
return nil
87+
})
88+
89+
list := make([]string, 0, len(set))
90+
for dir := range set {
91+
list = append(list, dir)
92+
}
93+
sort.Strings(list)
94+
return list
95+
}
96+
97+
func packageName(dir string) string {
98+
dir, _ = strings.CutSuffix(dir, "/")
99+
if dir == "" {
100+
return dir
89101
}
90-
return pkg + ".out"
102+
return "./" + dir
91103
}

0 commit comments

Comments
 (0)