Skip to content

[Bug][CTest] Test Explorer sets test region to location of add_test() instead of wrapper call site when used in functions/macros #4490

Open
@malsyned

Description

@malsyned

Brief Issue Summary

When add_test() is called within a function or macro, the Test Explorer associates all tests created by that function or macro with the line of where add_test() appears. As a result, many distinct tests are shown as originating from the same source location, which makes it difficult to differentiate and navigate between them in the Test Explorer.

Additionally, the testing gutter controls appear next to the add_test() calls inside the function or macro, rather than next to the lines where the wrapper functions or macros are actually invoked.

Image

Image

Expected Behavior

Clicking each test should bring the cursor to the line of code where the wrapper function or macro is invoked. The testing gutter controls should also appear next to the invocation lines of the wrapper functions or macros.

Image

Steps to Reproduce

  1. Create a function or macro that wraps a call to add_test().
  2. Invoke this function or macro multiple times with different arguments to define multiple tests.
  3. Open the Test Explorer.
  4. Click on each test in the explorer to jump to its source location.
  5. Observe that all tests take you to the same line: the add_test() call within the function or macro definition, rather than the lines where the wrapper was actually used.
  6. Also observe that the gutter testing controls appear next to the add_test() call lines inside the function or macro, not next to the wrapper invocation lines.

Demo project

cmake-tools-ctest-bt.zip

CMake Tools Diagnostics

{
  "os": "linux",
  "vscodeVersion": "1.101.0",
  "cmtVersion": "1.13.0",
  "configurations": [
    {
      "folder": "/home/malsyned/projects/cmake-tools-ctest-bt",
      "cmakeVersion": "4.0.2",
      "configured": true,
      "generator": "Ninja Multi-Config",
      "usesPresets": false,
      "compilers": {
        "C": "/usr/bin/cc",
        "CXX": "/usr/bin/c++"
      }
    }
  ],
  "cpptoolsIntegration": {
    "isReady": true,
    "hasCodeModel": true,
    "activeBuildType": "Debug",
    "buildTypesSeen": [
      "Debug",
      "Release",
      "RelWithDebInfo"
    ],
    "requests": [],
    "responses": [],
    "partialMatches": [],
    "targetCount": 28,
    "executablesCount": 0,
    "librariesCount": 0,
    "targets": []
  },
  "settings": [
    {
      "communicationMode": "automatic",
      "useCMakePresets": "auto",
      "configureOnOpen": true
    }
  ]
}

Debug Log

