Author: Philip Jenvey <pjen...@underboss.org> Branch: Changeset: r63762:754de53974f9 Date: 2013-04-29 18:52 -0700 http://bitbucket.org/pypy/pypy/changeset/754de53974f9/
Log: add a DefinedConstantString helper diff --git a/rpython/rtyper/tool/rffi_platform.py b/rpython/rtyper/tool/rffi_platform.py --- a/rpython/rtyper/tool/rffi_platform.py +++ b/rpython/rtyper/tool/rffi_platform.py @@ -61,6 +61,12 @@ DEFINED = DefinedConstantInteger(macro) return configure(CConfig)['DEFINED'] +def getdefinedstring(macro, c_header_source): + class CConfig: + _compilation_info_ = eci_from_header(c_header_source) + DEFINED = DefinedConstantString(macro) + return configure(CConfig)['DEFINED'] + def getintegerfunctionresult(function, args=None, c_header_source='', includes=[]): class CConfig: _compilation_info_ = eci_from_header(c_header_source) diff --git a/rpython/rtyper/tool/test/test_rffi_platform.py b/rpython/rtyper/tool/test/test_rffi_platform.py --- a/rpython/rtyper/tool/test/test_rffi_platform.py +++ b/rpython/rtyper/tool/test/test_rffi_platform.py @@ -126,6 +126,13 @@ value = rffi_platform.getdefineddouble('BLAH', '#define BLAH (double)0/0') assert isnan(value) +def test_defined_constant_string(): + value = rffi_platform.getdefinedstring('MCDONC', '') + assert value is None + value = rffi_platform.getdefinedstring('RAYDEO', + '#define RAYDEO "Michael Merickel"') + assert value == 'Michael Merickel' + def test_getintegerfunctionresult(): func = 'int sum(int a, int b) {return a + b;}' value = rffi_platform.getintegerfunctionresult('sum', [6, 7], func) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit