Skip to content

[Bug] Test Results panel doesn't hyperlink file paths #4589

@doxxx

Description

@doxxx

Brief Issue Summary

When running GoogleTest-based tests using CTest via Test Explorer, the Test Results panel shows the results of each test. However, the file paths in the test results are not hyperlinked, so I cannot navigate to failure points logged by the tests.

Image

CMake Tools Diagnostics

{
  "os": "win32",
  "vscodeVersion": "1.104.3",
  "cmtVersion": "1.22.14",
  "configurations": [
    {
      "folder": "d:\\dev\\Synaptive\\ModusV\\embeddedfirmware",
      "cmakeVersion": "3.31.5",
      "configured": true,
      "generator": "Ninja Multi-Config",
      "usesPresets": true,
      "compilers": {
        "C": "C:/Tools/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc.exe",
        "CXX": "C:/Tools/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-g++.exe"
      }
    },
    {
      "folder": "d:\\dev\\Synaptive\\ModusV\\embeddedfirmware",
      "cmakeVersion": "3.31.5",
      "configured": true,
      "generator": "Ninja",
      "usesPresets": false,
      "compilers": {
        "C": "C:/msys64/mingw32/bin/gcc.exe",
        "CXX": "C:/msys64/mingw32/bin/g++.exe"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug"
    ],
    "requests": [
      "file:///d%3A/dev/Synaptive/ModusV/embeddedfirmware/test/projects/pwrcon/src/TestLedMgr.cpp",
      "file:///d%3A/dev/Synaptive/ModusV/embeddedfirmware/projects/pwrcon/src/hw/led_mgr.c"
    ],
    "responses": [
      {
        "uri": "file:///d%3A/dev/Synaptive/ModusV/embeddedfirmware/test/projects/pwrcon/src/TestLedMgr.cpp",
        "configuration": {
          "includePath": [
            "d:/dev/synaptive/modusv/embeddedfirmware/test/projects/pwrcon/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/pwrcon/inc",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/pwrcon/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/core/inc",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/core/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/dependencies/jsmn",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/mock",
            "d:/dev/synaptive/modusv/embeddedfirmware/test",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googlemock/include",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googlemock",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googletest/include",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googletest"
          ],
          "defines": [
            "APPLICATION_NAME=\"UNIT-TEST\"",
            "BUILD_AUTHOR=\"TEST-AUTHOR\"",
            "BUILD_COMMIT=\"0xdeadbeef\"",
            "BUILD_DIRTY=0",
            "FIRMWARE_PARTNUM=\"UNIT-TEST\"",
            "JSON_ENABLED=1",
            "PWRCON",
            "_FILE_OFFSET_BITS=64",
            "_POSIX_C_SOURCE",
            "__UNIT_TEST__"
          ],
          "compilerPath": "c:/msys64/mingw32/bin/g++.exe",
          "compilerArgs": [],
          "compilerFragments": [
            "-g",
            "-m32",
            "-Wall",
            "-Werror",
            "-Wno-unused-function"
          ]
        }
      },
      {
        "uri": "file:///d%3A/dev/Synaptive/ModusV/embeddedfirmware/projects/pwrcon/src/hw/led_mgr.c",
        "configuration": {
          "includePath": [
            "d:/dev/synaptive/modusv/embeddedfirmware/test/projects/pwrcon/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/pwrcon/inc",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/pwrcon/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/core/inc",
            "d:/dev/synaptive/modusv/embeddedfirmware/projects/core/inc/config",
            "d:/dev/synaptive/modusv/embeddedfirmware/dependencies/jsmn",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/mock",
            "d:/dev/synaptive/modusv/embeddedfirmware/test",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googlemock/include",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googlemock",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googletest/include",
            "d:/dev/synaptive/modusv/embeddedfirmware/test/build/_deps/googletest-src/googletest"
          ],
          "defines": [
            "APPLICATION_NAME=\"UNIT-TEST\"",
            "BUILD_AUTHOR=\"TEST-AUTHOR\"",
            "BUILD_COMMIT=\"0xdeadbeef\"",
            "BUILD_DIRTY=0",
            "FIRMWARE_PARTNUM=\"UNIT-TEST\"",
            "JSON_ENABLED=1",
            "PWRCON",
            "_FILE_OFFSET_BITS=64",
            "_POSIX_C_SOURCE",
            "__UNIT_TEST__"
          ],
          "compilerPath": "c:/msys64/mingw32/bin/gcc.exe",
          "compilerArgs": [],
          "compilerFragments": [
            "-g -std=gnu2x",
            "-m32",
            "-Wall",
            "-Werror",
            "-Wno-unused-function"
          ]
        }
      }
    ],
    "partialMatches": [],
    "targetCount": 35,
    "executablesCount": 3,
    "librariesCount": 4,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    },
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": false
    }
  ]
}

