2013/6/25 Junio C Hamano <[email protected]>:
> Jiang Xin <[email protected]> writes:
>
>> diff --git a/test-path-utils.c b/test-path-utils.c
>> index 0092cb..dcc530 100644
>> --- a/test-path-utils.c
>> +++ b/test-path-utils.c
>> @@ -28,6 +28,19 @@ static int normalize_ceiling_entry(struct
>> string_list_item *item, void *unused)
>> return 1;
>> }
>>
>> +static void normalize_argv_string(const char **var, const char *input)
>> +{
>> + if (!strcmp(input, "<null>"))
>> + *var = NULL;
>> + else if (!strcmp(input, "<empty>"))
>> + *var = "";
>> + else
>> + *var = input;
>> +
>> + if (*var && (**var == '<' || **var == '('))
>> + die("Bad value: %s\n", input);
>> +}
>> +
>
> If you have to munge the input string like this anyway, perhaps you
> can work around the command line mangling done by Windows bash
> runtime, perhaps add something like:
>
> if (*input == '_')
> input++;
>
> and then protecting the path with the underscore, like so?
>
> relative_path _/a/b/c/ _/a/b/ c/
>
> Wouldn't that let you avoid having to handle "POSIX" prereq for
> these paths?
>
In order to test NULL pointer in t/t0060, I have to write normalize_argv_string
to convert "<null>" to NULL. So that I can write test case in
t/t0060-path-utils.sh like this:
relative_path "<null>" "<null>" ./
And for the same reason, output would be "(null)" for NULL pointer.
Use "(null)" not "<null>" for output, because I want to make sure the
conversion must happen for input and output.
I found it would be nice to wrap input empty string as "<empty>" and
wrap output of empty string as "(empty)" for the readability of both
input and output of test cases.
Add prefix _ to workaround the absolute path rewritten issue in
msysGit is interesting, but these test cases have already been
tested in Linux, right? Patch 16/16 turns on most of the test cases
which could only run under POSIX previously, and test these test
cases in Windows way.
--
Jiang Xin
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html