• E
    qapi: Force UTF8 encoding when parsing qapi files · 39615354
    Eric Blake 提交于
    Commit d4e5ec87 already fixed things to work around Python 3's
    lame bug of having LC_ALL=C not be 8-bit clean, when parsing the
    main QMP qapi files; but failed to do likewise in the tests
    directory.  As a result, running 'LC_ALL=C make check' fails on
    escape-too-big and unicode-str when using python 3 with a nasty
    stack trace instead of the intended graceful error message that
    QAPI doesn't yet support 8-bit data (the two tests contain
    Unicode é, when parsed in UTF-8; they represent something
    different when parsed in a proper single-byte C locale, but that
    doesn't matter to the error message printed out, provided that
    brain-dead Python hasn't first choked on the input instead of
    being 8-bit clean).
    
    Ideally, we'd teach the qapi generator scripts to automatically
    slurp things in using UTF-8 regardless of locale, and to honor
    content that is not limited to 7 bit data rather than gracefully
    erroring out; but until then, since our graceful error depends
    on python parsing 8-bit data (even if nothing we generate uses
    8-bit data), our quick fix is to use the right locale when
    running these tests.
    Reported-by: NPeter Maydell <peter.maydell@linaro.org>
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Message-Id: <20180319205040.1113423-1-eblake@redhat.com>
    Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
    39615354
Makefile.include 44.8 KB