Debug Log

[proc] Executing command: "C:\Program Files\CMake\bin\ctest.exe" -j16 -C Debug -T test --output-on-failure -R ^LedMgrTests\.Initialization$
[proc]   with environment: {"ALLUSERSPROFILE":"C:\\ProgramData","APPDATA":"C:\\Users\\gordon.tyler\\AppData\\Roaming","APPLICATIONINSIGHTS_CONFIGURATION_CONTENT":"{}","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","APPLICATION_INSIGHTS_NO_STATSBEAT":"true","ARM_10_TOOLCHAIN_DIR":"C:/Tools/gcc-arm-none-eabi-10.3-2021.10","ARM_11_TOOLCHAIN_DIR":"C:/Tools/arm-gnu-toolchain-11.3.rel1-mingw-w64-i686-arm-none-eabi","ARM_TOOLCHAIN_DIR":"C:/Tools/gcc-arm-none-eabi-6-2017-q1-update","CHROME_CRASHPAD_PIPE_NAME":"\\\\.\\pipe\\crashpad_35612_QBQVVCJBRRCHQFCM","COMPUTERNAME":"GTYLER-5560","ChocolateyInstall":"C:\\ProgramData\\chocolatey","ChocolateyLastPathUpdate":"133365205007206731","ComSpec":"C:\\WINDOWS\\system32\\cmd.exe","CommonProgramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Program Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common Files","DRIVE_SIMULATED_CAMERA":"1","DRIVE_SIMULATED_DAC":"1","DRIVE_SIMULATED_LED":"1","DRIVE_SIMULATED_MONITORCONTROL":"1","DRIVE_SIMULATED_POWERCONTROL":"1","DRIVE_SIMULATED_TRACKER":"1","DRIVE_SIMULATED_VIDEOSCOPE":"1","DriverData":"C:\\Windows\\System32\\Drivers\\DriverData","EFC_15616_1262719628":"1","EFC_15616_1592913036":"1","EFC_15616_2283032206":"1","EFC_15616_2775293581":"1","EFC_15616_3789132940":"1","ELECTRON_RUN_AS_NODE":"1","FPS_BROWSER_APP_PROFILE_STRING":"Internet Explorer","FPS_BROWSER_USER_PROFILE_STRING":"Default","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\gordon.tyler","IGCCSVC_DB":"AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAUtRFw24KhUK/MyU22YPpagQAAAACAAAAAAAQZgAAAAEAACAAAAAtj26z6XWtj8CZjqPoD8yY5DijLd+Q7iGka+fxApwGjgAAAAAOgAAAAAIAACAAAABWKIJkO5g/Q4gX7ZvXYmGqUfCSDgM+0W8yFg1F+eS9KGAAAACQGs2udEGfNaaldafn/Fv9YlMUQzSg4EzRkScPROJkS3NnIJGhxpbqAf9Uyrkvf5rENCJi20sQ0309McnkhKcq9RYjhdJVIFabWqZSs63ajmOt5FRBVW1CHVscjlOhgHdAAAAALTm36OwDOnjX1yBXe7UvsnzlQTxZiCl+xEDv6/FlJOFPblXbAwA6hvbp1DOn0Cm82Hv7lvJ0cPLuFTbmf516Xg==","LEVEL_ZERO_V1_SDK_PATH":"C:\\Program Files\\LevelZeroSDK\\1.24.0\\","LOCALAPPDATA":"C:\\Users\\gordon.tyler\\AppData\\Local","LOGONSERVER":"\\\\CI-DC01","NUMBER_OF_PROCESSORS":"16","NVM_HOME":"C:\\Users\\gordon.tyler\\AppData\\Local\\nvm","NVM_SYMLINK":"C:\\nvm4w\\nodejs","OPENOCD":"C:\\Tools\\xpack-openocd-0.11.0-4","ORIGINAL_XDG_CURRENT_DESKTOP":"undefined","OS":"Windows_NT","OneDrive":"C:\\Users\\gordon.tyler\\OneDrive - Synaptive Medical Inc","OneDriveCommercial":"C:\\Users\\gordon.tyler\\OneDrive - Synaptive Medical Inc","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW","POSH_INSTALLER":"winget","POSH_THEMES_PATH":"C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\oh-my-posh\\themes\\","POWERSHELL_DISTRIBUTION_CHANNEL":"MSI:Windows 10 Enterprise","PROCESSOR_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 141 Stepping 1, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"8d01","PSModulePath":"C:\\Program Files\\WindowsPowerShell\\Modules;C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules","PUBLIC":"C:\\Users\\Public","Path":"C:\\msys64\\mingw32\\bin;C:\\msys64\\mingw32\\bin;C:\\Program Files (x86)\\oh-my-posh\\bin\\;C:\\Program Files\\Python312\\Scripts\\;C:\\Program Files\\Python312\\;C:\\Program Files\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Python27\\;C:\\Python27\\Scripts;C:\\Program Files\\CollabNet\\Subversion Client;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\Synaptive Medical\\Package Manager\\Binaries\\;C:\\Program Files\\doxygen\\bin;C:\\Program Files\\nodejs;C:\\Program Files\\CMake\\bin;C:\\Program Files\\PuTTY\\;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Users\\gordon.tyler\\AppData\\Local\\nvm;C:\\nvm4w\\nodejs;C:\\Program Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Microsoft SQL Server\\170\\Tools\\Binn\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\Python\\Launcher\\;C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\oh-my-posh\\bin\\;C:\\Users\\gordon.tyler\\.cargo\\bin;C:\\Users\\gordon.tyler\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\gordon.tyler\\.dotnet\\tools;C:\\Users\\gordon.tyler\\Tools;C:\\Users\\gordon.tyler\\AppData\\Roaming\\Python\\Python312\\Scripts;C:\\msys64\\mingw64\\bin;C:\\msys64\\mingw32\\bin;C:\\Users\\gordon.tyler\\AppData\\Roaming\\nvm;C:\\Users\\gordon.tyler\\Documents\\PowerShell\\Scripts;C:\\Users\\gordon.tyler\\.dotnet\\tools;C:\\Users\\gordon.tyler\\AppData\\Local\\GitHubDesktop\\bin;C:\\Users\\gordon.tyler\\AppData\\Local\\Microsoft\\WinGet\\Links;C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\Ollama;C:\\Users\\gordon.tyler\\AppData\\Local\\Programs\\oh-my-posh\\bin;C:\\Users\\gordon.tyler\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\gordon.tyler\\AppData\\Local\\nvm;C:\\nvm4w\\nodejs","ProgramData":"C:\\ProgramData","ProgramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","ProgramW6432":"C:\\Program Files","SESSIONNAME":"Console","STM32_PRG_PATH":"C:\\Program Files\\STMicroelectronics\\STM32Cube\\STM32CubeProgrammer\\bin","StCore32":"C:\\Program Files\\sView\\","StCore64":"C:\\Program Files\\sView\\amd64\\","StShare":"C:\\Program Files\\sView\\","SystemDrive":"C:","SystemRoot":"C:\\WINDOWS","TEMP":"C:\\Users\\GORDON~1.TYL\\AppData\\Local\\Temp","TMP":"C:\\Users\\GORDON~1.TYL\\AppData\\Local\\Temp","USERDNSDOMAIN":"SYNAPTIVEMEDICAL.COM","USERDOMAIN":"SMI","USERDOMAIN_ROAMINGPROFILE":"SMI","USERNAME":"gordon.tyler","USERPROFILE":"C:\\Users\\gordon.tyler","VBOX_MSI_INSTALL_PATH":"C:\\Program Files\\Oracle\\VirtualBox\\","VCPKG_ROOT":"C:\\Users\\gordon.tyler\\dev\\vcpkg","VS140COMNTOOLS":"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\","VSCODE_CODE_CACHE_PATH":"C:\\Users\\gordon.tyler\\AppData\\Roaming\\Code\\CachedData\\385651c938df8a906869babee516bffd0ddb9829","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"C:\\WINDOWS\\system32","VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME":"undefined","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"\\\\.\\pipe\\c44b53f1-1.104.3-main-sock","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"en-ca\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"C:\\\\Users\\\\gordon.tyler\\\\AppData\\\\Local\\\\Programs\\\\Microsoft VS Code\\\\resources\\\\app\\\\out\\\\nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"35612","ZES_ENABLE_SYSMAN":"1","asl.log":"Destination=file","windir":"C:\\WINDOWS","CMT_MINGW_PATH":"C:\\msys64\\mingw32\\bin"}
[ctest]    Site: GTYLER-5560
[ctest]    Build name: Win32-ninja
[ctest] Test project D:/dev/Synaptive/ModusV/embeddedfirmware/test/build
[ctest]     Start 92: LedMgrTests.Initialization
[ctest] 1/1 Test #92: LedMgrTests.Initialization .......***Failed    0.02 sec
[ctest] Running main() from D:/dev/Synaptive/ModusV/embeddedfirmware/test/build/_deps/googletest-src/googletest/src/gtest_main.cc
[ctest] Note: Google Test filter = LedMgrTests.Initialization
[ctest] [==========] Running 1 test from 1 test suite.
[ctest] [----------] Global test environment set-up.
[ctest] [----------] 1 test from LedMgrTests
[ctest] [ RUN      ] LedMgrTests.Initialization
[ctest] D:/dev/Synaptive/ModusV/embeddedfirmware/test/projects/pwrcon/src/TestLedMgr.cpp:135: Failure
[ctest] Value of: led_mgr->is_initialized(led_mgr)
[ctest]   Actual: true
[ctest] Expected: false
[ctest] 
[ctest] [  FAILED  ] LedMgrTests.Initialization (1 ms)
[ctest] [----------] 1 test from LedMgrTests (1 ms total)
[ctest] 
[ctest] [----------] Global test environment tear-down
[ctest] [==========] 1 test from 1 test suite ran. (1 ms total)
[ctest] [  PASSED  ] 0 tests.
[ctest] [  FAILED  ] 1 test, listed below:
[ctest] [  FAILED  ] LedMgrTests.Initialization
[ctest] 
[ctest]  1 FAILED TEST
[ctest] 
[ctest] 
[ctest] 0% tests passed, 1 tests failed out of 1
[ctest] 
[ctest] Total Test time (real) =   0.04 sec
[ctest] 
[ctest] The following tests FAILED:
[ctest] 	 92 - LedMgrTests.Initialization (Failed)
[ctest] Errors while running CTest
[proc] The command: "C:\Program Files\CMake\bin\ctest.exe" -j16 -C Debug -T test --output-on-failure -R ^LedMgrTests\.Initialization$ exited with code: 8
[ctest] CTest finished with return code 8
[ctest] Running main() from D:/dev/Synaptive/ModusV/embeddedfirmware/test/build/_deps/googletest-src/googletest/src/gtest_main.cc
Note: Google Test filter = LedMgrTests.Initialization
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from LedMgrTests
[ RUN      ] LedMgrTests.Initialization
D:/dev/Synaptive/ModusV/embeddedfirmware/test/projects/pwrcon/src/TestLedMgr.cpp:135: Failure
Value of: led_mgr->is_initialized(led_mgr)
  Actual: true
Expected: false

[  FAILED  ] LedMgrTests.Initialization (1 ms)
[----------] 1 test from LedMgrTests (1 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (1 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] LedMgrTests.Initialization

 1 FAILED TEST

Test LedMgrTests.Initialization failed with exit code 1.

Additional Information

The tests are compiled using mingw-gcc on Windows 11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buga bug in the product

    Type

    No type

    Projects

    Status

    Blocked

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions