Fix tests on Windows (#562)
* fix: replace `\` with `/` in git ref to fix `git_test.go` on windows Paths on Windows use backslash (`\`) as directory separator and this breaks `TestGitFindRef()`. Replacing `\` with `/` in git ref fixes that issue. * fix: replace `gopkg.in/godo.v2/glob` with std library `path/filepath` `github.com/go-godo/godo` lib has been last updated in 2016 and it also depends on another outdated lib `github.com/MichaelTJones/walk` with last update in 2016. This also fixes `permission_denied` errors on Windows (and perhaps Linux in some specific cases). I'm not aware of any performance improvement or drawback because of that change.
This commit is contained in:
parent
f29b1f2523
commit
eb2774275f
2 changed files with 5 additions and 5 deletions
|
@ -98,7 +98,8 @@ func findGitPrettyRef(head, root, sub string) (string, error) {
|
||||||
}
|
}
|
||||||
var pointsTo = strings.TrimSpace(string(bts))
|
var pointsTo = strings.TrimSpace(string(bts))
|
||||||
if head == pointsTo {
|
if head == pointsTo {
|
||||||
name = strings.TrimPrefix(strings.Replace(path, root, "", 1), "/")
|
// On Windows paths are separated with backslash character so they should be replaced to provide proper git refs format
|
||||||
|
name = strings.TrimPrefix(strings.ReplaceAll(strings.Replace(path, root, "", 1), `\`, `/`), "/")
|
||||||
log.Debugf("HEAD matches %s", name)
|
log.Debugf("HEAD matches %s", name)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -13,7 +13,6 @@ import (
|
||||||
|
|
||||||
"github.com/robertkrimen/otto"
|
"github.com/robertkrimen/otto"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
"gopkg.in/godo.v2/glob"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var expressionPattern, operatorPattern *regexp.Regexp
|
var expressionPattern, operatorPattern *regexp.Regexp
|
||||||
|
@ -319,9 +318,9 @@ func vmFromJSON(vm *otto.Otto) {
|
||||||
func (rc *RunContext) vmHashFiles() func(*otto.Otto) {
|
func (rc *RunContext) vmHashFiles() func(*otto.Otto) {
|
||||||
return func(vm *otto.Otto) {
|
return func(vm *otto.Otto) {
|
||||||
_ = vm.Set("hashFiles", func(paths ...string) string {
|
_ = vm.Set("hashFiles", func(paths ...string) string {
|
||||||
var files []*glob.FileAsset
|
var files []string
|
||||||
for i := range paths {
|
for i := range paths {
|
||||||
newFiles, _, err := glob.Glob([]string{filepath.Join(rc.Config.Workdir, paths[i])})
|
newFiles, err := filepath.Glob(filepath.Join(rc.Config.Workdir, paths[i]))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Unable to glob.Glob: %v", err)
|
log.Errorf("Unable to glob.Glob: %v", err)
|
||||||
return ""
|
return ""
|
||||||
|
@ -330,7 +329,7 @@ func (rc *RunContext) vmHashFiles() func(*otto.Otto) {
|
||||||
}
|
}
|
||||||
hasher := sha256.New()
|
hasher := sha256.New()
|
||||||
for _, file := range files {
|
for _, file := range files {
|
||||||
f, err := os.Open(file.Path)
|
f, err := os.Open(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("Unable to os.Open: %v", err)
|
log.Errorf("Unable to os.Open: %v", err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue