2013/6/25 Junio C Hamano <gits...@pobox.com>:
> Jiang Xin <worldhello....@gmail.com> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to