Files
mev-beta/.gemini/scripts/perf-test.sh
2025-09-14 10:09:55 -05:00

42 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# perf-test.sh - Run comprehensive performance tests for Gemini
echo "Running comprehensive performance tests for Gemini..."
# Create results directory if it doesn't exist
mkdir -p .gemini/results
# Run unit tests
echo "Running unit tests..."
go test -v ./... | tee .gemini/results/unit-tests.log
# Run concurrency tests
echo "Running concurrency tests..."
go test -v -run=Concurrent ./... | tee .gemini/results/concurrency-tests.log
# Run benchmarks
echo "Running benchmarks..."
go test -bench=. -benchmem ./... | tee .gemini/results/benchmarks.log
# Run benchmarks with CPU profiling
echo "Running benchmarks with CPU profiling..."
go test -bench=. -cpuprofile=.gemini/results/cpu.prof ./... | tee .gemini/results/cpu-bench.log
# Run benchmarks with memory profiling
echo "Running benchmarks with memory profiling..."
go test -bench=. -memprofile=.gemini/results/mem.prof ./... | tee .gemini/results/mem-bench.log
# Run benchmarks with goroutine profiling
echo "Running benchmarks with goroutine profiling..."
go test -bench=. -blockprofile=.gemini/results/block.prof ./... | tee .gemini/results/block-bench.log
# Check for errors
if [ $? -eq 0 ]; then
echo "All performance tests completed successfully!"
echo "Results saved to .gemini/results/"
else
echo "Some performance tests failed!"
echo "Check .gemini/results/ for details"
exit 1
fi