[main] Configuring project: cmake-tools-ctest-bt 
[main] Saving open files before configure/build
[driver] Removing /home/malsyned/projects/cmake-tools-ctest-bt/build/CMakeCache.txt
[driver] Removing /home/malsyned/projects/cmake-tools-ctest-bt/build/CMakeFiles
[expand] expanded ${workspaceFolder}/build
[driver] Start configure 
[driver] Running pre-configure checks and steps
[expand] expanded ${workspaceFolder}/build
[cmakefileapi-driver] Configuring using kit
[cmakefileapi-driver] Invoking CMake /usr/bin/cmake with arguments ["-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE","--no-warn-unused-cli","-S","/home/malsyned/projects/cmake-tools-ctest-bt","-B","/home/malsyned/projects/cmake-tools-ctest-bt/build","-G","Ninja Multi-Config"]
[proc] Executing command: /usr/bin/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE --no-warn-unused-cli -S /home/malsyned/projects/cmake-tools-ctest-bt -B /home/malsyned/projects/cmake-tools-ctest-bt/build -G "Ninja Multi-Config"
[proc]   with environment: {"ATFE_PATH":"/home/malsyned/packages/ATfE-20.1.0-Linux-x86_64","CASROOT":"/usr","CHROME_DESKTOP":"code.desktop","CINNAMON_VERSION":"6.4.10","CMT_DEVRUN":"1","CSF_DrawPluginDefaults":"/usr/share/opencascade/resources/DrawResources","CSF_EXCEPTION_PROMPT":"1","CSF_IGESDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_LANGUAGE":"us","CSF_MDTVTexturesDirectory":"/usr/share/opencascade/resources/Textures","CSF_MIGRATION_TYPES":"/usr/share/opencascade/resources/StdResource/MigrationSheet.txt","CSF_OCCTResourcePath":"/usr/share/opencascade/resources","CSF_PluginDefaults":"/usr/share/opencascade/resources/StdResource","CSF_SHMessage":"/usr/share/opencascade/resources/SHMessage","CSF_STEPDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_ShadersDirectory":"/usr/share/opencascade/resources/Shaders","CSF_StandardDefaults":"/usr/share/opencascade/resources/StdResource","CSF_StandardLiteDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjMessage":"/usr/share/opencascade/resources/TObj","CSF_XCAFDefaults":"/usr/share/opencascade/resources/StdResource","CSF_XSMessage":"/usr/share/opencascade/resources/XSMessage","CSF_XmlOcafResource":"/usr/share/opencascade/resources/XmlOcafResource","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEBUGINFOD_URLS":"https://debuginfod.archlinux.org ","DESKTOP_SESSION":"cinnamon","DISPLAY":":0","DRAWDEFAULT":"/usr/share/opencascade/resources/DrawResources/DrawDefault","DRAWHOME":"/usr/share/opencascade/resources/DrawResources","EDITOR":"/usr/bin/nano","ELECTRON_NO_ATTACH_CONSOLE":"1","GDK_BACKEND":"x11","GDMSESSION":"cinnamon","GIO_LAUNCHED_DESKTOP_FILE":"/usr/share/applications/code.desktop","GIO_LAUNCHED_DESKTOP_FILE_PID":"2149360","GJS_DEBUG_OUTPUT":"stderr","GJS_DEBUG_TOPICS":"JS ERROR;JS LOG","GNOME_DESKTOP_SESSION_ID":"this-is-deprecated","GTK2_RC_FILES":"/home/malsyned/.gtkrc-2.0","GTK3_MODULES":"xapp-gtk3-module","GTK_MODULES":"canberra-gtk-module","HG":"/usr/bin/hg","HOME":"/home/malsyned","LANG":"en_US.UTF-8","LC_ADDRESS":"en_US.UTF-8","LC_IDENTIFICATION":"en_US.UTF-8","LC_MEASUREMENT":"en_US.UTF-8","LC_MONETARY":"en_US.UTF-8","LC_NAME":"en_US.UTF-8","LC_NUMERIC":"en_US.UTF-8","LC_PAPER":"en_US.UTF-8","LC_TELEPHONE":"en_US.UTF-8","LC_TIME":"en_US.UTF-8","LESSOPEN":"|/usr/bin/lesspipe.sh %s","LIBVA_DRIVER_NAME":"nvidia","LOGNAME":"malsyned","MAIL":"/var/spool/mail/malsyned","MMGT_CLEAR":"1","MOTD_SHOWN":"pam","NO_AT_BRIDGE":"1","ORIGINAL_XDG_CURRENT_DESKTOP":"X-Cinnamon","PATH":"/home/malsyned/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/opt/microchip/xc16/v2.10/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin","PWD":"/home/malsyned","PYTHONSTARTUP":"/home/malsyned/.pythonrc","QT_QPA_PLATFORMTHEME":"qt5ct","SAL_USE_VCLPLUGIN":"gtk","SESSION_MANAGER":"local/malsyned:@/tmp/.ICE-unix/2209958,unix/malsyned:/tmp/.ICE-unix/2209958","SHELL":"/bin/bash","SHLVL":"1","USER":"malsyned","VSCODE_CLI":"1","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/malsyned","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-f2c9b164-1.10-main.sock","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"en-us\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/opt/visual-studio-code/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"2149377","XAUTHORITY":"/home/malsyned/.Xauthority","XC16_TOOLCHAIN_ROOT":"/opt/microchip/xc16/v2.10","XDG_CURRENT_DESKTOP":"X-Cinnamon","XDG_DATA_DIRS":"/home/malsyned/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_GREETER_DATA_DIR":"/var/lib/lightdm-data/malsyned","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"cinnamon","XDG_SESSION_ID":"14","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session1","XDG_SESSION_TYPE":"x11","XDG_VTNR":"7","_":"/opt/visual-studio-code/bin/../code","__GL_SYNC_TO_VBLANK":"0","ELECTRON_RUN_AS_NODE":"1","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME":"/home/malsyned","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","APPLICATIONINSIGHTS_CONFIGURATION_CONTENT":"{}"}
[cmake] Not searching for unused variables given on the command line.
[cmake] -- The C compiler identification is GNU 15.1.1
[cmake] -- The CXX compiler identification is GNU 15.1.1
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: /usr/bin/cc - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: /usr/bin/c++ - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Configuring done (0.4s)
[cmake] -- Generating done (0.0s)
[cmake] -- Build files have been written to: /home/malsyned/projects/cmake-tools-ctest-bt/build
[cmakefileapi-parser] Read reply folder: /home/malsyned/projects/cmake-tools-ctest-bt/build/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: ["cache-v2-e807f4f7c41a170ce1f6.json","cmakeFiles-v1-2deb2acc71f5784bb096.json","codemodel-v2-d418bdf47c07bfd4c02d.json","directory-.-Debug-f5ebdc15457944623624.json","directory-.-RelWithDebInfo-f5ebdc15457944623624.json","directory-.-Release-f5ebdc15457944623624.json","index-2025-06-20T19-58-49-0774.json","target-Continuous-Debug-986aa2ffbb72ff875745.json","target-Continuous-RelWithDebInfo-bd66d97508ca7cf7d321.json","target-Continuous-Release-0f7d9c8e2509556e0bc3.json","target-ContinuousBuild-Debug-18e337b447fc28e97694.json","target-ContinuousBuild-RelWithDebInfo-e1b82363ac6d6085f518.json","target-ContinuousBuild-Release-68cd8f06661367be1ce0.json","target-ContinuousConfigure-Debug-7daf6424c15cf78a5126.json","target-ContinuousConfigure-RelWithDebInfo-088129525a5a39f09b4b.json","target-ContinuousConfigure-Release-af45190ca30da80ba6b4.json","target-ContinuousCoverage-Debug-0c55021432fe23aac4e8.json","target-ContinuousCoverage-RelWithDebInfo-6035c140408fcb9dd074.json","target-ContinuousCoverage-Release-2c6a97e62de07720bdad.json","target-ContinuousMemCheck-Debug-a0713b7b50d624e2f46c.json","target-ContinuousMemCheck-RelWithDebInfo-99c152fbd6da35a87128.json","target-ContinuousMemCheck-Release-dfc41aefb629a55e05bb.json","target-ContinuousStart-Debug-78e8ebaa28710c747e89.json","target-ContinuousStart-RelWithDebInfo-673b1b1474581ccd6d6c.json","target-ContinuousStart-Release-34accf27dd78fbc35e6e.json","target-ContinuousSubmit-Debug-9a984d5a8fa5d17d230a.json","target-ContinuousSubmit-RelWithDebInfo-1b3caf6e8caaa2b186d0.json","target-ContinuousSubmit-Release-a0d50561e33717640277.json","target-ContinuousTest-Debug-8412504bd7deff50a8e9.json","target-ContinuousTest-RelWithDebInfo-4ba6bfb2b0c2ddf7b0e9.json","target-ContinuousTest-Release-cb34cfa337efcb9f89a4.json","target-ContinuousUpdate-Debug-b220349e77f1558f3974.json","target-ContinuousUpdate-RelWithDebInfo-1e2c92e26b1191fba7f8.json","target-ContinuousUpdate-Release-5f7768577c390f7a32cb.json","target-Experimental-Debug-47765b7d5eb5269a6e65.json","target-Experimental-RelWithDebInfo-59cc1dafe1124c3deb90.json","target-Experimental-Release-7a61d1d69f0b3ec69f47.json","target-ExperimentalBuild-Debug-5e79b9042a6d71ace37a.json","target-ExperimentalBuild-RelWithDebInfo-119632a5c260a864702a.json","target-ExperimentalBuild-Release-d3cf2bbd607078ab531e.json","target-ExperimentalConfigure-Debug-f2da1d837a09d73fc30e.json","target-ExperimentalConfigure-RelWithDebInfo-21b1721f457cf8f66a86.json","target-ExperimentalConfigure-Release-34fb5a7b9620e601a536.json","target-ExperimentalCoverage-Debug-fb9ddbc2f4e518ff5ff0.json","target-ExperimentalCoverage-RelWithDebInfo-ffe25040bf021469397a.json","target-ExperimentalCoverage-Release-062083c77ed84ac7204f.json","target-ExperimentalMemCheck-Debug-8bf617b64b09cd7cf86f.json","target-ExperimentalMemCheck-RelWithDebInfo-6ebcd61f644d31fee12c.json","target-ExperimentalMemCheck-Release-afdba311d14b23f6cbfb.json","target-ExperimentalStart-Debug-fd565a5b94e2d5bc3e5a.json","target-ExperimentalStart-RelWithDebInfo-d606be3e94922ebced11.json","target-ExperimentalStart-Release-eef72324c7e749ecc968.json","target-ExperimentalSubmit-Debug-d8fe6ae0d3f8579f1caf.json","target-ExperimentalSubmit-RelWithDebInfo-854fc7e8ac49963e26bc.json","target-ExperimentalSubmit-Release-1a9abdfd9a5ad31c1474.json","target-ExperimentalTest-Debug-9bc59c2d6440463f7189.json","target-ExperimentalTest-RelWithDebInfo-b8e89e425eced326be65.json","target-ExperimentalTest-Release-232950a095c6de993ab3.json","target-ExperimentalUpdate-Debug-979ea74bdeac15f21817.json","target-ExperimentalUpdate-RelWithDebInfo-5e35ad46dff2a6c52e9d.json","target-ExperimentalUpdate-Release-a7a77e746fd4f0801032.json","target-Nightly-Debug-2add717740c111c311a6.json","target-Nightly-RelWithDebInfo-7efa39844dd744c5d1f0.json","target-Nightly-Release-ce5f887d50189a7922a9.json","target-NightlyBuild-Debug-544ca1e3f499935872fc.json","target-NightlyBuild-RelWithDebInfo-de04a72c4dfc865d628a.json","target-NightlyBuild-Release-7299a58af3664c9c69f6.json","target-NightlyConfigure-Debug-14de99b5cd9fa0c5bfaa.json","target-NightlyConfigure-RelWithDebInfo-745d0d5fab5ae87eb671.json","target-NightlyConfigure-Release-88cefced444feb657a98.json","target-NightlyCoverage-Debug-2662a31c25f88161dcbe.json","target-NightlyCoverage-RelWithDebInfo-f38d108b4b61be7e931d.json","target-NightlyCoverage-Release-56e3ba9eab57bba3ad01.json","target-NightlyMemCheck-Debug-561346d3d0bd6fcc049a.json","target-NightlyMemCheck-RelWithDebInfo-319f423965e003965f2f.json","target-NightlyMemCheck-Release-86c2d2651a12ee32d8ef.json","target-NightlyMemoryCheck-Debug-40e18f8b386719d6f6ea.json","target-NightlyMemoryCheck-RelWithDebInfo-c752d04acba1ef75db42.json","target-NightlyMemoryCheck-Release-ab5622e69f8029ec0b41.json","target-NightlyStart-Debug-e65f1428ba11ef0b3bd8.json","target-NightlyStart-RelWithDebInfo-b8c72fe8c41036d42d25.json","target-NightlyStart-Release-5e5009814cde2a929ee8.json","target-NightlySubmit-Debug-593da90aa626468f5b32.json","target-NightlySubmit-RelWithDebInfo-77e3c0d5d9f1263a98cb.json","target-NightlySubmit-Release-4dd31273e7190751c38a.json","target-NightlyTest-Debug-ffc5cd4ad83b390b5659.json","target-NightlyTest-RelWithDebInfo-a33beedbd0864f958ed3.json","target-NightlyTest-Release-9b7cbd1aab44c50cf2a5.json","target-NightlyUpdate-Debug-25a7993fa816de791e3d.json","target-NightlyUpdate-RelWithDebInfo-dd8d913ec597a052888f.json","target-NightlyUpdate-Release-8dc42b3628bfd45a855b.json","toolchains-v1-cb916f971653baf269c8.json"]
[cache] Reading CMake cache file /home/malsyned/projects/cmake-tools-ctest-bt/build/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [9990] cmake.cleanConfigure finished (returned {"result":0,"resultType":0})

[main] Building folder: /home/malsyned/projects/cmake-tools-ctest-bt/build 
[main] Saving open files before configure/build
[build] Starting build
[driver] Start build all
[proc] Executing command: /usr/bin/cmake --build /home/malsyned/projects/cmake-tools-ctest-bt/build --config Debug --target all -j 32 --
[proc]   with environment: {"ATFE_PATH":"/home/malsyned/packages/ATfE-20.1.0-Linux-x86_64","CASROOT":"/usr","CHROME_DESKTOP":"code.desktop","CINNAMON_VERSION":"6.4.10","CMT_DEVRUN":"1","CSF_DrawPluginDefaults":"/usr/share/opencascade/resources/DrawResources","CSF_EXCEPTION_PROMPT":"1","CSF_IGESDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_LANGUAGE":"us","CSF_MDTVTexturesDirectory":"/usr/share/opencascade/resources/Textures","CSF_MIGRATION_TYPES":"/usr/share/opencascade/resources/StdResource/MigrationSheet.txt","CSF_OCCTResourcePath":"/usr/share/opencascade/resources","CSF_PluginDefaults":"/usr/share/opencascade/resources/StdResource","CSF_SHMessage":"/usr/share/opencascade/resources/SHMessage","CSF_STEPDefaults":"/usr/share/opencascade/resources/XSTEPResource","CSF_ShadersDirectory":"/usr/share/opencascade/resources/Shaders","CSF_StandardDefaults":"/usr/share/opencascade/resources/StdResource","CSF_StandardLiteDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjDefaults":"/usr/share/opencascade/resources/StdResource","CSF_TObjMessage":"/usr/share/opencascade/resources/TObj","CSF_XCAFDefaults":"/usr/share/opencascade/resources/StdResource","CSF_XSMessage":"/usr/share/opencascade/resources/XSMessage","CSF_XmlOcafResource":"/usr/share/opencascade/resources/XmlOcafResource","DBUS_SESSION_BUS_ADDRESS":"unix:path=/run/user/1000/bus","DEBUGINFOD_URLS":"https://debuginfod.archlinux.org ","DESKTOP_SESSION":"cinnamon","DISPLAY":":0","DRAWDEFAULT":"/usr/share/opencascade/resources/DrawResources/DrawDefault","DRAWHOME":"/usr/share/opencascade/resources/DrawResources","EDITOR":"/usr/bin/nano","ELECTRON_NO_ATTACH_CONSOLE":"1","GDK_BACKEND":"x11","GDMSESSION":"cinnamon","GIO_LAUNCHED_DESKTOP_FILE":"/usr/share/applications/code.desktop","GIO_LAUNCHED_DESKTOP_FILE_PID":"2149360","GJS_DEBUG_OUTPUT":"stderr","GJS_DEBUG_TOPICS":"JS ERROR;JS LOG","GNOME_DESKTOP_SESSION_ID":"this-is-deprecated","GTK2_RC_FILES":"/home/malsyned/.gtkrc-2.0","GTK3_MODULES":"xapp-gtk3-module","GTK_MODULES":"canberra-gtk-module","HG":"/usr/bin/hg","HOME":"/home/malsyned","LANG":"en_US.UTF-8","LC_ADDRESS":"en_US.UTF-8","LC_IDENTIFICATION":"en_US.UTF-8","LC_MEASUREMENT":"en_US.UTF-8","LC_MONETARY":"en_US.UTF-8","LC_NAME":"en_US.UTF-8","LC_NUMERIC":"en_US.UTF-8","LC_PAPER":"en_US.UTF-8","LC_TELEPHONE":"en_US.UTF-8","LC_TIME":"en_US.UTF-8","LESSOPEN":"|/usr/bin/lesspipe.sh %s","LIBVA_DRIVER_NAME":"nvidia","LOGNAME":"malsyned","MAIL":"/var/spool/mail/malsyned","MMGT_CLEAR":"1","MOTD_SHOWN":"pam","NO_AT_BRIDGE":"1","ORIGINAL_XDG_CURRENT_DESKTOP":"X-Cinnamon","PATH":"/home/malsyned/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/opt/microchip/xc16/v2.10/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin","PWD":"/home/malsyned","PYTHONSTARTUP":"/home/malsyned/.pythonrc","QT_QPA_PLATFORMTHEME":"qt5ct","SAL_USE_VCLPLUGIN":"gtk","SESSION_MANAGER":"local/malsyned:@/tmp/.ICE-unix/2209958,unix/malsyned:/tmp/.ICE-unix/2209958","SHELL":"/bin/bash","SHLVL":"1","USER":"malsyned","VSCODE_CLI":"1","VSCODE_CRASH_REPORTER_PROCESS_TYPE":"extensionHost","VSCODE_CWD":"/home/malsyned","VSCODE_ESM_ENTRYPOINT":"vs/workbench/api/node/extensionHostProcess","VSCODE_HANDLES_UNCAUGHT_ERRORS":"true","VSCODE_IPC_HOOK":"/run/user/1000/vscode-f2c9b164-1.10-main.sock","VSCODE_NLS_CONFIG":"{\"userLocale\":\"en-us\",\"osLocale\":\"en-us\",\"resolvedLanguage\":\"en\",\"defaultMessagesFile\":\"/opt/visual-studio-code/resources/app/out/nls.messages.json\",\"locale\":\"en-us\",\"availableLanguages\":{}}","VSCODE_PID":"2149377","XAUTHORITY":"/home/malsyned/.Xauthority","XC16_TOOLCHAIN_ROOT":"/opt/microchip/xc16/v2.10","XDG_CURRENT_DESKTOP":"X-Cinnamon","XDG_DATA_DIRS":"/home/malsyned/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop","XDG_GREETER_DATA_DIR":"/var/lib/lightdm-data/malsyned","XDG_RUNTIME_DIR":"/run/user/1000","XDG_SEAT":"seat0","XDG_SEAT_PATH":"/org/freedesktop/DisplayManager/Seat0","XDG_SESSION_CLASS":"user","XDG_SESSION_DESKTOP":"cinnamon","XDG_SESSION_ID":"14","XDG_SESSION_PATH":"/org/freedesktop/DisplayManager/Session1","XDG_SESSION_TYPE":"x11","XDG_VTNR":"7","_":"/opt/visual-studio-code/bin/../code","__GL_SYNC_TO_VBLANK":"0","ELECTRON_RUN_AS_NODE":"1","VSCODE_L10N_BUNDLE_LOCATION":"","VSCODE_DOTNET_INSTALL_TOOL_ORIGINAL_HOME":"/home/malsyned","APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL":"1","APPLICATIONINSIGHTS_CONFIGURATION_CONTENT":"{}","NINJA_STATUS":"[%s/%t %p :: %e] "}
[build] ninja: no work to do.
[driver] Build completed: 00:00:00.035
[cmakefileapi-parser] Read reply folder: /home/malsyned/projects/cmake-tools-ctest-bt/build/.cmake/api/v1/reply
[cmakefileapi-parser] Found index files: ["cache-v2-e807f4f7c41a170ce1f6.json","cmakeFiles-v1-2deb2acc71f5784bb096.json","codemodel-v2-d418bdf47c07bfd4c02d.json","directory-.-Debug-f5ebdc15457944623624.json","directory-.-RelWithDebInfo-f5ebdc15457944623624.json","directory-.-Release-f5ebdc15457944623624.json","index-2025-06-20T19-58-49-0774.json","target-Continuous-Debug-986aa2ffbb72ff875745.json","target-Continuous-RelWithDebInfo-bd66d97508ca7cf7d321.json","target-Continuous-Release-0f7d9c8e2509556e0bc3.json","target-ContinuousBuild-Debug-18e337b447fc28e97694.json","target-ContinuousBuild-RelWithDebInfo-e1b82363ac6d6085f518.json","target-ContinuousBuild-Release-68cd8f06661367be1ce0.json","target-ContinuousConfigure-Debug-7daf6424c15cf78a5126.json","target-ContinuousConfigure-RelWithDebInfo-088129525a5a39f09b4b.json","target-ContinuousConfigure-Release-af45190ca30da80ba6b4.json","target-ContinuousCoverage-Debug-0c55021432fe23aac4e8.json","target-ContinuousCoverage-RelWithDebInfo-6035c140408fcb9dd074.json","target-ContinuousCoverage-Release-2c6a97e62de07720bdad.json","target-ContinuousMemCheck-Debug-a0713b7b50d624e2f46c.json","target-ContinuousMemCheck-RelWithDebInfo-99c152fbd6da35a87128.json","target-ContinuousMemCheck-Release-dfc41aefb629a55e05bb.json","target-ContinuousStart-Debug-78e8ebaa28710c747e89.json","target-ContinuousStart-RelWithDebInfo-673b1b1474581ccd6d6c.json","target-ContinuousStart-Release-34accf27dd78fbc35e6e.json","target-ContinuousSubmit-Debug-9a984d5a8fa5d17d230a.json","target-ContinuousSubmit-RelWithDebInfo-1b3caf6e8caaa2b186d0.json","target-ContinuousSubmit-Release-a0d50561e33717640277.json","target-ContinuousTest-Debug-8412504bd7deff50a8e9.json","target-ContinuousTest-RelWithDebInfo-4ba6bfb2b0c2ddf7b0e9.json","target-ContinuousTest-Release-cb34cfa337efcb9f89a4.json","target-ContinuousUpdate-Debug-b220349e77f1558f3974.json","target-ContinuousUpdate-RelWithDebInfo-1e2c92e26b1191fba7f8.json","target-ContinuousUpdate-Release-5f7768577c390f7a32cb.json","target-Experimental-Debug-47765b7d5eb5269a6e65.json","target-Experimental-RelWithDebInfo-59cc1dafe1124c3deb90.json","target-Experimental-Release-7a61d1d69f0b3ec69f47.json","target-ExperimentalBuild-Debug-5e79b9042a6d71ace37a.json","target-ExperimentalBuild-RelWithDebInfo-119632a5c260a864702a.json","target-ExperimentalBuild-Release-d3cf2bbd607078ab531e.json","target-ExperimentalConfigure-Debug-f2da1d837a09d73fc30e.json","target-ExperimentalConfigure-RelWithDebInfo-21b1721f457cf8f66a86.json","target-ExperimentalConfigure-Release-34fb5a7b9620e601a536.json","target-ExperimentalCoverage-Debug-fb9ddbc2f4e518ff5ff0.json","target-ExperimentalCoverage-RelWithDebInfo-ffe25040bf021469397a.json","target-ExperimentalCoverage-Release-062083c77ed84ac7204f.json","target-ExperimentalMemCheck-Debug-8bf617b64b09cd7cf86f.json","target-ExperimentalMemCheck-RelWithDebInfo-6ebcd61f644d31fee12c.json","target-ExperimentalMemCheck-Release-afdba311d14b23f6cbfb.json","target-ExperimentalStart-Debug-fd565a5b94e2d5bc3e5a.json","target-ExperimentalStart-RelWithDebInfo-d606be3e94922ebced11.json","target-ExperimentalStart-Release-eef72324c7e749ecc968.json","target-ExperimentalSubmit-Debug-d8fe6ae0d3f8579f1caf.json","target-ExperimentalSubmit-RelWithDebInfo-854fc7e8ac49963e26bc.json","target-ExperimentalSubmit-Release-1a9abdfd9a5ad31c1474.json","target-ExperimentalTest-Debug-9bc59c2d6440463f7189.json","target-ExperimentalTest-RelWithDebInfo-b8e89e425eced326be65.json","target-ExperimentalTest-Release-232950a095c6de993ab3.json","target-ExperimentalUpdate-Debug-979ea74bdeac15f21817.json","target-ExperimentalUpdate-RelWithDebInfo-5e35ad46dff2a6c52e9d.json","target-ExperimentalUpdate-Release-a7a77e746fd4f0801032.json","target-Nightly-Debug-2add717740c111c311a6.json","target-Nightly-RelWithDebInfo-7efa39844dd744c5d1f0.json","target-Nightly-Release-ce5f887d50189a7922a9.json","target-NightlyBuild-Debug-544ca1e3f499935872fc.json","target-NightlyBuild-RelWithDebInfo-de04a72c4dfc865d628a.json","target-NightlyBuild-Release-7299a58af3664c9c69f6.json","target-NightlyConfigure-Debug-14de99b5cd9fa0c5bfaa.json","target-NightlyConfigure-RelWithDebInfo-745d0d5fab5ae87eb671.json","target-NightlyConfigure-Release-88cefced444feb657a98.json","target-NightlyCoverage-Debug-2662a31c25f88161dcbe.json","target-NightlyCoverage-RelWithDebInfo-f38d108b4b61be7e931d.json","target-NightlyCoverage-Release-56e3ba9eab57bba3ad01.json","target-NightlyMemCheck-Debug-561346d3d0bd6fcc049a.json","target-NightlyMemCheck-RelWithDebInfo-319f423965e003965f2f.json","target-NightlyMemCheck-Release-86c2d2651a12ee32d8ef.json","target-NightlyMemoryCheck-Debug-40e18f8b386719d6f6ea.json","target-NightlyMemoryCheck-RelWithDebInfo-c752d04acba1ef75db42.json","target-NightlyMemoryCheck-Release-ab5622e69f8029ec0b41.json","target-NightlyStart-Debug-e65f1428ba11ef0b3bd8.json","target-NightlyStart-RelWithDebInfo-b8c72fe8c41036d42d25.json","target-NightlyStart-Release-5e5009814cde2a929ee8.json","target-NightlySubmit-Debug-593da90aa626468f5b32.json","target-NightlySubmit-RelWithDebInfo-77e3c0d5d9f1263a98cb.json","target-NightlySubmit-Release-4dd31273e7190751c38a.json","target-NightlyTest-Debug-ffc5cd4ad83b390b5659.json","target-NightlyTest-RelWithDebInfo-a33beedbd0864f958ed3.json","target-NightlyTest-Release-9b7cbd1aab44c50cf2a5.json","target-NightlyUpdate-Debug-25a7993fa816de791e3d.json","target-NightlyUpdate-RelWithDebInfo-dd8d913ec597a052888f.json","target-NightlyUpdate-Release-8dc42b3628bfd45a855b.json","toolchains-v1-cb916f971653baf269c8.json"]
[expand] expanded ${workspaceFolder}/build
[build] Build finished with exit code 0
[cache] Reading CMake cache file /home/malsyned/projects/cmake-tools-ctest-bt/build/CMakeCache.txt
[cache] Parsing CMake cache string
[extension] [4321] cmake.build finished (returned 0)

Additional Information

The self-test suite for CMake itself makes frequent use of functions or macros that call add_test() to define test suites, so fixing this would dramatically improve the user experience for the developers of CMake.

The fix for this is pretty straight-forward. The necessary information is available in the CTest backtrace, it's just a matter of walking the backtrace back to the outer frame. I will have a pull request ready to submit later today to resolve this issue.

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