Skip to content

Commit bd99f59

Browse files
committed
ci: solve upload to codecov
1 parent c117aeb commit bd99f59

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
run: uv sync --group test
5858

5959
- name: Run unit tests
60-
run: uv run pytest --cov -v --cov-report=term --cov-report=xml
60+
run: uv run pytest --cov --junitxml=junit.xml -o junit_family=legacy
6161

6262
- name: Upload test results to Codecov
6363
if: ${{ !cancelled() }}

junit.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="0" skipped="0" tests="67" time="0.337" timestamp="2025-08-03T14:02:24.768469+02:00" hostname="MBP-von-BA33812"><testcase classname="tests.test_config" name="test_configure_basic" file="../structlogger/tests/test_config.py" line="26" time="0.001" /><testcase classname="tests.test_config" name="test_configure_with_extra_fields" file="../structlogger/tests/test_config.py" line="44" time="0.000" /><testcase classname="tests.test_config" name="test_configure_invalid_format_type[invalid_format-Unsupported format type: invalid_format]" file="../structlogger/tests/test_config.py" line="56" time="0.001" /><testcase classname="tests.test_config" name="test_configure_invalid_format_type[xml-Unsupported format type: xml]" file="../structlogger/tests/test_config.py" line="56" time="0.000" /><testcase classname="tests.test_config" name="test_configure_invalid_handler_type[invalid_handler-Unsupported handler type: invalid_handler]" file="../structlogger/tests/test_config.py" line="69" time="0.000" /><testcase classname="tests.test_config" name="test_configure_invalid_handler_type[file-Unsupported handler type: file]" file="../structlogger/tests/test_config.py" line="69" time="0.000" /><testcase classname="tests.test_config" name="test_basic_config_alias" file="../structlogger/tests/test_config.py" line="82" time="0.000" /><testcase classname="tests.test_config" name="test_get_logger_auto_configures" file="../structlogger/tests/test_config.py" line="90" time="0.000" /><testcase classname="tests.test_config" name="test_get_logger_doesnt_reconfigure" file="../structlogger/tests/test_config.py" line="107" time="0.000" /><testcase classname="tests.test_config" name="test_reset_configuration" file="../structlogger/tests/test_config.py" line="119" time="0.000" /><testcase classname="tests.test_config" name="test_collect_env_fields_with_dict" file="../structlogger/tests/test_config.py" line="135" time="0.000" /><testcase classname="tests.test_config" name="test_collect_env_fields_missing_variable" file="../structlogger/tests/test_config.py" line="145" time="0.000" /><testcase classname="tests.test_config" name="test_collect_env_fields_with_prefix" file="../structlogger/tests/test_config.py" line="155" time="0.000" /><testcase classname="tests.test_config" name="test_collect_env_fields_combined" file="../structlogger/tests/test_config.py" line="164" time="0.000" /><testcase classname="tests.test_config" name="test_configure_with_env_fields" file="../structlogger/tests/test_config.py" line="176" time="0.000" /><testcase classname="tests.test_config" name="test_configure_with_env_prefix" file="../structlogger/tests/test_config.py" line="190" time="0.000" /><testcase classname="tests.test_config" name="test_configure_combines_extra_fields_and_env" file="../structlogger/tests/test_config.py" line="203" time="0.000" /><testcase classname="tests.test_config" name="test_configure_env_overrides_extra_fields" file="../structlogger/tests/test_config.py" line="219" time="0.000" /><testcase classname="tests.test_config" name="test_configure_timestamp_format[iso]" file="../structlogger/tests/test_config.py" line="235" time="0.000" /><testcase classname="tests.test_config" name="test_configure_timestamp_format[epoch]" file="../structlogger/tests/test_config.py" line="235" time="0.000" /><testcase classname="tests.test_config" name="test_multiple_configure_calls" file="../structlogger/tests/test_config.py" line="247" time="0.000" /><testcase classname="tests.test_context" name="test_bind_context_basic" file="../structlogger/tests/test_context.py" line="23" time="0.000" /><testcase classname="tests.test_context" name="test_bind_context_multiple_calls" file="../structlogger/tests/test_context.py" line="32" time="0.000" /><testcase classname="tests.test_context" name="test_bind_context_overwrites_existing" file="../structlogger/tests/test_context.py" line="42" time="0.000" /><testcase classname="tests.test_context" name="test_clear_context" file="../structlogger/tests/test_context.py" line="51" time="0.000" /><testcase classname="tests.test_context" name="test_get_context_returns_copy" file="../structlogger/tests/test_context.py" line="60" time="0.000" /><testcase classname="tests.test_context" name="test_update_context_alias" file="../structlogger/tests/test_context.py" line="76" time="0.000" /><testcase classname="tests.test_context" name="test_empty_context_initially" file="../structlogger/tests/test_context.py" line="84" time="0.000" /><testcase classname="tests.test_context" name="test_thread_local_isolation" file="../structlogger/tests/test_context.py" line="91" time="0.106" /><testcase classname="tests.test_context" name="test_thread_pool_isolation" file="../structlogger/tests/test_context.py" line="123" time="0.112" /><testcase classname="tests.test_context" name="test_context_survives_across_function_calls" file="../structlogger/tests/test_context.py" line="140" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[test-test]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[123-123]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[45.67-45.67]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[True-True]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[None-None]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[value5-expected5]" file="../structlogger/tests/test_context.py" line="155" time="0.001" /><testcase classname="tests.test_context" name="test_bind_context_with_various_types[value6-expected6]" file="../structlogger/tests/test_context.py" line="155" time="0.000" /><testcase classname="tests.test_context" name="test_context_with_empty_values" file="../structlogger/tests/test_context.py" line="175" time="0.001" /><testcase classname="tests.test_formatter" name="test_formatter_inheritance" file="../structlogger/tests/test_formatter.py" line="36" time="0.001" /><testcase classname="tests.test_formatter" name="test_basic_json_output" file="../structlogger/tests/test_formatter.py" line="41" time="0.002" /><testcase classname="tests.test_formatter" name="test_timestamp_formats[iso-str]" file="../structlogger/tests/test_formatter.py" line="58" time="0.000" /><testcase classname="tests.test_formatter" name="test_timestamp_formats[epoch-expected_type1]" file="../structlogger/tests/test_formatter.py" line="58" time="0.000" /><testcase classname="tests.test_formatter" name="test_extra_fields_in_formatter" file="../structlogger/tests/test_formatter.py" line="78" time="0.000" /><testcase classname="tests.test_formatter" name="test_structured_fields_in_context" file="../structlogger/tests/test_formatter.py" line="92" time="0.000" /><testcase classname="tests.test_formatter" name="test_context_combines_static_and_dynamic_fields" file="../structlogger/tests/test_formatter.py" line="107" time="0.000" /><testcase classname="tests.test_formatter" name="test_no_context_when_no_extra_fields" file="../structlogger/tests/test_formatter.py" line="124" time="0.001" /><testcase classname="tests.test_formatter" name="test_standard_fields_excluded_from_context" file="../structlogger/tests/test_formatter.py" line="133" time="0.001" /><testcase classname="tests.test_formatter" name="test_thread_local_context_integration" file="../structlogger/tests/test_formatter.py" line="146" time="0.001" /><testcase classname="tests.test_formatter" name="test_json_serialization_of_complex_types" file="../structlogger/tests/test_formatter.py" line="160" time="0.001" /><testcase classname="tests.test_formatter" name="test_format_timestamp_method" file="../structlogger/tests/test_formatter.py" line="185" time="0.000" /><testcase classname="tests.test_formatter" name="test_unicode_handling" file="../structlogger/tests/test_formatter.py" line="198" time="0.001" /><testcase classname="tests.test_logger" name="test_logger_inheritance" file="../structlogger/tests/test_logger.py" line="31" time="0.001" /><testcase classname="tests.test_logger" name="test_standard_logging_compatibility" file="../structlogger/tests/test_logger.py" line="37" time="0.001" /><testcase classname="tests.test_logger" name="test_structured_fields_in_extra" file="../structlogger/tests/test_logger.py" line="49" time="0.001" /><testcase classname="tests.test_logger" name="test_mixed_extra_and_structured_fields" file="../structlogger/tests/test_logger.py" line="62" time="0.001" /><testcase classname="tests.test_logger" name="test_structured_fields_override_extra" file="../structlogger/tests/test_logger.py" line="74" time="0.001" /><testcase classname="tests.test_logger" name="test_all_log_levels_support_structured_fields[debug-DEBUG]" file="../structlogger/tests/test_logger.py" line="86" time="0.001" /><testcase classname="tests.test_logger" name="test_all_log_levels_support_structured_fields[info-INFO]" file="../structlogger/tests/test_logger.py" line="86" time="0.001" /><testcase classname="tests.test_logger" name="test_all_log_levels_support_structured_fields[warning-WARNING]" file="../structlogger/tests/test_logger.py" line="86" time="0.001" /><testcase classname="tests.test_logger" name="test_all_log_levels_support_structured_fields[error-ERROR]" file="../structlogger/tests/test_logger.py" line="86" time="0.001" /><testcase classname="tests.test_logger" name="test_all_log_levels_support_structured_fields[critical-CRITICAL]" file="../structlogger/tests/test_logger.py" line="86" time="0.001" /><testcase classname="tests.test_logger" name="test_standard_logging_parameters_work" file="../structlogger/tests/test_logger.py" line="108" time="0.002" /><testcase classname="tests.test_logger" name="test_prepare_extra_with_none_extra" file="../structlogger/tests/test_logger.py" line="125" time="0.000" /><testcase classname="tests.test_logger" name="test_prepare_extra_with_existing_extra" file="../structlogger/tests/test_logger.py" line="131" time="0.000" /><testcase classname="tests.test_logger" name="test_prepare_extra_with_empty_struct_fields" file="../structlogger/tests/test_logger.py" line="142" time="0.000" /><testcase classname="tests.test_logger" name="test_prepare_extra_with_none_extra_and_empty_struct_fields" file="../structlogger/tests/test_logger.py" line="150" time="0.000" /></testsuite></testsuites>

0 commit comments

Comments
 (0)