Files
2025-11-07 15:27:13 +01:00
..
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00
2025-11-07 15:27:13 +01:00

Tests

This directory contains test scripts and utilities for the Echoes of the Ashes bot.

Performance Testing

test_performance.py

Performance testing script for background tasks. Generates realistic test data and measures actual performance.

Usage:

# Run inside Docker container
docker compose exec echoes_of_the_ashes_bot python tests/test_performance.py --players 1000 --combats 100 --items 500

# Test with existing data only (no generation)
docker compose exec echoes_of_the_ashes_bot python tests/test_performance.py --test-only

# Clean up test data
docker compose exec echoes_of_the_ashes_bot python tests/test_performance.py --cleanup

Options:

  • --players N - Number of test players to generate (default: 1000)
  • --combats N - Number of test combats to generate (default: 100)
  • --items N - Number of dropped items to generate (default: 500)
  • --test-only - Skip data generation, just run performance tests
  • --cleanup - Remove all test data and exit

What it tests:

  • Stamina regeneration performance (regenerate_all_players_stamina)
  • Combat timer checks (check_combat_timers)
  • Item decay cleanup (decay_dropped_items)

Expected Results:

  • 1,000 players: <0.1s total
  • 10,000 players: <1s total
  • 100,000 players: <2s total

Performance Ratings:

  • 🟢 EXCELLENT: <1s
  • 🟡 GOOD: 1-3s
  • 🟠 ACCEPTABLE: 3-10s
  • 🔴 SLOW: >10s

Future Tests

Additional test scripts can be added here:

  • Unit tests for bot handlers
  • Integration tests for game mechanics
  • Load testing for concurrent users
  • Database migration tests