mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-17 13:38:03 +00:00
- Replace subprocess call with direct Django test runner invocation - This allows coverage tool to properly track test execution - Use django.setup() and get_runner() to run tests directly - Coverage should now show proper test coverage instead of 1%
47 lines
1.1 KiB
Python
Executable File
47 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
Run tests with OpenTelemetry enabled and 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
|
|
os.environ["ENABLE_OPENTELEMETRY"] = "true"
|
|
os.environ["OTEL_ENABLED"] = "true"
|
|
os.environ["OTEL_SERVICE_NAME"] = "ivatar-test"
|
|
os.environ["OTEL_ENVIRONMENT"] = "test"
|
|
|
|
print("Running tests with OpenTelemetry enabled...")
|
|
print("==========================================")
|
|
|
|
# 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 enabled)")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main())
|