push
github
41 of 213 new or added lines in 6 files covered. (19.25%)
41 of 213 relevant lines covered (19.25%)
2.28 hits per line
1 |
package util
|
|
2 |
|
|
3 |
import (
|
|
4 |
"fmt"
|
|
5 |
"path/filepath"
|
|
6 |
"runtime"
|
|
7 |
) |
|
8 |
|
|
NEW
|
func repoRoot() (string, error) { |
× |
NEW
|
_, filename, _, ok := runtime.Caller(0)
|
× |
NEW
|
if !ok {
|
× |
NEW
|
return "", fmt.Errorf("failed to generate package path") |
× |
NEW
|
} |
× |
14 |
|
|
NEW
|
return filepath.Dir(filepath.Dir(filename)), nil |
× |
16 |
} |
|
17 |
|
|
NEW
|
func ChallengePath() (string, error) { |
× |
NEW
|
root, err := repoRoot() |
× |
NEW
|
if err != nil { |
× |
NEW
|
return "", err |
× |
NEW
|
} |
× |
23 |
|
|
NEW
|
return filepath.Join(root, "challenge", "cmd", "cmd.go"), nil |
× |
25 |
} |
|
26 |
|
|
NEW
|
func PkgPath(day int) (string, error) { |
× |
NEW
|
root, err := repoRoot() |
× |
NEW
|
if err != nil { |
× |
NEW
|
return "", err |
× |
NEW
|
} |
× |
32 |
|
|
NEW
|
return filepath.Join(root, "challenge", fmt.Sprintf("day%d", day)), nil |
× |
34 |
} |