Issues uploading code coverage to sonar cloud

I’m working on a rust project and want to upload the code coverage to sonarcloud, I have set up a GitHub action for transforming the coverage result to comply with sonar requirements, but when I run the pipeline, the sonar scanner throws an error when parsing the format. I have no clue what to do next.

GitHub repository with changes:

Error received

ERROR Error during parsing of the generic coverage report ‘/home/runner/work/photo-statistics/photo-statistics/cobertura.xml’. Look at SonarQube documentation to know the expected XML format.

latest job execution:

I’m using grcov for generating the coverage file in Cobertura XML format.

Cobertura XML file

<?xml version="1.0"?><!DOCTYPE  coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-04.dtd'><coverage lines-covered="342" lines-valid="368" line-rate="0.9293478260869565" branches-covered="0" branches-valid="0" branch-rate="0" complexity="0" version="1.9" timestamp="1739797131"><sources><source>/home/runner/work/photo-statistics/photo-statistics</source></sources><packages><package name="src/main.rs" line-rate="0.7" branch-rate="0" complexity="0"><classes><class name="main" filename="src/main.rs" line-rate="0.7" branch-rate="0" complexity="0"><methods><method name="photo_statistics::main::{closure#0}" signature="" line-rate="0.6538461538461539" branch-rate="0" complexity="0"><lines><line number="21" hits="4"/><line number="22" hits="3"/><line number="23" hits="3"/><line number="24" hits="3"/><line number="25" hits="3"/><line number="26" hits="3"/><line number="27" hits="3"/><line number="28" hits="3"/><line number="29" hits="3"/><line number="30" hits="3"/><line number="31" hits="3"/><line number="32" hits="3"/><line number="33" hits="3"/><line number="34" hits="3"/><line number="35" hits="3"/><line number="36" hits="3"/><line number="37" hits="0"/><line number="38" hits="0"/><line number="39" hits="0"/><line number="40" hits="0"/><line number="41" hits="0"/><line number="42" hits="0"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="0"/><line number="46" hits="3"/></lines></method><method name="photo_statistics::main" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="17" hits="3"/><line number="18" hits="3"/><line number="19" hits="3"/><line number="20" hits="3"/></lines></method><method name="photo_statistics::main::{closure#0}" signature="" line-rate="0.6538461538461539" branch-rate="0" complexity="0"><lines><line number="21" hits="4"/><line number="22" hits="3"/><line number="23" hits="3"/><line number="24" hits="3"/><line number="25" hits="3"/><line number="26" hits="3"/><line number="27" hits="3"/><line number="28" hits="3"/><line number="29" hits="3"/><line number="30" hits="3"/><line number="31" hits="3"/><line number="32" hits="3"/><line number="33" hits="3"/><line number="34" hits="3"/><line number="35" hits="3"/><line number="36" hits="3"/><line number="37" hits="0"/><line number="38" hits="0"/><line number="39" hits="0"/><line number="40" hits="0"/><line number="41" hits="0"/><line number="42" hits="0"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="0"/><line number="46" hits="3"/></lines></method><method name="photo_statistics::main" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="17" hits="3"/><line number="18" hits="3"/><line number="19" hits="3"/><line number="20" hits="3"/></lines></method></methods><lines><line number="17" hits="3"/><line number="18" hits="3"/><line number="19" hits="3"/><line number="20" hits="3"/><line number="21" hits="4"/><line number="22" hits="3"/><line number="23" hits="3"/><line number="24" hits="3"/><line number="25" hits="3"/><line number="26" hits="3"/><line number="27" hits="3"/><line number="28" hits="3"/><line number="29" hits="3"/><line number="30" hits="3"/><line number="31" hits="3"/><line number="32" hits="3"/><line number="33" hits="3"/><line number="34" hits="3"/><line number="35" hits="3"/><line number="36" hits="3"/><line number="37" hits="0"/><line number="38" hits="0"/><line number="39" hits="0"/><line number="40" hits="0"/><line number="41" hits="0"/><line number="42" hits="0"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="0"/><line number="46" hits="3"/></lines></class></classes></package><package name="src/utils.rs" line-rate="1" branch-rate="0" complexity="0"><classes><class name="utils" filename="src/utils.rs" line-rate="1" branch-rate="0" complexity="0"><methods><method name="photo_statistics::utils::normalize_focal_length" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="1" hits="24"/><line number="2" hits="24"/><line number="3" hits="10"/><line number="4" hits="10"/><line number="5" hits="10"/><line number="6" hits="10"/><line number="7" hits="10"/><line number="8" hits="10"/><line number="9" hits="10"/><line number="10" hits="8"/><line number="11" hits="6"/><line number="13" hits="2"/><line number="15" hits="2"/><line number="16" hits="14"/><line number="17" hits="16"/><line number="18" hits="24"/></lines></method><method name="photo_statistics::utils::normalize_white_balance" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="20" hits="24"/><line number="21" hits="24"/><line number="22" hits="24"/><line number="23" hits="24"/><line number="24" hits="20"/><line number="25" hits="18"/><line number="26" hits="18"/><line number="27" hits="18"/><line number="28" hits="18"/><line number="29" hits="18"/><line number="31" hits="24"/></lines></method><method name="photo_statistics::utils::normalize_focal_length" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="1" hits="24"/><line number="2" hits="24"/><line number="3" hits="10"/><line number="4" hits="10"/><line number="5" hits="10"/><line number="6" hits="10"/><line number="7" hits="10"/><line number="8" hits="10"/><line number="9" hits="10"/><line number="10" hits="8"/><line number="11" hits="6"/><line number="13" hits="2"/><line number="15" hits="2"/><line number="16" hits="14"/><line number="17" hits="16"/><line number="18" hits="24"/></lines></method><method name="photo_statistics::utils::normalize_white_balance" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="20" hits="24"/><line number="21" hits="24"/><line number="22" hits="24"/><line number="23" hits="24"/><line number="24" hits="20"/><line number="25" hits="18"/><line number="26" hits="18"/><line number="27" hits="18"/><line number="28" hits="18"/><line number="29" hits="18"/><line number="31" hits="24"/></lines></method><method name="photo_statistics::utils::tests::test_normalize_focal_length" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="38" hits="2"/><line number="39" hits="2"/><line number="40" hits="2"/><line number="41" hits="2"/><line number="42" hits="2"/><line number="43" hits="2"/><line number="44" hits="2"/></lines></method><method name="photo_statistics::utils::tests::test_normalize_white_balance" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="47" hits="2"/><line number="48" hits="2"/><line number="49" hits="2"/><line number="50" hits="2"/><line number="51" hits="2"/><line number="52" hits="2"/><line number="53" hits="2"/></lines></method></methods><lines><line number="1" hits="24"/><line number="2" hits="24"/><line number="3" hits="10"/><line number="4" hits="10"/><line number="5" hits="10"/><line number="6" hits="10"/><line number="7" hits="10"/><line number="8" hits="10"/><line number="9" hits="10"/><line number="10" hits="8"/><line number="11" hits="6"/><line number="13" hits="2"/><line number="15" hits="2"/><line number="16" hits="14"/><line number="17" hits="16"/><line number="18" hits="24"/><line number="20" hits="24"/><line number="21" hits="24"/><line number="22" hits="24"/><line number="23" hits="24"/><line number="24" hits="20"/><line number="25" hits="18"/><line number="26" hits="18"/><line number="27" hits="18"/><line number="28" hits="18"/><line number="29" hits="18"/><line number="31" hits="24"/><line number="38" hits="2"/><line number="39" hits="2"/><line number="40" hits="2"/><line number="41" hits="2"/><line number="42" hits="2"/><line number="43" hits="2"/><line number="44" hits="2"/><line number="47" hits="2"/><line number="48" hits="2"/><line number="49" hits="2"/><line number="50" hits="2"/><line number="51" hits="2"/><line number="52" hits="2"/><line number="53" hits="2"/></lines></class></classes></package><package name="src/worker.rs" line-rate="0.631578947368421" branch-rate="0" complexity="0"><classes><class name="worker" filename="src/worker.rs" line-rate="0.631578947368421" branch-rate="0" complexity="0"><methods><method name="photo_statistics::worker::process_files_in_parallel::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="12" hits="3"/><line number="13" hits="2"/><line number="15" hits="2"/></lines></method><method name="photo_statistics::worker::process_files_in_parallel::{closure#0}::{closure#0}" signature="" line-rate="0.2222222222222222" branch-rate="0" complexity="0"><lines><line number="16" hits="0"/><line number="17" hits="0"/><line number="18" hits="0"/><line number="19" hits="0"/><line number="20" hits="0"/><line number="21" hits="0"/><line number="22" hits="0"/><line number="24" hits="3"/><line number="25" hits="2"/></lines></method><method name="photo_statistics::worker::process_files_in_parallel" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/></lines></method><method name="photo_statistics::worker::test_worker_parallel_processing" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="28" hits="2"/><line number="29" hits="2"/><line number="30" hits="2"/><line number="31" hits="2"/></lines></method><method name="photo_statistics::worker::process_files_in_parallel::{closure#0}::{closure#0}" signature="" line-rate="0.2222222222222222" branch-rate="0" complexity="0"><lines><line number="16" hits="0"/><line number="17" hits="0"/><line number="18" hits="0"/><line number="19" hits="0"/><line number="20" hits="0"/><line number="21" hits="0"/><line number="22" hits="0"/><line number="24" hits="3"/><line number="25" hits="2"/></lines></method><method name="photo_statistics::worker::process_files_in_parallel::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="12" hits="3"/><line number="13" hits="2"/><line number="15" hits="2"/></lines></method><method name="photo_statistics::worker::process_files_in_parallel" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/></lines></method></methods><lines><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="3"/><line number="13" hits="2"/><line number="15" hits="2"/><line number="16" hits="0"/><line number="17" hits="0"/><line number="18" hits="0"/><line number="19" hits="0"/><line number="20" hits="0"/><line number="21" hits="0"/><line number="22" hits="0"/><line number="24" hits="3"/><line number="25" hits="2"/><line number="28" hits="2"/><line number="29" hits="2"/><line number="30" hits="2"/><line number="31" hits="2"/></lines></class></classes></package><package name="src/statistics.rs" line-rate="0.9764705882352941" branch-rate="0" complexity="0"><classes><class name="statistics" filename="src/statistics.rs" line-rate="0.9764705882352941" branch-rate="0" complexity="0"><methods><method name="photo_statistics::statistics::tests::test_handle_null_dates::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="95" hits="3"/><line number="96" hits="2"/><line number="97" hits="2"/><line number="98" hits="2"/><line number="99" hits="2"/><line number="100" hits="2"/><line number="101" hits="2"/></lines></method><method name="photo_statistics::statistics::tests::test_handle_null_dates" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="87" hits="2"/><line number="88" hits="2"/><line number="89" hits="2"/><line number="90" hits="2"/><line number="91" hits="2"/><line number="92" hits="2"/><line number="93" hits="2"/><line number="94" hits="2"/></lines></method><method name="photo_statistics::statistics::generate_statistics" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="2"/><line number="27" hits="2"/><line number="29" hits="20"/><line number="30" hits="18"/><line number="31" hits="18"/></lines></method><method name="photo_statistics::statistics::generate_statistics::{closure#0}" signature="" line-rate="0.8571428571428571" branch-rate="0" complexity="0"><lines><line number="32" hits="18"/><line number="33" hits="18"/><line number="34" hits="18"/><line number="35" hits="18"/><line number="36" hits="18"/><line number="37" hits="18"/><line number="38" hits="18"/><line number="40" hits="20"/><line number="41" hits="18"/><line number="42" hits="18"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="18"/><line number="47" hits="2"/></lines></method><method name="photo_statistics::statistics::tests::test_photo_count_by_year::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="77" hits="5"/><line number="78" hits="2"/><line number="79" hits="2"/><line number="80" hits="2"/><line number="81" hits="2"/><line number="82" hits="2"/><line number="83" hits="2"/><line number="84" hits="2"/></lines></method><method name="photo_statistics::statistics::tests::test_photo_count_by_year" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="65" hits="2"/><line number="66" hits="2"/><line number="67" hits="2"/><line number="68" hits="2"/><line number="69" hits="2"/><line number="70" hits="2"/><line number="71" hits="2"/><line number="72" hits="2"/><line number="73" hits="2"/><line number="74" hits="2"/><line number="75" hits="2"/><line number="76" hits="2"/></lines></method><method name="photo_statistics::statistics::generate_statistics" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="2"/><line number="27" hits="2"/><line number="29" hits="20"/><line number="30" hits="18"/><line number="31" hits="18"/></lines></method><method name="photo_statistics::statistics::tests::setup_test_db" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="58" hits="6"/><line number="59" hits="6"/><line number="60" hits="6"/><line number="61" hits="6"/><line number="62" hits="6"/></lines></method><method name="photo_statistics::statistics::generate_statistics::{closure#0}" signature="" line-rate="0.8571428571428571" branch-rate="0" complexity="0"><lines><line number="32" hits="18"/><line number="33" hits="18"/><line number="34" hits="18"/><line number="35" hits="18"/><line number="36" hits="18"/><line number="37" hits="18"/><line number="38" hits="18"/><line number="40" hits="20"/><line number="41" hits="18"/><line number="42" hits="18"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="18"/><line number="47" hits="2"/></lines></method><method name="photo_statistics::statistics::tests::test_empty_statistics" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="104" hits="2"/><line number="105" hits="2"/><line number="106" hits="2"/><line number="107" hits="2"/><line number="108" hits="2"/></lines></method></methods><lines><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="2"/><line number="27" hits="2"/><line number="29" hits="20"/><line number="30" hits="18"/><line number="31" hits="18"/><line number="32" hits="18"/><line number="33" hits="18"/><line number="34" hits="18"/><line number="35" hits="18"/><line number="36" hits="18"/><line number="37" hits="18"/><line number="38" hits="18"/><line number="40" hits="20"/><line number="41" hits="18"/><line number="42" hits="18"/><line number="43" hits="0"/><line number="44" hits="0"/><line number="45" hits="18"/><line number="47" hits="2"/><line number="58" hits="6"/><line number="59" hits="6"/><line number="60" hits="6"/><line number="61" hits="6"/><line number="62" hits="6"/><line number="65" hits="2"/><line number="66" hits="2"/><line number="67" hits="2"/><line number="68" hits="2"/><line number="69" hits="2"/><line number="70" hits="2"/><line number="71" hits="2"/><line number="72" hits="2"/><line number="73" hits="2"/><line number="74" hits="2"/><line number="75" hits="2"/><line number="76" hits="2"/><line number="77" hits="5"/><line number="78" hits="2"/><line number="79" hits="2"/><line number="80" hits="2"/><line number="81" hits="2"/><line number="82" hits="2"/><line number="83" hits="2"/><line number="84" hits="2"/><line number="87" hits="2"/><line number="88" hits="2"/><line number="89" hits="2"/><line number="90" hits="2"/><line number="91" hits="2"/><line number="92" hits="2"/><line number="93" hits="2"/><line number="94" hits="2"/><line number="95" hits="3"/><line number="96" hits="2"/><line number="97" hits="2"/><line number="98" hits="2"/><line number="99" hits="2"/><line number="100" hits="2"/><line number="101" hits="2"/><line number="104" hits="2"/><line number="105" hits="2"/><line number="106" hits="2"/><line number="107" hits="2"/><line number="108" hits="2"/></lines></class></classes></package><package name="src/database.rs" line-rate="0.984375" branch-rate="0" complexity="0"><classes><class name="database" filename="src/database.rs" line-rate="0.984375" branch-rate="0" complexity="0"><methods><method name="photo_statistics::database::format_date" signature="" line-rate="0.6666666666666666" branch-rate="0" complexity="0"><lines><line number="63" hits="8"/><line number="64" hits="8"/><line number="65" hits="8"/><line number="66" hits="0"/><line number="67" hits="0"/><line number="68" hits="8"/></lines></method><method name="photo_statistics::database::tests::setup_test_db" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="76" hits="6"/><line number="77" hits="6"/><line number="78" hits="6"/><line number="79" hits="6"/><line number="80" hits="6"/></lines></method><method name="photo_statistics::database::tests::test_insert_null_metadata::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="136" hits="3"/><line number="137" hits="2"/><line number="138" hits="2"/><line number="139" hits="2"/><line number="140" hits="2"/></lines></method><method name="photo_statistics::database::tests::test_insert_metadata" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="96" hits="2"/><line number="97" hits="2"/><line number="98" hits="2"/><line number="99" hits="2"/><line number="100" hits="2"/><line number="101" hits="2"/><line number="102" hits="2"/><line number="103" hits="2"/><line number="104" hits="2"/><line number="105" hits="2"/><line number="106" hits="2"/><line number="107" hits="2"/><line number="108" hits="2"/><line number="109" hits="2"/><line number="110" hits="2"/><line number="111" hits="2"/><line number="112" hits="2"/><line number="113" hits="2"/><line number="114" hits="2"/><line number="115" hits="2"/><line number="116" hits="2"/><line number="117" hits="2"/><line number="118" hits="2"/></lines></method><method name="photo_statistics::database::tests::test_insert_null_metadata" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="126" hits="2"/><line number="127" hits="2"/><line number="128" hits="2"/><line number="129" hits="2"/><line number="130" hits="2"/><line number="131" hits="2"/><line number="132" hits="2"/><line number="133" hits="2"/><line number="134" hits="2"/><line number="135" hits="2"/></lines></method><method name="photo_statistics::database::tests::test_create_tables::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="89" hits="3"/><line number="90" hits="2"/><line number="91" hits="2"/><line number="92" hits="2"/><line number="93" hits="2"/></lines></method><method name="photo_statistics::database::format_date" signature="" line-rate="0.6666666666666666" branch-rate="0" complexity="0"><lines><line number="63" hits="8"/><line number="64" hits="8"/><line number="65" hits="8"/><line number="66" hits="0"/><line number="67" hits="0"/><line number="68" hits="8"/></lines></method><method name="photo_statistics::database::create_tables_if_needed" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="6" hits="17"/><line number="7" hits="17"/><line number="8" hits="17"/><line number="9" hits="17"/><line number="10" hits="17"/><line number="11" hits="17"/><line number="12" hits="17"/><line number="13" hits="17"/><line number="14" hits="17"/><line number="15" hits="17"/><line number="16" hits="17"/><line number="17" hits="17"/><line number="18" hits="17"/><line number="19" hits="17"/><line number="20" hits="17"/><line number="21" hits="17"/><line number="22" hits="17"/><line number="23" hits="17"/><line number="24" hits="17"/><line number="25" hits="17"/><line number="26" hits="17"/><line number="27" hits="17"/><line number="28" hits="17"/><line number="29" hits="17"/></lines></method><method name="photo_statistics::database::tests::test_create_tables" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="83" hits="2"/><line number="84" hits="2"/><line number="85" hits="2"/><line number="86" hits="2"/><line number="87" hits="2"/><line number="88" hits="2"/></lines></method><method name="photo_statistics::database::insert_metadata" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="31" hits="14"/><line number="32" hits="14"/><line number="33" hits="14"/><line number="34" hits="14"/><line number="35" hits="14"/><line number="36" hits="14"/><line number="37" hits="14"/><line number="38" hits="14"/><line number="39" hits="14"/><line number="40" hits="14"/><line number="41" hits="14"/><line number="42" hits="14"/><line number="43" hits="14"/><line number="44" hits="14"/><line number="45" hits="14"/><line number="46" hits="14"/><line number="47" hits="14"/><line number="48" hits="14"/><line number="49" hits="14"/><line number="50" hits="14"/><line number="51" hits="14"/><line number="52" hits="14"/><line number="53" hits="14"/><line number="54" hits="14"/><line number="55" hits="14"/><line number="56" hits="14"/><line number="57" hits="14"/><line number="58" hits="14"/><line number="59" hits="14"/><line number="60" hits="12"/><line number="61" hits="14"/></lines></method><method name="photo_statistics::database::tests::test_insert_metadata::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="119" hits="3"/><line number="120" hits="2"/><line number="121" hits="2"/><line number="122" hits="2"/><line number="123" hits="2"/></lines></method><method name="photo_statistics::database::insert_metadata" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="31" hits="14"/><line number="32" hits="14"/><line number="33" hits="14"/><line number="34" hits="14"/><line number="35" hits="14"/><line number="36" hits="14"/><line number="37" hits="14"/><line number="38" hits="14"/><line number="39" hits="14"/><line number="40" hits="14"/><line number="41" hits="14"/><line number="42" hits="14"/><line number="43" hits="14"/><line number="44" hits="14"/><line number="45" hits="14"/><line number="46" hits="14"/><line number="47" hits="14"/><line number="48" hits="14"/><line number="49" hits="14"/><line number="50" hits="14"/><line number="51" hits="14"/><line number="52" hits="14"/><line number="53" hits="14"/><line number="54" hits="14"/><line number="55" hits="14"/><line number="56" hits="14"/><line number="57" hits="14"/><line number="58" hits="14"/><line number="59" hits="14"/><line number="60" hits="12"/><line number="61" hits="14"/></lines></method><method name="photo_statistics::database::tests::test_db_error_handling" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="143" hits="2"/><line number="144" hits="2"/><line number="145" hits="2"/><line number="146" hits="2"/><line number="147" hits="2"/><line number="148" hits="2"/><line number="149" hits="2"/><line number="150" hits="2"/></lines></method><method name="photo_statistics::database::create_tables_if_needed" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="6" hits="17"/><line number="7" hits="17"/><line number="8" hits="17"/><line number="9" hits="17"/><line number="10" hits="17"/><line number="11" hits="17"/><line number="12" hits="17"/><line number="13" hits="17"/><line number="14" hits="17"/><line number="15" hits="17"/><line number="16" hits="17"/><line number="17" hits="17"/><line number="18" hits="17"/><line number="19" hits="17"/><line number="20" hits="17"/><line number="21" hits="17"/><line number="22" hits="17"/><line number="23" hits="17"/><line number="24" hits="17"/><line number="25" hits="17"/><line number="26" hits="17"/><line number="27" hits="17"/><line number="28" hits="17"/><line number="29" hits="17"/></lines></method></methods><lines><line number="6" hits="17"/><line number="7" hits="17"/><line number="8" hits="17"/><line number="9" hits="17"/><line number="10" hits="17"/><line number="11" hits="17"/><line number="12" hits="17"/><line number="13" hits="17"/><line number="14" hits="17"/><line number="15" hits="17"/><line number="16" hits="17"/><line number="17" hits="17"/><line number="18" hits="17"/><line number="19" hits="17"/><line number="20" hits="17"/><line number="21" hits="17"/><line number="22" hits="17"/><line number="23" hits="17"/><line number="24" hits="17"/><line number="25" hits="17"/><line number="26" hits="17"/><line number="27" hits="17"/><line number="28" hits="17"/><line number="29" hits="17"/><line number="31" hits="14"/><line number="32" hits="14"/><line number="33" hits="14"/><line number="34" hits="14"/><line number="35" hits="14"/><line number="36" hits="14"/><line number="37" hits="14"/><line number="38" hits="14"/><line number="39" hits="14"/><line number="40" hits="14"/><line number="41" hits="14"/><line number="42" hits="14"/><line number="43" hits="14"/><line number="44" hits="14"/><line number="45" hits="14"/><line number="46" hits="14"/><line number="47" hits="14"/><line number="48" hits="14"/><line number="49" hits="14"/><line number="50" hits="14"/><line number="51" hits="14"/><line number="52" hits="14"/><line number="53" hits="14"/><line number="54" hits="14"/><line number="55" hits="14"/><line number="56" hits="14"/><line number="57" hits="14"/><line number="58" hits="14"/><line number="59" hits="14"/><line number="60" hits="12"/><line number="61" hits="14"/><line number="63" hits="8"/><line number="64" hits="8"/><line number="65" hits="8"/><line number="66" hits="0"/><line number="67" hits="0"/><line number="68" hits="8"/><line number="76" hits="6"/><line number="77" hits="6"/><line number="78" hits="6"/><line number="79" hits="6"/><line number="80" hits="6"/><line number="83" hits="2"/><line number="84" hits="2"/><line number="85" hits="2"/><line number="86" hits="2"/><line number="87" hits="2"/><line number="88" hits="2"/><line number="89" hits="3"/><line number="90" hits="2"/><line number="91" hits="2"/><line number="92" hits="2"/><line number="93" hits="2"/><line number="96" hits="2"/><line number="97" hits="2"/><line number="98" hits="2"/><line number="99" hits="2"/><line number="100" hits="2"/><line number="101" hits="2"/><line number="102" hits="2"/><line number="103" hits="2"/><line number="104" hits="2"/><line number="105" hits="2"/><line number="106" hits="2"/><line number="107" hits="2"/><line number="108" hits="2"/><line number="109" hits="2"/><line number="110" hits="2"/><line number="111" hits="2"/><line number="112" hits="2"/><line number="113" hits="2"/><line number="114" hits="2"/><line number="115" hits="2"/><line number="116" hits="2"/><line number="117" hits="2"/><line number="118" hits="2"/><line number="119" hits="3"/><line number="120" hits="2"/><line number="121" hits="2"/><line number="122" hits="2"/><line number="123" hits="2"/><line number="126" hits="2"/><line number="127" hits="2"/><line number="128" hits="2"/><line number="129" hits="2"/><line number="130" hits="2"/><line number="131" hits="2"/><line number="132" hits="2"/><line number="133" hits="2"/><line number="134" hits="2"/><line number="135" hits="2"/><line number="136" hits="3"/><line number="137" hits="2"/><line number="138" hits="2"/><line number="139" hits="2"/><line number="140" hits="2"/><line number="143" hits="2"/><line number="144" hits="2"/><line number="145" hits="2"/><line number="146" hits="2"/><line number="147" hits="2"/><line number="148" hits="2"/><line number="149" hits="2"/><line number="150" hits="2"/></lines></class></classes></package><package name="src/exiftool.rs" line-rate="0.8421052631578947" branch-rate="0" complexity="0"><classes><class name="exiftool" filename="src/exiftool.rs" line-rate="0.8421052631578947" branch-rate="0" complexity="0"><methods><method name="photo_statistics::exiftool::run_exiftool" signature="" line-rate="0.3333333333333333" branch-rate="0" complexity="0"><lines><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="0"/><line number="28" hits="0"/><line number="29" hits="0"/><line number="30" hits="0"/><line number="31" hits="0"/><line number="33" hits="0"/><line number="34" hits="2"/></lines></method><method name="photo_statistics::exiftool::execute_exiftool" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="4" hits="2"/><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/></lines></method><method name="photo_statistics::exiftool::tests::test_run_exiftool_success" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="41" hits="2"/><line number="42" hits="2"/><line number="43" hits="2"/><line number="44" hits="2"/></lines></method><method name="photo_statistics::exiftool::tests::test_run_exiftool_fail" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="47" hits="2"/><line number="48" hits="2"/><line number="49" hits="2"/><line number="50" hits="2"/><line number="51" hits="2"/></lines></method><method name="photo_statistics::exiftool::execute_exiftool" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="4" hits="2"/><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/></lines></method><method name="photo_statistics::exiftool::run_exiftool" signature="" line-rate="0.3333333333333333" branch-rate="0" complexity="0"><lines><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="0"/><line number="28" hits="0"/><line number="29" hits="0"/><line number="30" hits="0"/><line number="31" hits="0"/><line number="33" hits="0"/><line number="34" hits="2"/></lines></method></methods><lines><line number="4" hits="2"/><line number="5" hits="2"/><line number="6" hits="2"/><line number="7" hits="2"/><line number="8" hits="2"/><line number="9" hits="2"/><line number="10" hits="2"/><line number="11" hits="2"/><line number="12" hits="2"/><line number="13" hits="2"/><line number="14" hits="2"/><line number="15" hits="2"/><line number="16" hits="2"/><line number="17" hits="2"/><line number="18" hits="2"/><line number="19" hits="2"/><line number="20" hits="2"/><line number="21" hits="2"/><line number="22" hits="2"/><line number="23" hits="2"/><line number="24" hits="2"/><line number="25" hits="2"/><line number="26" hits="0"/><line number="28" hits="0"/><line number="29" hits="0"/><line number="30" hits="0"/><line number="31" hits="0"/><line number="33" hits="0"/><line number="34" hits="2"/><line number="41" hits="2"/><line number="42" hits="2"/><line number="43" hits="2"/><line number="44" hits="2"/><line number="47" hits="2"/><line number="48" hits="2"/><line number="49" hits="2"/><line number="50" hits="2"/><line number="51" hits="2"/></lines></class></classes></package><package name="src/files.rs" line-rate="1" branch-rate="0" complexity="0"><classes><class name="files" filename="src/files.rs" line-rate="1" branch-rate="0" complexity="0"><methods><method name="photo_statistics::files::scan_directory" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="7" hits="7"/><line number="8" hits="7"/><line number="9" hits="7"/><line number="11" hits="3936"/><line number="13" hits="3936"/></lines></method><method name="photo_statistics::files::tests::test_scan_directory" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="32" hits="2"/><line number="33" hits="2"/><line number="34" hits="2"/><line number="35" hits="2"/><line number="36" hits="2"/><line number="37" hits="2"/><line number="38" hits="2"/><line number="39" hits="2"/><line number="40" hits="2"/></lines></method><method name="photo_statistics::files::scan_directory" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="7" hits="7"/><line number="8" hits="7"/><line number="9" hits="7"/><line number="11" hits="3936"/><line number="13" hits="3936"/></lines></method><method name="photo_statistics::files::scan_directory::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="15" hits="4148"/><line number="16" hits="2465"/><line number="17" hits="2"/><line number="18" hits="2465"/><line number="19" hits="861"/><line number="20" hits="610"/><line number="22" hits="7"/><line number="23" hits="7"/></lines></method><method name="photo_statistics::files::scan_directory::{closure#0}" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="15" hits="4148"/><line number="16" hits="2465"/><line number="17" hits="2"/><line number="18" hits="2465"/><line number="19" hits="861"/><line number="20" hits="610"/><line number="22" hits="7"/><line number="23" hits="7"/></lines></method><method name="photo_statistics::files::tests::test_scan_directory_no_images" signature="" line-rate="1" branch-rate="0" complexity="0"><lines><line number="43" hits="2"/><line number="44" hits="2"/><line number="45" hits="2"/><line number="46" hits="2"/><line number="47" hits="2"/></lines></method></methods><lines><line number="7" hits="7"/><line number="8" hits="7"/><line number="9" hits="7"/><line number="11" hits="3936"/><line number="13" hits="3936"/><line number="15" hits="4148"/><line number="16" hits="2465"/><line number="17" hits="2"/><line number="18" hits="2465"/><line number="19" hits="861"/><line number="20" hits="610"/><line number="22" hits="7"/><line number="23" hits="7"/><line number="32" hits="2"/><line number="33" hits="2"/><line number="34" hits="2"/><line number="35" hits="2"/><line number="36" hits="2"/><line number="37" hits="2"/><line number="38" hits="2"/><line number="39" hits="2"/><line number="40" hits="2"/><line number="43" hits="2"/><line number="44" hits="2"/><line number="45" hits="2"/><line number="46" hits="2"/><line number="47" hits="2"/></lines></class></classes></package></packages></coverage>

Hey there.

It looks like you’re trying to analyze Rust code. Rust isn’t supported by SonarQube (Server or Cloud). It’s coming soon though, so please keep an eye on our roadmap and Sonar Updates!

Even if you were able to generate a coverage report in the right format, you wouldn’t be able to attach coverage data to files that SonarQube can’t analyze.

What coverage tools do you use? It would be great to know as we develop our Rust support!

Hi Colin, thanks for your comment. I thought that I could be able to skip code analysis until it’s supported and have the code coverage report there.

I’m using grcov, which is a rust tool for generating diverse coverage formats, cobertura among them