提交 84c27f73 authored 作者: Pascal Lamblin's avatar Pascal Lamblin

Convert string litteral to bytes for python 3, add test

上级 d01ddc02
...@@ -25,7 +25,7 @@ import numpy.distutils # TODO: TensorType should handle this ...@@ -25,7 +25,7 @@ import numpy.distutils # TODO: TensorType should handle this
import theano import theano
from theano.compat import any, PY3, next, decode, decode_iter 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.gof.utils import flatten
from theano.configparser import config from theano.configparser import config
from theano.gof.cc import hash_from_code from theano.gof.cc import hash_from_code
...@@ -1843,12 +1843,12 @@ class GCC_compiler(object): ...@@ -1843,12 +1843,12 @@ class GCC_compiler(object):
if not theano.config.cxx: if not theano.config.cxx:
return False return False
code = """ code = b("""
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
return 0; return 0;
} }
""" """)
return GCC_compiler.try_compile_tmp(code, tmp_prefix='try_flags_', return GCC_compiler.try_compile_tmp(code, tmp_prefix='try_flags_',
flags=flag_list, try_run=False) flags=flag_list, try_run=False)
......
...@@ -7,6 +7,7 @@ deterministic based on the input type and the op. ...@@ -7,6 +7,7 @@ deterministic based on the input type and the op.
import numpy import numpy
import theano import theano
from theano.gof.cmodule import GCC_compiler
class MyOp(theano.compile.ops.DeepCopyOp): class MyOp(theano.compile.ops.DeepCopyOp):
...@@ -57,3 +58,11 @@ def test_inter_process_cache(): ...@@ -57,3 +58,11 @@ def test_inter_process_cache():
assert MyOp.nb_called == 0 assert MyOp.nb_called == 0
else: else:
assert MyOp.nb_called == 1 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论