diff --git a/.github/workflows/build-and-test-windows.yaml b/.github/workflows/build-and-test-windows.yaml index 8072d1a22dec..293ca7858d97 100644 --- a/.github/workflows/build-and-test-windows.yaml +++ b/.github/workflows/build-and-test-windows.yaml @@ -25,5 +25,5 @@ jobs: ~\go\pkg\mod ~\AppData\Local\go-build key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - - name: Run Unit tests - run: go test ./... + - name: Run Unit Tests + run: make gotest diff --git a/Makefile b/Makefile index 6358b1190bf9..36d3a63b84bb 100644 --- a/Makefile +++ b/Makefile @@ -146,13 +146,23 @@ install-tools: run: otelcorecol ./bin/otelcorecol_$(GOOS)_$(GOARCH) --config ${RUN_CONFIG} ${RUN_ARGS} +# Append root module to all modules GOMODULES = $(ALL_MODULES) $(PWD) + +# Define a delegation target for each module .PHONY: $(GOMODULES) -MODULEDIRS = $(GOMODULES:%=for-all-target-%) +$(GOMODULES): + @echo "Running target '$(TARGET)' in module '$@'" + $(MAKE) -C $@ $(TARGET) + +# Triggers each module's delegation target .PHONY: for-all-target -for-all-target: $(MODULEDIRS) -$(MODULEDIRS): - $(MAKE) -C $(@:for-all-target-%=%) $(TARGET) +for-all-target: $(GOMODULES) + +# Debugging target, which helps to quickly determine whether for-all-target is working or not. +.PHONY: all-pwd +all-pwd: + $(MAKE) for-all-target TARGET="pwd" .PHONY: check-component check-component: diff --git a/Makefile.Common b/Makefile.Common index 70cfe2f2a51b..4eaeb391466d 100644 --- a/Makefile.Common +++ b/Makefile.Common @@ -3,13 +3,16 @@ ALL_PKGS := $(sort $(shell go list ./...)) # Use a single process (-p 1) on go test to avoid tests clashing on machine # wide resources, e.g. ports. -GOTEST_OPT?= -v -p 1 -race -timeout 60s +GOTEST_OPT?= -v -p 1 -race -timeout 120s GOCMD?= go GOTEST=$(GOCMD) test GO_ACC=go-acc LINT=golangci-lint IMPI=impi +pwd: + @pwd + .PHONY: test test: $(GOTEST) $(GOTEST_OPT) ./... diff --git a/cmd/builder/internal/builder/config_test.go b/cmd/builder/internal/builder/config_test.go index a33a72de8240..dc3fcf6f2281 100644 --- a/cmd/builder/internal/builder/config_test.go +++ b/cmd/builder/internal/builder/config_test.go @@ -58,7 +58,6 @@ func TestRelativePath(t *testing.T) { // verify cwd, err := os.Getwd() require.NoError(t, err) - assert.True(t, strings.HasPrefix(cfg.Extensions[0].Path, "/")) assert.True(t, strings.HasPrefix(cfg.Extensions[0].Path, cwd)) } diff --git a/cmd/builder/internal/builder/main_test.go b/cmd/builder/internal/builder/main_test.go index c637438d763c..c5bb59e9c78e 100644 --- a/cmd/builder/internal/builder/main_test.go +++ b/cmd/builder/internal/builder/main_test.go @@ -35,16 +35,8 @@ func TestGenerateInvalidCollectorVersion(t *testing.T) { require.NoError(t, err) } -func TestGenerateInvalidOutputPath(t *testing.T) { - cfg := NewDefaultConfig() - cfg.Distribution.OutputPath = "/invalid" - err := Generate(cfg) - require.Error(t, err) - require.Contains(t, err.Error(), "failed to create output path") -} - func TestGenerateAndCompileDefault(t *testing.T) { - dir, err := ioutil.TempDir("/tmp", "default") + dir, err := ioutil.TempDir("", "default") if err != nil { log.Fatal(err) }