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

Re: [GSoC][PATCH v2] t: migrate t0110-urlmatch-normalization to the new framework

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 13, 2024, 19:22 UTC
Message-ID
<xmqqh6bo448j.fsf@gitster.g>
In-Reply-To
<20240813172432.55487-1-shyamthakkar001@gmail.com>
Ghanshyam Thakkar <shyamthakkar001@gmail.com> writes:
Show 11 quoted lines
> With the addition of this unit test, we impose a new restriction of
> running the unit tests from either 't/' or 't/unit-tests/bin/'
> directories. This is to construct the path to files which contain some
> input urls under the 't/t-urlmatch-normalization' directory. This
> restriction is similar to one we have for end-to-end tests, where they
> can be ran from only 't/'.
>
> Addition of 't/unit-tests/bin/' is to allow
> for running individual tests which is not currently possible via any
> 'make' targets and also 'unit-tests-test-tool' target is also ran from
> the 't/unit-tests/bin' directory.

Sorry, but I do not quite follow. The above makes it sound as if the 'bin' subdirectory is something that never existed before this patch and this patch introduces the use of that directory, but that is hardly the case. What does that "Addition of" really refer to?

Do you mean "we cannot run the tests from arbitrary places, and we allow them to be run from t/, just like the normal tests" followed by "in addition, we also allow them to be run from t/unit-tests/bin directory because ..."?

I wonder if we should get of t/t-urlmatch-normalization/ directory and instead hold these test data in the form of string constants in the program. After all, you have the expected normalization result hardcoded in the binary (e.g. t_url_high_bit() asks the checker function to read from "url-1" file and then compare the result of normalization with a hardcoded string constant), so having the test data in separate files only risks the input and the output easily drift apart.

As a side effect, it would make it easily possible to run the tests anywhere, because you no longer depend on these url-$n input files. It of course depends on how burdensome the limitation that we can run the tests only from a fixed place really is, but it generally is not a good idea to have these random sequence of bytes in small files that nobody looks at in a repository in the first place.

Thanks.
Previous: Ghanshyam ThakkarNext: Kaartic Sivaraam
Message 12 of 23 in “t: migrate helper/test-urlmatch-normalization to unit tests”
  1. Ghanshyam ThakkarJun 28, 2024
  2. Ghanshyam ThakkarJul 9, 2024
  3. Karthik NayakJul 22, 2024
  4. Ghanshyam ThakkarJul 22, 2024
  5. Karthik NayakJul 23, 2024
  6. Patrick SteinhardtJul 23, 2024
  7. Ghanshyam ThakkarJul 24, 2024
  8. Patrick SteinhardtJul 24, 2024
  9. Ghanshyam ThakkarJul 24, 2024
  10. Patrick SteinhardtJul 24, 2024
  11. [GSoC][PATCH v2] t: migrate t0110-urlmatch-normalization to the new frameworkGhanshyam Thakkar, Aug 13, 2024
  12. Junio C HamanoAug 13, 2024
  13. Kaartic SivaraamAug 14, 2024
  14. Junio C HamanoAug 14, 2024
  15. Ghanshyam ThakkarAug 14, 2024
  16. Kaartic SivaraamAug 14, 2024
  17. [GSoC][PATCH v3] t: migrate t0110-urlmatch-normalization to the new frameworkGhanshyam Thakkar, Aug 14, 2024
  18. Junio C HamanoAug 14, 2024
  19. Christian CouderAug 19, 2024
  20. [GSoC][PATCH v4] t: migrate t0110-urlmatch-normalization to the new frameworkGhanshyam Thakkar, Aug 20, 2024
  21. Ghanshyam ThakkarAug 20, 2024
  22. Christian CouderAug 21, 2024
  23. Junio C HamanoAug 21, 2024

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.