Add logging for invalid model errors (#126)
Add logging for invalid model errors Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/api/pulls/126
This commit is contained in:
54
vendor/github.com/cweill/gotests/internal/input/input.go
generated
vendored
Normal file
54
vendor/github.com/cweill/gotests/internal/input/input.go
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
package input
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"os"
|
||||
|
||||
"github.com/cweill/gotests/internal/models"
|
||||
)
|
||||
|
||||
// Returns all the Golang files for the given path. Ignores hidden files.
|
||||
func Files(srcPath string) ([]models.Path, error) {
|
||||
srcPath, err := filepath.Abs(srcPath)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("filepath.Abs: %v\n", err)
|
||||
}
|
||||
var fi os.FileInfo
|
||||
if fi, err = os.Stat(srcPath); err != nil {
|
||||
return nil, fmt.Errorf("os.Stat: %v\n", err)
|
||||
}
|
||||
if fi.IsDir() {
|
||||
return dirFiles(srcPath)
|
||||
}
|
||||
return file(srcPath)
|
||||
}
|
||||
|
||||
func dirFiles(srcPath string) ([]models.Path, error) {
|
||||
ps, err := filepath.Glob(path.Join(srcPath, "*.go"))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("filepath.Glob: %v\n", err)
|
||||
}
|
||||
var srcPaths []models.Path
|
||||
for _, p := range ps {
|
||||
src := models.Path(p)
|
||||
if isHiddenFile(p) || src.IsTestPath() {
|
||||
continue
|
||||
}
|
||||
srcPaths = append(srcPaths, src)
|
||||
}
|
||||
return srcPaths, nil
|
||||
}
|
||||
|
||||
func file(srcPath string) ([]models.Path, error) {
|
||||
src := models.Path(srcPath)
|
||||
if filepath.Ext(srcPath) != ".go" || isHiddenFile(srcPath) {
|
||||
return nil, fmt.Errorf("no Go source files found at %v", srcPath)
|
||||
}
|
||||
return []models.Path{src}, nil
|
||||
}
|
||||
|
||||
func isHiddenFile(path string) bool {
|
||||
return []rune(filepath.Base(path))[0] == '.'
|
||||
}
|
Reference in New Issue
Block a user