Re: [PATCH] t0060: loosen overly strict expectations
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jan 14, 2016, 18:52 UTC
- Message-ID
- <CAPig+cRa9mk0U4iPim5GRWzFN-vHEA=rx8bb40oQyCJVZL7t3A@mail.gmail.com>
- In-Reply-To
- <eccf149d9557fd9afb591d9411ecb0b3460c9eb0.1452754049.git.johannes.schindelin@gmx.de>
On Thu, Jan 14, 2016 at 1:48 AM, Johannes Schindelin <johannes.schindelin@gmx.de> wrote:
Show 19 quoted lines
> The dirname() tests file were developed and tested on only the five > platforms available to the developer at the time, namely: Linux (both 32 > and 64bit), Windows XP 32-bit (MSVC), MinGW 32-bit and Cygwin 32-bit. > > http://pubs.opengroup.org/onlinepubs/9699919799/functions/basename.html > (i.e. the POSIX spec) says, in part: > > If the string pointed to by path consists entirely of the '/' > character, basename() shall return a pointer to the string "/". > If the string pointed to by path is exactly "//", it is > implementation-defined whether "/" or "//" is returned. > > The thinking behind testing precise, OS-dependent output values was to > document that different setups produce different values. However, as the > test failures on MacOSX illustrated eloquently: hardcoding pretty much each > and every setup's expectations is pretty fragile. > > This is not limited to the "//" vs "/" case, of course, other inputs are > also allowed to produce multiple outpus by the POSIX specs.
s/outpus/outputs/
Show 5 quoted lines
> So let's just test for all allowed values and be done with it. This still > documents that Git cannot rely on one particular output value in those > cases, so the intention of the original tests is still met. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>