On Wed, Jul 24, 2024 at 12:36:32PM +0530, Ghanshyam Thakkar wrote: > Patrick Steinhardt <ps@xxxxxx> wrote: > > On Wed, Jul 24, 2024 at 05:54:33AM +0530, Ghanshyam Thakkar wrote: > > > Patrick Steinhardt <ps@xxxxxx> wrote: > > > > On Fri, Jun 28, 2024 at 06:26:24PM +0530, Ghanshyam Thakkar wrote: > > > > > + free(url1_norm); > > > > > + free(url2_norm); > > > > > +} > > > > > + > > > > > +static void check_normalized_url_from_file(const char *file, const char *expect) > > > > > +{ > > > > > + struct strbuf content = STRBUF_INIT, path = STRBUF_INIT; > > > > > + > > > > > + strbuf_getcwd(&path); > > > > > + strbuf_strip_suffix(&path, "/unit-tests/bin"); /* because 'unit-tests-test-tool' is run from 'bin' directory */ > > > > > > > > Curious: is this a new requirement or do other tests have the same > > > > requirement? I was under the impression that I could execude the > > > > resulting unit test binaries from whatever directory I wanted to, but > > > > didn't verify. > > > > > > I am not aware of any requirements, but if we want to interact with > > > other files like in this case (and where we potentially have to > > > interact with a test repository), we'd need to have some requirement > > > to construct the path to these data files (and the test repository), > > > similar to end-to-end tests where they can be run in only t/ > > > directory. Do you think calling `setup_git_directory()` and then using > > > `the_repository->worktree` to get the root of the worktree of Git source > > > and then construct the path relative to that, would be useful? That way > > > we can atleast call the binaries from anywhere within the tree. > > > > Instead of using the working directory, you can also use the `__FILE__` > > preprocessor macro to access the files relative to the directory of the > > original source file. That at least makes it possible to execute the > > result from all directories, but still obviously ties us to the location > > of the source directory. > > But doesn't '__FILE__' give relative path instead of absolute? A quick > test_msg() tells me that '__FILE__' gives the path > 't/unit-tests/t-urlmatch-normalization.c' for me. So, I don't know > how we would be able to execute from _all_ directories. Although, I > think the restriction of running from only 't/' would be fine as > end-to-end tests have similar restrictions. Ah, you're right of course. Scratch that then. Patrick
Attachment:
signature.asc
Description: PGP signature