fix: skip real-DNS resolver tests in make check, add timeout
All checks were successful
Check / check (pull_request) Successful in 10m9s
All checks were successful
Check / check (pull_request) Successful in 10m9s
Resolver tests perform iterative DNS resolution from root nameservers, which can hang indefinitely. This broke make check on main. Changes: - Add -short and -timeout 30s flags to go test in make check - Skip real-DNS integration tests when -short is set (via testContext helper) - Context-canceled tests still run (no network needed) - Also add -timeout 30s to make test target Run integration tests explicitly with: go test -v -race ./internal/resolver/...
This commit is contained in:
4
Makefile
4
Makefile
@@ -18,7 +18,7 @@ fmt:
|
||||
goimports -w .
|
||||
|
||||
test:
|
||||
go test -v -race -cover ./...
|
||||
go test -v -race -cover -timeout 30s ./...
|
||||
|
||||
# Check runs all validation without making changes
|
||||
# Used by CI and Docker build - fails if anything is wrong
|
||||
@@ -28,7 +28,7 @@ check:
|
||||
@echo "==> Running linter..."
|
||||
golangci-lint run --config .golangci.yml ./...
|
||||
@echo "==> Running tests..."
|
||||
go test -v -race ./...
|
||||
go test -v -race -short -timeout 30s ./...
|
||||
@echo "==> Building..."
|
||||
go build -ldflags "$(LDFLAGS)" -o /dev/null ./cmd/dnswatcher
|
||||
@echo "==> All checks passed!"
|
||||
|
||||
@@ -34,8 +34,12 @@ func newTestResolver(t *testing.T) *resolver.Resolver {
|
||||
func testContext(t *testing.T) context.Context {
|
||||
t.Helper()
|
||||
|
||||
if testing.Short() {
|
||||
t.Skip("skipping integration test requiring real DNS")
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(
|
||||
context.Background(), 60*time.Second,
|
||||
context.Background(), 15*time.Second,
|
||||
)
|
||||
t.Cleanup(cancel)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user