mirror of
https://github.com/go-gitea/gitea.git
synced 2026-11-09 17:37:20 -06:00
fix(build): pass # test patterns to go test -run unchanged (#39977)
The `test-backend#` and `test-integration#` targets rewrote every `.` into `/`, because GNU make pattern rules never match goals containing `/`. That broke regexes like `make 'test-backend#TestA.*'`, which silently selected subtests instead. Static pattern rules built from the goals accept `/` directly, so the pattern reaches `go test -run` unchanged. Subtests are now selected like `make 'test-backend#TestA/sub'`, on GNU make 3.81 and 4.x.
This commit is contained in:
16
Makefile
16
Makefile
@@ -1,6 +1,6 @@
|
|||||||
DIST := dist
|
DIST := dist
|
||||||
DIST_DIRS := $(DIST)/binaries $(DIST)/release
|
DIST_DIRS := $(DIST)/binaries $(DIST)/release
|
||||||
|
HASH := \#
|
||||||
GO ?= go
|
GO ?= go
|
||||||
SHASUM ?= shasum -a 256
|
SHASUM ?= shasum -a 256
|
||||||
|
|
||||||
@@ -385,10 +385,11 @@ test-check:
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
.PHONY: test-backend\#%
|
TEST_BACKEND_GOALS := $(filter test-backend$(HASH)%,$(MAKECMDGOALS))
|
||||||
test-backend\#%:
|
.PHONY: $(TEST_BACKEND_GOALS)
|
||||||
|
$(TEST_BACKEND_GOALS): test-backend$(HASH)%:
|
||||||
@echo "Running go test with -tags '$(TAGS)'..."
|
@echo "Running go test with -tags '$(TAGS)'..."
|
||||||
@$(GO) test $(GOTEST_FLAGS) -tags='$(TAGS)' -run '$(subst .,/,$*)' $(GO_TEST_PACKAGES)
|
@$(GO) test $(GOTEST_FLAGS) -tags='$(TAGS)' -run '$*' $(GO_TEST_PACKAGES)
|
||||||
|
|
||||||
.PHONY: coverage
|
.PHONY: coverage
|
||||||
coverage:
|
coverage:
|
||||||
@@ -443,9 +444,10 @@ test-integration: $(EXECUTABLE)
|
|||||||
test-integration-compile:
|
test-integration-compile:
|
||||||
$(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' -c -o /dev/null gitea.dev/tests/integration
|
$(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' -c -o /dev/null gitea.dev/tests/integration
|
||||||
|
|
||||||
.PHONY: test-integration\#%
|
TEST_INTEGRATION_GOALS := $(filter test-integration$(HASH)%,$(MAKECMDGOALS))
|
||||||
test-integration\#%: $(EXECUTABLE)
|
.PHONY: $(TEST_INTEGRATION_GOALS)
|
||||||
$(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' -run '$(subst .,/,$*)' gitea.dev/tests/integration
|
$(TEST_INTEGRATION_GOALS): test-integration$(HASH)%: $(EXECUTABLE)
|
||||||
|
$(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' -run '$*' gitea.dev/tests/integration
|
||||||
|
|
||||||
.PHONY: test-migration
|
.PHONY: test-migration
|
||||||
test-migration: migrations.integration.test migrations.individual.test
|
test-migration: migrations.integration.test migrations.individual.test
|
||||||
|
|||||||
Reference in New Issue
Block a user