提交 58048780 authored 作者: Frédéric Bastien's avatar Frédéric Bastien

Merge pull request #1660 from lamblin/fix_py3_str

Convert string literals for Python3
......@@ -7,6 +7,7 @@ from theano import config
from theano import gof
import theano
import theano.tensor
from theano.compat import exc_message
from theano.compile import debugmode
import theano.compile
from theano.tests import unittest_tools as utt
......@@ -275,7 +276,7 @@ def test_badoptimization_opt_err():
try:
f([1.0, 2.0, 3.0], [2, 3, 4],)
except Exception, e:
assert 'insert_bigger_b_add' in e.message
assert 'insert_bigger_b_add' in exc_message(e)
return # TEST PASS
assert False
......
......@@ -25,7 +25,7 @@ import numpy.distutils # TODO: TensorType should handle this
import theano
from theano.compat import any, PY3, next, decode, decode_iter
from theano.compat.six import BytesIO, StringIO
from theano.compat.six import b, BytesIO, StringIO
from theano.gof.utils import flatten
from theano.configparser import config
from theano.gof.cc import hash_from_code
......@@ -1575,7 +1575,7 @@ class GCC_compiler(object):
# as stdin (which is the default) results in the process
# waiting forever without returning. For that reason,
# we use a pipe, and use the empty string as input.
(stdout, stderr) = p.communicate(input='')
(stdout, stderr) = p.communicate(input=b(''))
if p.returncode != 0:
return None
......@@ -1843,12 +1843,12 @@ class GCC_compiler(object):
if not theano.config.cxx:
return False
code = """
code = b("""
int main(int argc, char** argv)
{
return 0;
}
"""
""")
return GCC_compiler.try_compile_tmp(code, tmp_prefix='try_flags_',
flags=flag_list, try_run=False)
......
......@@ -7,6 +7,7 @@ deterministic based on the input type and the op.
import numpy
import theano
from theano.gof.cmodule import GCC_compiler
class MyOp(theano.compile.ops.DeepCopyOp):
......@@ -57,3 +58,11 @@ def test_inter_process_cache():
assert MyOp.nb_called == 0
else:
assert MyOp.nb_called == 1
def test_flag_detection():
# Check that the code detecting blas flags does not raise any exception.
# It used to happen on python 3 because of improper string handling,
# but was not detected because that path is not usually taken,
# so we test it here directly.
GCC_compiler.try_flags(["-lblas"])
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论