Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
This report presents the forensic synthetic code analysis of mavlink/qgroundcontrol, a C++ project with 4,876 GitHub stars. SynthScan v2.0 examined 515,064 lines of code across 2364 source files, recording 2215 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 7.0 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 2215 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | CMakeLists.txt | 1 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 3 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 7 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 9 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 21 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 23 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 29 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 31 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 35 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 37 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 81 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 83 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 85 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 87 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 106 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 108 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 111 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 113 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 118 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 120 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 128 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 130 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 140 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 142 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 153 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 155 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 158 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 160 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 165 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 167 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 176 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 178 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 380 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 382 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 389 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 391 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 472 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 474 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 482 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 484 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 503 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 505 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 509 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | CMakeLists.txt | 511 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 199 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 201 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 217 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 219 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 285 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 287 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 300 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 302 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 346 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 348 | # ============================================================================ | COMMENT |
| MEDIUM | CMakeLists.txt | 402 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 404 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 416 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 418 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 447 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | CMakeLists.txt | 449 | # ---------------------------------------------------------------------------- | COMMENT |
| 477 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pre_commit.py | 46 | def ensure_precommit_available() -> bool: | CODE |
| LOW | tools/check_deps.py | 146 | def parse_gstreamer_package_versions(index_html: str) -> set[tuple[int, int, int]]: | CODE |
| LOW | tools/check_deps.py | 154 | def latest_common_gstreamer_patch( | CODE |
| LOW | tools/check_deps.py | 180 | def fetch_gstreamer_package_index(url: str) -> str | None: | CODE |
| LOW | tools/check_deps.py | 216 | def fetch_latest_common_gstreamer_patch(configured_version: str) -> str | None: | CODE |
| LOW | tools/setup/install_qt.py | 72 | def resolve_windows_host_arch(arch: str) -> str: | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 392 | def _get_categorized_packages( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 111 | def run_apt_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 146 | def run_dnf_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 164 | def run_pacman_install_with_retry( | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 248 | def check_apt_package_available(package: str) -> bool: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 263 | def get_available_debian_packages(category: str) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 38 | def resolve_package_alternatives(packages: list[str]) -> list[str]: | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 107 | def install_windows_gstreamer(version: str, dry_run: bool = False) -> bool: | CODE |
| LOW | tools/tests/test_tool_version.py | 14 | def test_probe_version_three_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 25 | def test_probe_version_two_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 33 | def test_probe_version_uses_stderr_when_stdout_empty() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 41 | def test_probe_version_missing_tool() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 46 | def test_probe_version_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 54 | def test_probe_version_unparseable() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 62 | def test_probe_version_custom_pattern() -> None: | CODE |
| LOW⚡ | tools/tests/test_tool_version.py | 71 | def test_probe_version_custom_args() -> None: | CODE |
| LOW | tools/tests/test_tool_version.py | 83 | def test_version_prefix_matches_shared_components() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 19 | def test_run_captured_returns_completed_process() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 26 | def test_run_captured_check_raises() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 31 | def test_run_captured_failing_command_does_not_raise_by_default() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 41 | def test_run_checked_with_retry_uses_linear_backoff() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 69 | def test_run_checked_with_retry_rejects_invalid_limits(kwargs: dict, message: str) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 74 | def test_run_checked_with_retry_rejects_empty_command() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 79 | def test_run_text_returns_stdout() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 83 | def test_run_text_default_on_missing_binary() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 87 | def test_run_text_default_on_nonzero_exit() -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 91 | def test_run_tee_streams_output_and_returns_exit_code(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 97 | def test_run_tee_falls_back_without_bash(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | tools/tests/test_proc.py | 104 | def test_run_tee_resolves_relative_output_before_changing_cwd( | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 24 | def test_detect_jobs_with_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 28 | def test_detect_jobs_without_override() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 33 | def test_detect_jobs_fallback_when_cpu_count_none() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 53 | def test_build_config_defaults(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 61 | def test_build_config_custom_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 67 | def test_build_config_archive_name() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 72 | def test_build_config_archive_name_simulator() -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 77 | def test_get_meson_args_contains_prefix(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 86 | def test_get_meson_args_macos_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 94 | def test_get_meson_args_macos_universal_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 102 | def test_get_meson_args_linux_no_arch_flags(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_build_gstreamer.py | 109 | def test_get_meson_args_includes_plugins(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_net.py | 11 | def test_read_url_text_decodes_response() -> None: | CODE |
| LOW | tools/tests/test_common_docs.py | 10 | def test_common_readme_indexes_every_shared_module() -> None: | CODE |
| LOW | tools/tests/test_coverage.py | 9 | def test_build_step_summary_includes_metrics() -> None: | CODE |
| LOW | tools/tests/test_xml.py | 14 | def test_parser_returns_trees_for_plain_and_doctype_xml(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_xml.py | 29 | def test_parser_rejects_entity_declarations(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 33 | def test_detects_unsafe_direct_access(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 37 | def test_detects_unsafe_variable_use(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 41 | def test_detects_unsafe_get_parameter(sample_violations: list[dict]) -> None: | CODE |
| LOW⚡ | tools/tests/test_vehicle_null_check.py | 45 | def test_ignores_safe_patterns(sample_violations: list[dict]) -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 59 | def test_exit_code_on_violations() -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 63 | def test_exit_code_no_violations(tmp_path: Path) -> None: | CODE |
| LOW | tools/tests/test_vehicle_null_check.py | 81 | def test_analyze_directory_finds_fixture_violations() -> None: | CODE |
| LOW | tools/tests/test_deps.py | 66 | def test_pip_install_prefers_project_venv_with_uv( | CODE |
| 756 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/coding-style/CodingStyle.h | 1 | // This is an example class header file which is used to describe the QGroundControl | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 21 | // Note how the Qt headers, System headers and the QGroundControl headers above are kept in separate groups | COMMENT |
| LOW | tools/coding-style/CodingStyle.h | 41 | /// Class names are PascalCase. If you override any Qt base class to provide a generic | COMMENT |
| LOW | tools/debuggers/profile.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 501 | # JS module imports instead. | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 541 | RE_BND_LIST_PROP = re.compile(r'property\s+list\s*<') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 561 | # status===Loader.Ready. Binding to Loader.item.prop without a | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 581 | RE_LDR_SOURCE = re.compile(r'^\s*source\s*:') | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 601 | # DEL-3: connect() in Component.onCompleted (survives delegate destruction). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 621 | # STA-2: Transition without from/to (catch-all). | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 641 | # IMG-2: Image with network source without asynchronous:true | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 681 | # (glyph shaping, line breaking). Use scale transform on the Text | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 701 | COMMENT | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 721 | COMMENT | |
| LOW | …-example/src/MissionManager/PerimeterScanComplexItem.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestList.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/RemoteIDSettingsUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 21 | /// The base class overrides cleanup() to call stopUI() automatically, so the | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 61 | /// Convenience: closeUIWindow() followed by destroyUIEngine(). | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 81 | /// the item cannot be found or cannot be clicked. | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 101 | /// Clicks the Q logo, waits up to \a timeoutMs for the entry to appear, then | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 121 | COMMENT | |
| LOW | test/QmlUITests/QmlUITestBase.h | 141 | /// item is missing, the property does not exist, or the value never matches. | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 161 | /// std::nullopt when it cannot be determined (caller must fail the test). | COMMENT |
| LOW | test/QmlUITests/QmlUITestBase.h | 181 | /// | COMMENT |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 21 | void navigateToConfigureView(); | COMMENT |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 41 | COMMENT | |
| LOW | test/QmlUITests/VehicleConfigUITestBase.h | 61 | /// callers must check QTest::currentTestFailed() after calling. | COMMENT |
| LOW | test/QmlUITests/AppCloseWarningUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/QmlUITests/APMSensorsCalibrationUITest.h | 1 | #pragma once | COMMENT |
| LOW | test/Utilities/QGCCommandLineParserTest.h | 1 | #pragma once | COMMENT |
| LOW | test/Utilities/StateMachine/states/StateTestCommon.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 41 | // ============================================================================ | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 61 | /// @param labels The labels to format | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 81 | /// Register a pure-logic test that needs no QGCApplication (no QML engine, no vehicle, | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 141 | /// Declare a parameterized test function pair | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 421 | static void _addTest(UnitTest* test); | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 461 | /// Emits a one-time failure context dump for the currently running test function. | COMMENT |
| LOW | test/UnitTestFramework/UnitTest.h | 481 | /// Verify and consume the next pending expectLogMessage() expectation. | COMMENT |
| LOW | test/UnitTestFramework/UnitTestTileGenerator.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/UnitTestTileGenerator.h | 21 | /// Initializes the global map engine (tile cache worker) with a fresh temp database | COMMENT |
| LOW | test/UnitTestFramework/MultiSignalSpy.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/MultiSignalSpy.h | 21 | /// signal counts, wait for signals, and extract arguments. | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/StateMachineTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/StateMachineTest.h | 21 | /// void _testMyState() { | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 21 | /// @code | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 81 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/ParameterTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TestBaseClasses.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/JsonTest.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/VehicleTest.h | 41 | /// @file | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/CommsTest.h | 1 | #pragma once | COMMENT |
| LOW | …itTestFramework/BaseClasses/VehicleTestManualConnect.h | 1 | #pragma once | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/TerrainTest.h | 1 | #pragma once | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 1 | #pragma once | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 21 | /// const auto lat = *rc::gen::inRange(-90.0, 90.0); | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 41 | /// | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 61 | /// RC_TAG("label"); // Tag unconditionally | COMMENT |
| LOW | …st/UnitTestFramework/PropertyTesting/PropertyTesting.h | 81 | /// @param name Description of the property being tested | COMMENT |
| 311 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/moccache.py | 32 | CODE | |
| LOW | tools/generate_docs.py | 4 | CODE | |
| LOW | tools/pre_commit.py | 4 | CODE | |
| LOW | tools/build_profile.py | 4 | CODE | |
| LOW | tools/release.py | 15 | CODE | |
| LOW | tools/clean.py | 11 | CODE | |
| LOW | tools/configure.py | 17 | CODE | |
| LOW | tools/run_tests.py | 16 | CODE | |
| LOW | tools/_bootstrap.py | 3 | CODE | |
| LOW | tools/check_deps.py | 4 | CODE | |
| LOW | tools/android_mem_capture.py | 18 | CODE | |
| LOW | tools/coverage.py | 4 | CODE | |
| LOW | tools/analyze.py | 20 | CODE | |
| LOW | tools/analyzers/cppcheck.py | 3 | CODE | |
| LOW | tools/analyzers/clang_format.py | 3 | CODE | |
| LOW | tools/analyzers/clazy.py | 3 | CODE | |
| LOW | tools/analyzers/clang_tidy.py | 3 | CODE | |
| LOW | tools/analyzers/qmllint.py | 3 | CODE | |
| LOW | tools/setup/install_python.py | 14 | CODE | |
| LOW | tools/setup/build_android_openssl.py | 20 | CODE | |
| LOW | tools/setup/build-gstreamer.py | 28 | CODE | |
| LOW | tools/setup/install_qt.py | 15 | CODE | |
| LOW | tools/setup/run_with_retry.py | 3 | CODE | |
| LOW | tools/setup/setup_vscode.py | 3 | CODE | |
| LOW | tools/setup/read_config.py | 20 | CODE | |
| LOW | tools/setup/install_dependencies/_fedora.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_packages.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 10 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 27 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 28 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 3 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 13 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 15 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 16 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 17 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| LOW | tools/setup/install_dependencies/__init__.py | 38 | CODE | |
| 225 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/configure.py | 161 | print("Error: qt-cmake not found; pass --no-qt-cmake to use cmake", file=sys.stderr) | CODE |
| LOW | tools/_bootstrap.py | 61 | except Exception: | CODE |
| MEDIUM | tools/_bootstrap.py | 57 | def _unraisablehook(unraisable) -> None: | CODE |
| MEDIUM | tools/setup/install_python.py | 291 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/install_python.py | 315 | print(f"Error: Command failed with exit code {e.returncode}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/install_python.py | 318 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 107 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 110 | print(f"Error: Invalid JSON in config file: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/setup/read_config.py | 121 | print(f"Error: Key '{key}' not found in config", file=sys.stderr) | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 385 | except Exception as e: | CODE |
| LOW⚡ | tools/tests/test_patterns.py | 82 | except Exception: | CODE |
| LOW | tools/simulation/mock_ntrip_caster.py | 156 | except Exception as e: | CODE |
| MEDIUM | tools/simulation/mock_ntrip_caster.py | 151 | def run(self): | CODE |
| MEDIUM | tools/simulation/mock_vehicle.py | 38 | print("Error: pymavlink not installed") | CODE |
| LOW | tools/common/io.py | 145 | except Exception: | CODE |
| MEDIUM | tools/common/github_runs.py | 92 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 102 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 110 | def children(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 141 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 161 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 181 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 218 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 233 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 248 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 272 | def to_string(self): | CODE |
| MEDIUM | tools/debuggers/gdb-pretty-printers/qt6.py | 302 | def to_string(self): | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 44 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 66 | except Exception as e: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 107 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 122 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 148 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 168 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 208 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 223 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 238 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 255 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 262 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 292 | except Exception: | CODE |
| LOW | tools/debuggers/gdb-pretty-printers/qt6.py | 316 | except Exception: | CODE |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1454 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 757 | print("Error: no input files specified", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/mavlink_enums.py | 177 | print(f"Error: {mavlink_dir} is not a directory", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_enums.py | 182 | print(f"Error: no dialect headers found in {mavlink_dir}", file=sys.stderr) | STRING |
| MEDIUM | tools/generators/mavlink_instance_fields.py | 109 | print(f"Error: Could not find {dialect}.xml in {xml_dir}", file=sys.stderr) | CODE |
| MEDIUM | tools/generators/config_qml/generate_pages.py | 58 | print(f"Error: {args.pages_dir} is not a directory", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate_json.py | 114 | print(f"Error: Duplicate filenames: {path.name} paths: {path} {entry[1]}") | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 125 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | tools/translations/qgc_lupdate.py | 131 | print(f"Error: lupdate failed with exit code {e.returncode}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/coverage_comment.py | 28 | print(f"Error parsing {xml_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 213 | print("Error: Failed to download ccache archive", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 217 | print("Error: Failed to download signature file", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 222 | print("Error: Failed to setup minisign", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 226 | print("Error: Signature verification failed", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 293 | print(f"Error extracting ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 298 | print(f"Error: ccache binary not found at {ccache_bin}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 306 | print(f"Error copying ccache: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 311 | print(f"Error setting permissions: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM⚡ | .github/scripts/ccache_helper.py | 315 | print(f"Error installing ccache: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 251 | print(f"Error extracting minisign: {e}", file=sys.stderr) | CODE |
| MEDIUM | .github/scripts/ccache_helper.py | 256 | print(f"Error: minisign binary not found at {minisign_bin}", file=sys.stderr) | CODE |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/debuggers/profile.sh | 8 | # Usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 20 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/MissionTest.h | 81 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/ParameterTest.h | 14 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/VehicleTest.h | 47 | /// Example usage: | COMMENT |
| LOW | test/UnitTestFramework/BaseClasses/CommsTest.h | 17 | /// Example usage: | COMMENT |
| LOW | deploy/docker/run-docker.sh | 4 | # Usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 278 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/QGCStateMachine.h | 477 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/EventQueuedState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/LoopState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/RollbackState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/FallbackChainState.h | 12 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SkippableAsyncState.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/ProgressState.h | 15 | /// Example usage: | COMMENT |
| LOW | …ies/StateMachine/States/RetryableRequestMessageState.h | 19 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/SequenceState.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/States/CircuitBreakerState.h | 20 | /// Example usage: | COMMENT |
| LOW | …c/Utilities/StateMachine/Transitions/RetryTransition.h | 15 | /// Example usage: | COMMENT |
| LOW | …Utilities/StateMachine/Transitions/TimeoutTransition.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateMachineLogger.h | 24 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/StateContext.h | 16 | /// Example usage: | COMMENT |
| LOW | …/Utilities/StateMachine/Helpers/ErrorRecoveryBuilder.h | 16 | /// Example usage: | COMMENT |
| LOW | src/Utilities/StateMachine/Helpers/ErrorHandlers.h | 17 | /// Example usage: | COMMENT |
| LOW | src/Utilities/FileSystem/QGCFileWatcher.h | 18 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveFile.h | 14 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCDecompressDevice.h | 13 | /// Example usage: | COMMENT |
| LOW | src/Utilities/Compression/QGCArchiveWatcher.h | 17 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/moccache.py | 118 | CODE | |
| LOW | tools/moccache.py | 454 | CODE | |
| LOW | tools/pre_commit.py | 54 | CODE | |
| LOW | tools/pre_commit.py | 144 | CODE | |
| LOW | tools/configure.py | 89 | CODE | |
| LOW | tools/android_mem_capture.py | 137 | CODE | |
| LOW | tools/analyzers/qt_translate_noop_check.py | 139 | CODE | |
| LOW | tools/analyzers/vehicle_null_check.py | 71 | CODE | |
| LOW | tools/setup/install_dependencies/_macos.py | 22 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 28 | CODE | |
| LOW | tools/setup/install_dependencies/_cli.py | 158 | CODE | |
| LOW | tools/setup/install_dependencies/_common.py | 346 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 91 | CODE | |
| LOW | tools/setup/install_dependencies/_debian.py | 159 | CODE | |
| LOW | tools/simulation/mock_ntrip_caster.py | 238 | CODE | |
| LOW | tools/common/cmake.py | 13 | CODE | |
| LOW | tools/common/file_traversal.py | 73 | CODE | |
| LOW | tools/common/gh_actions.py | 101 | CODE | |
| LOW | tools/debuggers/gst_latency_parser.py | 48 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 882 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1045 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1300 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1374 | CODE | |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 212 | CODE | |
| LOW | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 473 | CODE | |
| LOW | …profiler/references/scripts/parse-qmlprofiler-trace.py | 32 | CODE | |
| LOW | tools/generators/mavlink_instance_fields.py | 35 | CODE | |
| LOW | tools/generators/settings_qml/model.py | 128 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 44 | CODE | |
| LOW | tools/generators/settings_qml/emit.py | 290 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 29 | CODE | |
| LOW | tools/translations/qgc_lupdate_json.py | 104 | CODE | |
| LOW | tools/translations/qgc_lupdate.py | 33 | CODE | |
| LOW | .github/scripts/generate_build_results_comment.py | 171 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 501 | CODE | |
| LOW | .github/scripts/ccache_helper.py | 173 | CODE | |
| LOW | .github/scripts/download_artifacts.py | 171 | CODE | |
| LOW | .github/scripts/collect_artifact_sizes.py | 52 | CODE | |
| LOW | .github/scripts/install_dependencies_helper.py | 43 | CODE | |
| LOW | .github/scripts/android_boot_test.py | 260 | CODE | |
| LOW | .github/scripts/tests/test_bootstrap_sparse_checkout.py | 52 | CODE | |
| LOW | .github/scripts/tests/test_bootstrap_sparse_checkout.py | 67 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/setup/install_dependencies/_fedora.py | 39 | __all__ = ["install_fedora"] | CODE |
| LOW | tools/setup/install_dependencies/_macos.py | 103 | __all__ = ["get_gstreamer_macos_urls", "install_macos"] | CODE |
| LOW | tools/setup/install_dependencies/_packages.py | 431 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_cli.py | 226 | __all__ = ["list_packages", "main", "parse_args", "print_packages"] | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 297 | def _set_env_var_ci(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 303 | def _set_env_var_local(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 314 | def set_env_var(name: str, value: str) -> None: | CODE |
| LOW | tools/setup/install_dependencies/_common.py | 391 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_debian.py | 227 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/__init__.py | 73 | __all__ = [ | CODE |
| LOW | tools/setup/install_dependencies/_arch.py | 42 | __all__ = ["install_arch"] | CODE |
| LOW | tools/setup/install_dependencies/_windows.py | 232 | __all__ = [ | CODE |
| LOW | tools/common/git.py | 18 | __all__ = ["get_default_branch_ref", "run_git"] | CODE |
| LOW | tools/common/deps.py | 26 | __all__ = ["check_and_report", "check_dependencies", "pip_install", "require_tool"] | CODE |
| LOW | tools/common/env.py | 12 | __all__ = [ | CODE |
| LOW | tools/common/proc.py | 23 | __all__ = ["run_bytes", "run_captured", "run_checked_with_retry", "run_tee", "run_text"] | CODE |
| LOW | tools/common/opener.py | 18 | __all__ = ["open_in_default_app"] | CODE |
| LOW | tools/common/cmake.py | 8 | __all__ = ["read_cache_dict", "read_cache_var"] | CODE |
| LOW | tools/common/net.py | 23 | __all__ = ["download_file", "download_with_retry", "read_url_text", "run_with_retries"] | CODE |
| LOW | tools/common/io.py | 20 | __all__ = [ | CODE |
| LOW | tools/common/analyzer.py | 20 | __all__ = ["AnalysisResult", "AnalyzerBase"] | CODE |
| LOW | tools/common/xml.py | 15 | __all__ = ["XMLParseError", "xml_parse"] | CODE |
| LOW | tools/common/format.py | 12 | __all__ = ["format_bytes", "format_delta_bytes"] | CODE |
| LOW | tools/common/aws.py | 13 | __all__ = [ | CODE |
| LOW | tools/common/cobertura.py | 15 | __all__ = ["CoberturaError", "CoberturaMetrics", "read_cobertura"] | CODE |
| LOW | tools/common/platform.py | 15 | __all__ = [ | CODE |
| LOW | tools/common/markdown.py | 15 | __all__ = ["md_table"] | CODE |
| LOW | tools/common/artifact_metadata.py | 14 | __all__ = [ | CODE |
| LOW | tools/common/tool_version.py | 20 | __all__ = ["DEFAULT_VERSION_RE", "probe_version", "uv_lock_version", "version_prefix_matches"] | CODE |
| LOW | tools/generators/settings_qml/page_generator.py | 25 | __all__ = [ | CODE |
| LOW | tools/generators/config_qml/page_generator.py | 24 | __all__ = [ | CODE |
| LOW | .github/scripts/generate_build_results_comment.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | .github/scripts/verify_executable.py | 26 | def _setup_gstreamer_env(build_dir: Path) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/tests/test_settings_qml_generator.py | 908 | showWhen="sink && sink.enabled", | CODE |
| HIGH | tools/tests/test_settings_qml_generator.py | 923 | assert "visible: sink && sink.enabled" in qml | CODE |
| HIGH | tools/tests/test_version_drift.py | 43 | "Run: (cd tools && uv lock) and commit the result.\n\n" | CODE |
| HIGH | …t-run/references/scripts/parse-qmltestrunner-output.py | 32 | "failure_message": str | null, | STRING |
| HIGH | tools/generators/settings_qml/emit.py | 220 | section_vis = f"(sectionFilter === -1 || sectionFilter === {grp_idx})" | CODE |
| HIGH | tools/generators/config_qml/model.py | 134 | are composed with && so the control is only visible when the param exists | STRING |
| HIGH⚡ | .github/scripts/tests/test_cache_contracts.py | 88 | assert "event.pull_request.head.repo.fork != true && format('type=registry" not in action | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 844 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 1014 | # Build context window | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 85 | scope_aware: bool = True # Truncate context window at function-scope boundaries (column-0 closing brace) | CODE |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 370 | # Tier B: Match + context window check. | COMMENT |
| MEDIUM⚡ | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 425 | # Scope-aware context window builder | COMMENT |
| MEDIUM | …t-cpp-review/references/lint-scripts/qt_review_lint.py | 601 | # Build context window (use comment-stripped lines) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/tests/test_settings_qml_generator.py | 1216 | "controls": [{"setting": "appSettings.x", "placeholder": "a\\b"}], | CODE |
| LOW⚡ | tools/tests/test_settings_qml_generator.py | 1220 | with pytest.raises(ValueError, match="placeholder"): | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-controls.md | 397 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 133 | emailField.text = qsTr("user@example.com") | CODE |
| LOW | …kills/qt-qml-test/references/qt-quick-test-template.md | 134 | compare(emailField.text, qsTr("user@example.com")) | CODE |
| LOW | tools/generators/settings_qml/model.py | 123 | "placeholder", "value", "component", "properties", | CODE |
| LOW | tools/generators/settings_qml/model.py | 170 | ctrl_data.get("placeholder", ""), "control placeholder", json_path | CODE |
| LOW | src/AppSettings/pages/NTRIP.SettingsUI.json | 56 | "placeholder": "e.g. 1005,1077,1087" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/simulation/run-arducopter-sitl.sh | 16 | # Check if Docker is available | COMMENT |
| LOW | tools/simulation/run-arducopter-sitl.sh | 63 | # Check if running | COMMENT |
| LOW | tools/debuggers/profile.sh | 217 | # Check if we have permissions | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 925 | # Check if this property was bound with : in the file | COMMENT |
| LOW | …s/qt-qml-review/references/lint-scripts/qt_qml_lint.py | 954 | # Check if the property has a dynamic binding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/setup/install_qt.py | 174 | Pick the primary Android Qt root from installed ABIs. Args: abis: Semicolon-separated ABI list (e.g. "arm64 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generators/common/controls.py | 140 | CODE | |
| LOW | tools/generators/common/controls.py | 263 | CODE | |
| LOW | tools/generators/common/controls.py | 607 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deploy/docker/lib/setup-venv.sh | 2 | # Create the qgc venv and install hash-locked build-time Python deps: jinja2/ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Vehicle/VehicleSetup/Bootloader.h | 37 | /// IMPORTANT: Make sure this id does not conflict with any newly added real board ids | COMMENT |