#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Run tests with OpenTelemetry instrumentation and export enabled, plus coverage measurement. This script is designed to be used with 'coverage run' command. """ import os import sys import django from django.conf import settings from django.test.utils import get_runner def main(): # Enable OpenTelemetry instrumentation and export os.environ["OTEL_EXPORT_ENABLED"] = "true" os.environ["OTEL_SERVICE_NAME"] = "ivatar-test" os.environ["OTEL_ENVIRONMENT"] = "test" print("Running tests with OpenTelemetry instrumentation and export enabled...") print("====================================================================") # Add current directory to Python path sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) # Setup Django os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ivatar.settings") django.setup() # Get Django test runner TestRunner = get_runner(settings) test_runner = TestRunner() # Run tests failures = test_runner.run_tests([]) if failures: print(f"Tests failed with {failures} failures") return 1 else: print("") print( "Tests completed successfully (OpenTelemetry instrumentation and export enabled)" ) return 0 if __name__ == "__main__": sys.exit(main())