mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-15 19:56:39 +00:00
- Implement TestMain-based auto server management for all 13 S3 test suites - Fix import paths to use full module names instead of relative imports - Update Makefiles to use correct build targets and binary detection - Enhance testutil with improved binary discovery and credential handling - Fix test session creation to use explicit AWS credentials - Validate infrastructure with successful test execution - Update documentation with implementation details and usage instructions All S3 test suites now support: - make test-with-server: Auto-managed server lifecycle - make test-external: Use existing server (for CI/CD) - Consistent build and dependency checking - Proper error handling and logging
48 lines
1.5 KiB
Makefile
48 lines
1.5 KiB
Makefile
# Makefile for SeaweedFS S3 API versioning tests
|
|
# Tests auto-manage server via TestMain using weed mini
|
|
|
|
.PHONY: test test-quick test-stress test-external test-with-server clean check-deps build
|
|
|
|
# Build SeaweedFS binary if not exists
|
|
build:
|
|
@echo "Building SeaweedFS binary..."
|
|
@cd ../../../ && make install
|
|
@which weed > /dev/null 2>&1 || (echo "SeaweedFS binary not found in PATH" && exit 1)
|
|
|
|
# Check dependencies
|
|
check-deps: build
|
|
@which weed > /dev/null 2>&1 || (echo "SeaweedFS binary not found in PATH" && exit 1)
|
|
@echo "✅ Dependencies available"
|
|
|
|
# Run all tests (auto-manages weed mini server)
|
|
test: check-deps
|
|
@echo "Running all S3 versioning tests..."
|
|
@go test -v -timeout=15m ./...
|
|
|
|
# Run quick tests (excludes stress tests)
|
|
test-quick: check-deps
|
|
@echo "Running quick S3 versioning tests..."
|
|
@go test -v -timeout=10m -run "!(Stress)" ./...
|
|
|
|
# Run stress tests only
|
|
test-stress: check-deps
|
|
@echo "Running stress tests (may take several minutes)..."
|
|
@ENABLE_STRESS_TESTS=true go test -v -timeout=30m -run "Stress" ./...
|
|
|
|
# Run tests against external server
|
|
test-external: check-deps
|
|
@echo "Running tests against external server (USE_EXTERNAL_SERVER=true)..."
|
|
@USE_EXTERNAL_SERVER=true go test -v -timeout=15m ./...
|
|
|
|
# Run tests with auto-managed server (alias to test for CI/CD)
|
|
test-with-server: test
|
|
|
|
# Clean up test artifacts
|
|
clean:
|
|
@echo "Cleaning up test artifacts..."
|
|
@rm -f *.log *.pid
|
|
@rm -rf reports/
|
|
@rm -rf test-volume-data/
|
|
@go clean -testcache
|
|
@echo "✅ Cleanup completed"
|