office-gobmx/librelogo
Stephan Bergmann 841ee6fb05 Adapt LibreLogo.py to Python 3.7 re.sub change
In a build using the system Python during build (i.e., not using
--enable-python=fully-internal) on Fedora 29 (where /usr/bin/python3 is 3.7.1),
UITest_librelogo failed with

> ======================================================================
> FAIL: test_compile_librelogo (compile.LibreLogoCompileTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/data/sbergman/lo-system/core/sw/qa/uitest/librelogo/compile.py", line 128, in test_compile_librelogo
>     self.assertEqual(test[1], re.sub(r'(\n| +\n)+', '\n', re.sub(r'\( ', '(', compiled)).strip())
> AssertionError: 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, 26)' != 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, ,26)'
>   global x
>   def x(_y, _z):
>    __checkhalt__()
>    #_@L_i_N_e@_#
>    label(_y + _z)
>    #_@L_i_N_e@_#
>   #_@L_i_N_e@_#
> - x(25, 26)+ x(25, ,26)?       +
>
>
> ----------------------------------------------------------------------

due to an upstream Python change discussed at
<https://bugs.python.org/issue34982#msg329418> "re.sub() different behavior in
3.7".

I am not sure that upstream change really makes sense, despite that being
explicitly confirmed in <https://bugs.python.org/issue34982#msg329420>.  But
lets tweak our code to adapt to that anyway.  (There may be further places in
LibreLogo.py that would need similar changes; I just fixed enough to make
UITest_librelogo succeed for me.)

Change-Id: I6c8f4b78f63953d582b88037fa56388b50af2b54
Reviewed-on: https://gerrit.libreoffice.org/63038
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-08 11:03:41 +01:00
..
source Adapt LibreLogo.py to Python 3.7 re.sub change 2018-11-08 11:03:41 +01:00
CustomTarget_librelogo.mk
Makefile
Module_librelogo.mk
Package_librelogo.mk
Package_librelogo_properties.mk
README

LibreLogo is a Logo-like programming language with interactive vectorgraphics for education and DTP