#!/usr/bin/env python3
"""
Simple test runner for candlestick bot
"""
import subprocess
import sys
import os

def run_simple_test():
    """Test with minimal environment"""
    cmd = [
        "/root/Hermes-Agent/.venv/bin/python3",
        "/root/quant_pipeline/candle_bot.py",
        "--dry-run"
    ]
    
    print("🚀 Testing candlestick bot v1.2")
    print("📊 Strategy: 只加不减")
    print("🧪 Mode: DRY RUN")
    print("=" * 60)
    
    try:
        # Set up environment
        env = os.environ.copy()
        # Set Python path to include our script directory
        pythonpath = env.get('PYTHONPATH', '')
        script_dir = '/root/quant_pipeline'
        
        # Remove problematic PYTHONPATH if it exists
        env.pop('PYTHONPATH', None)
        
        # Add our script directory
        env['PYTHONPATH'] = script_dir
        
        print(f"Running command: {' '.join(cmd)}")
        print(f"Environment PYTHONPATH: {env.get('PYTHONPATH')}")
        
        # Run with timeout
        result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, env=env)
        
        print("\n📋 RUN RESULT:")
        print(result.stdout)
        
        if result.stderr:
            print("\n⚠️  ERROR OUTPUT:")
            print(result.stderr)
        
        return result.returncode
        
    except subprocess.TimeoutExpired:
        print("\n⏰ TIMEOUT: Script took too long")
        return 1
    except Exception as e:
        print(f"\n❌ ERROR: {e}")
        import traceback
        traceback.print_exc()
        return 1

if __name__ == "__main__":
    print("🍺 Starting candlestick bot test...\n")
    
    exit_code = run_simple_test()
    
    print(f"\n📊 EXIT CODE: {exit_code}")
    if exit_code == 0:
        print("✅ Test completed successfully")
    else:
        print("❌ Test completed with errors")
    
    print("\nNext steps:")
    print("1. Check trading_log.json for transaction details")
    print("2. Check status.json for current account status")
    print("3. Review console output above for specific errors")