¿Cómo puede fallar un doctest de python 2 y, sin embargo, no tener diferencias en los valores del mensaje de error?

Estoy usando Python 2.7.9 en Windows.

Tengo un archivo de script python codificado en UTF-8 con los siguientes contenidos:

# coding=utf-8

def test_func():
    u"""
    >>> test_func()
    u'☃'
    """
    return u'☃'

Me da un curioso fracaso cuando ejecuto el doctest:

Failed example:
    test_func()
Expected:
    u'\u2603'
Got:
    u'\u2603'

Veo este mismo resultado de falla si inicio los doctests a través del IDE que uso generalmente (IDEA IntelliJ), o desde la línea de comandos:

> x:\my_virtualenv\Scripts\python.exe -m doctest -v hello.py

Copié las líneas debajoExpected yGot en WinMerge para descartar una sutil diferencia en los personajes que no pude detectar; Me dijo que eran idénticos.

Sin embargo, si vuelvo a ejecutar la línea de comando, pero redirijo la salida a un archivo de texto, así:

> x:\my_virtualenv\Scripts\python.exe -m doctest -v hello.py > out.txt

la prueba todavía falla, pero la salida de falla resultante es un poco diferente:

Failed example:
    test_func()
Expected:
    u'☃'
Got:
    u'\u2603'

Si pongo el literal unicode escapado en mi doctest:

# coding=utf-8

def test_func():
    u"""
    >>> test_func()
    u'☃'
    """
    return u'\\u2603'

La prueba pasa. Pero por lo que puedo decir,u'\u2603' yu'☃' debe evaluar a lo mismo.

Realmente tengo dos preguntas sobre el caso fallido:

Es una de las representaciones que el doctester está dando (bajoExpected oGot) incorrecto para el valor que tiene el doctester para ese caso? (es decir.x != eval(repr(x)))Si no, ¿por qué falla la prueba?