python: Disable universal newlines
authorMathieu Bridon <bochecha@daitauha.fr>
Fri, 17 Aug 2018 19:32:17 +0000 (21:32 +0200)
committerDylan Baker <dylan@pnwbakers.com>
Wed, 22 Aug 2018 15:41:01 +0000 (08:41 -0700)
commitff0ce31e2a9135c3fcc3243773c442bc48f46b53
treed6458fa83e3728a3b237020387255a32befa91f6
parentfc708069f74063428e90595f494de6c79515f64e
python: Disable universal newlines

We are testing the behaviour of a tool, for different input files, each
one using a different newline sequence. ('\n' on UNIX, '\r\n' on
Windows, …)

Unfortunately, when opening a file in text mode, Python 3 will by
default enable the "universal newlines" mode, which means it replaces
all the known newline sequences by '\n'.

This (usually useful) behaviour breaks the tests, which are specifically
trying to handle files with newline sequences different from '\n'.

Disabling the universal newlines mode fixes the tests.

However, to keep the script compatible with both Python 2 and 3, we must
use the io.open() function instead of the open() builtin, as the latter
only knows about the `newline` argument on Python 3.

Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
src/compiler/glsl/glcpp/tests/glcpp_test.py