git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 6/7] cmake: use test names instead of full paths

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Sep 22, 2023, 14:37 UTC
Message-ID
<7d1d78c5-5781-4f5e-90f3-c02e74af31b2@gmail.com>
In-Reply-To
<41228df1b469d9a79f3278fe8c1ca37082600669.1695070468.git.gitgitgadget@gmail.com>
Hi Johannes
On 18/09/2023 21:54, Johannes Schindelin via GitGitGadget wrote:
Show 16 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> 
> The primary purpose of Git's CMake definition is to allow developing Git
> in Visual Studio. As part of that, the CTest feature allows running
> individual test scripts conveniently in Visual Studio's Test Explorer.
> 
> However, this Test Explorer's design targets object-oriented languages
> and therefore expects the test names in the form
> `<namespace>.<class>.<testname>`. And since we specify the full path
> of the test scripts instead, including the ugly `/.././t/` part, these
> dots confuse the Test Explorer and it uses a large part of the path as
> "namespace".
> 
> Let's just use `t.<name>` instead. This still adds an ugly "Empty
> Namespace" layer by default, but at least the ugly absolute path is now
> gone.

That does sound like a worthwhile improvement. If we used `git.t.<name>` would that fix the "Empty Namespace" problem? (probably not worth a re-roll on its own)

Best Wishes
Phillip
Show 26 quoted lines
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>   contrib/buildsystems/CMakeLists.txt | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/contrib/buildsystems/CMakeLists.txt b/contrib/buildsystems/CMakeLists.txt
> index ad197ea433f..ff1a8cc348f 100644
> --- a/contrib/buildsystems/CMakeLists.txt
> +++ b/contrib/buildsystems/CMakeLists.txt
> @@ -1106,13 +1106,14 @@ file(GLOB test_scripts "${CMAKE_SOURCE_DIR}/t/t[0-9]*.sh")
>   
>   #test
>   foreach(tsh ${test_scripts})
> -	add_test(NAME ${tsh}
> +	string(REGEX REPLACE ".*/(.*)\\.sh" "\\1" test_name ${tsh})
> +	add_test(NAME "t.${test_name}"
>   		COMMAND ${SH_EXE} ${tsh} --no-bin-wrappers --no-chain-lint -vx
>   		WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/t)
>   endforeach()
>   
>   # This test script takes an extremely long time and is known to time out even
>   # on fast machines because it requires in excess of one hour to run
> -set_tests_properties("${CMAKE_SOURCE_DIR}/t/t7112-reset-submodule.sh" PROPERTIES TIMEOUT 4000)
> +set_tests_properties("t.t7112-reset-submodule" PROPERTIES TIMEOUT 4000)
>   
>   endif()#BUILD_TESTING
Previous: Johannes Schindelin via GitGitGadgetNext: Johannes Schindelin
Message 18 of 30 in “CMake(Visual C) support for js/doc-unit-tests”
  1. 0/4 CMake(Visual C) support for js/doc-unit-testsJohannes Schindelin via GitGitGadget, Aug 31, 2023
  2. 1/4 cmake: also build unit testsJohannes Schindelin via GitGitGadget, Aug 31, 2023
  3. Phillip WoodSep 11, 2023
  4. Johannes SchindelinSep 18, 2023
  5. 3/4 unit-tests: do show relative file pathsJohannes Schindelin via GitGitGadget, Aug 31, 2023
  6. Phillip WoodSep 11, 2023
  7. Johannes SchindelinSep 18, 2023
  8. 2/4 unit-tests: do not mistake `.pdb` files for being executableJohannes Schindelin via GitGitGadget, Aug 31, 2023
  9. 4/4 artifacts-tar: when including `.dll` files, don't forget the unit-testsJohannes Schindelin via GitGitGadget, Aug 31, 2023
  10. 0/7 CMake(Visual C) support for js/doc-unit-testsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  11. 1/7 cmake: also build unit testsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  12. 2/7 unit-tests: do not mistake `.pdb` files for being executableJohannes Schindelin via GitGitGadget, Sep 18, 2023
  13. 3/7 unit-tests: do show relative file pathsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  14. Phillip WoodSep 22, 2023
  15. 4/7 artifacts-tar: when including `.dll` files, don't forget the unit-testsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  16. 5/7 cmake: fix typo in variable nameJohannes Schindelin via GitGitGadget, Sep 18, 2023
  17. 6/7 cmake: use test names instead of full pathsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  18. Phillip WoodSep 22, 2023
  19. Johannes SchindelinSep 25, 2023
  20. 7/7 cmake: handle also unit testsJohannes Schindelin via GitGitGadget, Sep 18, 2023
  21. Phillip WoodSep 22, 2023
  22. 0/7 CMake(Visual C) support for js/doc-unit-testsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  23. 2/7 unit-tests: do not mistake `.pdb` files for being executableJohannes Schindelin via GitGitGadget, Sep 25, 2023
  24. 1/7 cmake: also build unit testsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  25. 3/7 unit-tests: do show relative file pathsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  26. 4/7 artifacts-tar: when including `.dll` files, don't forget the unit-testsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  27. 5/7 cmake: fix typo in variable nameJohannes Schindelin via GitGitGadget, Sep 25, 2023
  28. 7/7 cmake: handle also unit testsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  29. 6/7 cmake: use test names instead of full pathsJohannes Schindelin via GitGitGadget, Sep 25, 2023
  30. Junio C HamanoSep 25, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.