""" Global pytest configuration for ITSulu Blog Publisher tests. Installs the addon into the test database before any test code runs. """ import subprocess import sys print(">>> conftest.py loaded", file=sys.stderr) def pytest_configure(config): """Install itsulu_blog_publisher into the test database.""" print(">>> pytest_configure hook called", file=sys.stderr) db_name = getattr(config.option, 'odoo_database', None) print(f">>> odoo_database option: {db_name}", file=sys.stderr) if not db_name: print(">>> No database name — skipping install", file=sys.stderr) return print(f"\n🚀 Installing itsulu_blog_publisher into {db_name}...", file=sys.stderr) cmd = [ 'odoo', '-d', db_name, '-i', 'itsulu_blog_publisher', '--without-demo=all', '--stop-after-init', ] try: result = subprocess.run(cmd, capture_output=True, text=True, timeout=120) if result.returncode == 0: print(f"✅ Addon installed successfully", file=sys.stderr) else: print(f"⚠️ Install returned {result.returncode}", file=sys.stderr) if result.stderr: print(f" STDERR: {result.stderr[-300:]}", file=sys.stderr) except subprocess.TimeoutExpired: print(f"⚠️ Install timed out (120s)", file=sys.stderr) except Exception as e: print(f"⚠️ Install error: {e}", file=sys.stderr)