Skip to content

Refactoring to support dynamic loading of backtesting sweeps - #56

Merged
mccaffers merged 1 commit into
mainfrom
55-featrefactor-to-support-dynamic-loading-of-sweeps
Jul 6, 2026
Merged

Refactoring to support dynamic loading of backtesting sweeps#56
mccaffers merged 1 commit into
mainfrom
55-featrefactor-to-support-dynamic-loading-of-sweeps

Refactoring to support dynamic loading of backtesting sweeps

6a25cd5
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jul 3, 2026 in 2m 52s

Quality Gate failed

Failed conditions
6.5% Coverage on New Code (required ≥ 80%)
D Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check warning on line 84 in source/ingest/udpReceiver.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

"catch" a specific exception type.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rNzhkku3m0Xpi3&open=AZ8p_-rNzhkku3m0Xpi3&pullRequest=56

Check failure on line 190 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi9&open=AZ8p_-rlzhkku3m0Xpi9&pullRequest=56

Check warning on line 18 in source/run/reporting/tradingResults.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "std::string" instead of a C-style char array.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qvzhkku3m0Xpi1&open=AZ8p_-qvzhkku3m0Xpi1&pullRequest=56

Check warning on line 65 in source/shared/utilities/backtestLog.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "std::string" instead of a C-style char array.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-ouzhkku3m0Xpil&open=AZ8p_-ouzhkku3m0Xpil&pullRequest=56

Check warning on line 50 in source/shared/utilities/env.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "contains" instead of "find".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-pQzhkku3m0Xpio&open=AZ8p_-pQzhkku3m0Xpio&pullRequest=56

Check failure on line 23 in source/shared/utilities/env.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Global pointers should be const at every level.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-pQzhkku3m0Xpim&open=AZ8p_-pQzhkku3m0Xpim&pullRequest=56

Check warning on line 66 in source/shared/utilities/backtestLog.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "std::format" or "std::format_to_n" instead of "snprintf".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-ouzhkku3m0Xpij&open=AZ8p_-ouzhkku3m0Xpij&pullRequest=56

Check failure on line 62 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "void *" with a more meaningful type.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi_&open=AZ8p_-rlzhkku3m0Xpi_&pullRequest=56

Check failure on line 48 in source/shared/ipc/engineControl.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-puzhkku3m0Xpir&open=AZ8p_-puzhkku3m0Xpir&pullRequest=56

Check failure on line 157 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi7&open=AZ8p_-rlzhkku3m0Xpi7&pullRequest=56

Check warning on line 65 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use the init-statement to declare "body" inside the if statement.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi4&open=AZ8p_-rlzhkku3m0Xpi4&pullRequest=56

Check warning on line 53 in source/run/queue/drainRuns.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Catch a more specific exception instead of a generic one.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qbzhkku3m0Xpix&open=AZ8p_-qbzhkku3m0Xpix&pullRequest=56

Check warning on line 61 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this parameter a pointer-to-const. The current type of "ptr" is "char *".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi5&open=AZ8p_-rlzhkku3m0Xpi5&pullRequest=56

Check failure on line 58 in source/shared/ipc/engineControl.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make sure publicly writable directories are used safely here.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-pmzhkku3m0Xpiq&open=AZ8p_-pmzhkku3m0Xpiq&pullRequest=56

Check warning on line 175 in source/load/redisLoader.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Catch a more specific exception instead of a generic one.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-mQzhkku3m0Xpih&open=AZ8p_-mQzhkku3m0Xpih&pullRequest=56

Check failure on line 39 in source/run/queue/drainRuns.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this coroutine to reduce its Cognitive Complexity from 33 to the 25 allowed.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qbzhkku3m0Xpiv&open=AZ8p_-qbzhkku3m0Xpiv&pullRequest=56

Check failure on line 58 in source/run/queue/drainRuns.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qbzhkku3m0Xpiz&open=AZ8p_-qbzhkku3m0Xpiz&pullRequest=56

Check warning on line 81 in source/ingest/udpReceiver.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Catch a more specific exception instead of a generic one.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rNzhkku3m0Xpi2&open=AZ8p_-rNzhkku3m0Xpi2&pullRequest=56

Check warning on line 151 in source/shared/redis/operations/redisOperations.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "emplace" with "try_emplace".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-p3zhkku3m0Xpiu&open=AZ8p_-p3zhkku3m0Xpiu&pullRequest=56

Check warning on line 47 in source/shared/utilities/env.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace with the version of "std::ranges::transform" that takes a range.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-pQzhkku3m0Xpin&open=AZ8p_-pQzhkku3m0Xpin&pullRequest=56

Check warning on line 125 in source/run/queue/drainRuns.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Reduce the number of nested "break" statements from 2 to 1 authorized.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qbzhkku3m0Xpi0&open=AZ8p_-qbzhkku3m0Xpi0&pullRequest=56

Check warning on line 155 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this const reference to "std::string" by a "std::string_view".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi6&open=AZ8p_-rlzhkku3m0Xpi6&pullRequest=56

Check warning on line 64 in source/shared/utilities/backtestLog.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this use of "strftime" with equivalent code using "std::chrono".

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-ouzhkku3m0Xpii&open=AZ8p_-ouzhkku3m0Xpii&pullRequest=56

Check warning on line 50 in source/run/queue/drainRuns.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Extract this nested try block into a separate method.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-qbzhkku3m0Xpiw&open=AZ8p_-qbzhkku3m0Xpiw&pullRequest=56

Check failure on line 237 in source/ingest/questdbIngestClient.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order::seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=mccaffers_backtesting-engine-cpp&issues=AZ8p_-rlzhkku3m0Xpi-&open=AZ8p_-rlzhkku3m0Xpi-&pullRequest=56