Skip to content

Commit 110355d

Browse files
committed
Fixed Tavern executor excludes ** expressions
1 parent b831332 commit 110355d

3 files changed

Lines changed: 10 additions & 10 deletions

File tree

.build/go.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ IS_TEST = $(filter test,$(MAKECMDGOALS))
3131
TARGET_OS = $(filter-out $(TARGET_OS_EXCLUDED), $(if ${ENABLE_CROSS_COMPILATION},$(if ${OS},${OS}, $(if $(IS_TEST), $(shell go env GOOS), windows darwin linux openbsd freebsd)),$(shell go env GOOS)))
3232
TARGET_ARCH = $(if ${ARCH},${ARCH}, $(if $(IS_TEST), $(shell go env GOARCH),amd64 arm 386 arm64 ppc64le))
3333
BINARIES = $(addprefix $(TARGET_DIST)/, $(addsuffix .$(OS)-$(ARCH)$(if $(IS_WINDOWS),.exe), $(notdir $(TARGET_NAME))))
34-
OSARCHVALID := $(shell go tool dist list | grep -v '^darwin/arm'|grep -v '^darwin/386'|grep -v '^windows/386'|grep -v '^windows/arm'|grep -v '^openbsd/arm*'|grep -v '^openbsd/386'|grep -v '^freebsd/arm*'|grep -v '^freebsd/386')
34+
OSARCHVALID := $(shell go tool dist list | grep -v '^darwin/386'|grep -v '^windows/386'|grep -v '^windows/arm'|grep -v '^openbsd/arm*'|grep -v '^openbsd/386'|grep -v '^freebsd/arm*'|grep -v '^freebsd/386')
3535
IS_OS_ARCH_VALID = $(filter $(OS)/$(ARCH),$(OSARCHVALID))
3636
CROSS_COMPILED_BINARIES = $(foreach OS, $(TARGET_OS), $(foreach ARCH, $(TARGET_ARCH), $(if $(IS_OS_ARCH_VALID), $(BINARIES))))
3737
GOFILES := $(call get_recursive_files, '.')
3838

3939
mk_go_build:
4040
$(info *** mk_go_build)
4141

42-
mk_go_build_plugin:
42+
mk_go_build_plugin:
4343
@mkdir -p dist/lib && \
4444
go build -buildmode=plugin -o dist/lib/$(TARGET_NAME).so
4545

executors/tavern/assert.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,12 @@ func PathToRegexp(path string) string {
125125
var parts []string
126126
for _, element := range elements {
127127
if element == "*" {
128-
parts = append(parts, "[^/]*?")
128+
parts = append(parts, "[^/]+/")
129129
} else if element == "**" {
130-
parts = append(parts, ".*?")
130+
parts = append(parts, "(.*?/)?")
131131
} else {
132-
parts = append(parts, element)
132+
parts = append(parts, element+"/")
133133
}
134134
}
135-
return "^" + strings.Join(parts, "/") + "$"
135+
return "^" + strings.TrimSuffix(strings.Join(parts, ""), "/") + "$"
136136
}

executors/tavern/assert_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,22 +384,22 @@ func TestPathToRegexp(t *testing.T) {
384384
}
385385
path = "*/bar"
386386
regex = PathToRegexp(path)
387-
if regex != "^[^/]*?/bar$" {
387+
if regex != "^[^/]+/bar$" {
388388
t.Fatalf("bad path regexp: %s", regex)
389389
}
390390
path = "foo/*"
391391
regex = PathToRegexp(path)
392-
if regex != "^foo/[^/]*?$" {
392+
if regex != "^foo/[^/]+$" {
393393
t.Fatalf("bad path regexp: %s", regex)
394394
}
395395
path = "foo/**"
396396
regex = PathToRegexp(path)
397-
if regex != "^foo/.*?$" {
397+
if regex != "^foo/(.*?/)?$" {
398398
t.Fatalf("bad path regexp: %s", regex)
399399
}
400400
path = "**/bar"
401401
regex = PathToRegexp(path)
402-
if regex != "^.*?/bar$" {
402+
if regex != "^(.*?/)?bar$" {
403403
t.Fatalf("bad path regexp: %s", regex)
404404
}
405405
}

0 commit comments

Comments
 (0)