Skip to content
  • Junio C Hamano's avatar
    t0204: clarify the "observe undefined behaviour" test · 9b9f46f5
    Junio C Hamano authored
    
    
    This test asks for an impossible conversion to the system by
    preparing an UTF-8 translation with characters that cannot be
    expressed in ISO-8859-1, and then asking the message shown in
    ISO-8859-1.  Even though the behaviour against such a request is
    undefined, it may be interesting to see what the system does, and
    the purpose of this test is to see if there are platforms that
    exhibit behaviour that we haven't seen.
    
    The original recognized two known modes of behaviour:
    
     - the key used to query the message catalog ("TEST: Old English
       Runes"), saying "I cannot do that i18n".
     - impossible characters replaced with ASCII "?", saying "I punt".
    
    but they were treated totally differently.  The test simply issued
    an informational message "Your system punts on this one" for the
    first error mode, while it diagnosed the latter as "Your system is
    good; you pass!".
    
    It turns out that Mac OS X exhibits a third mode of error behaviour,
    to spew out the raw value stored in the message catalog.  The test
    diagnosed this behaviour as "broken", but it is merely trying to do
    its best to respond to an impossible request by saying "I punt" in a
    way that is slightly different from the second one.
    
    Update the offending test to make it clear what is (and is not)
    being tested, update the code structure so that newly discovered
    error mode can easily be added to it later, and reword the message
    that comes from a failing case to clarify that it is not the system
    that is broken when it fails, but merely that the behaviour is not
    something we have seen.
    
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    9b9f46f5