I am already burning my brain for too many weeks!
I am migrating RIDE from Classic wxPython to Phoenix. I have a major bug that only happens with Phoenix (and not with 2.8.12.1 and 3.0.2). My branch with debugging output is https://github.com/HelioGuilherme66/RIDE/tree/wxPhoenix.
The application features a Text Editor and Cell Editor (Spreadsheet like) for Robot Framework testing files.
Recommended Setup:
Install robotframework with:
pip install robotframework
``
Install Phoenix (for example for Python 2.7 in Windows 64bit):
pip install http://wxpython.org/Phoenix/snapshot-builds/wxPython_Phoenix-3.0.3.dev2030+028d173-cp27-cp27m-win_amd64.whl
``
or
Install Phoenix (for example for Python 2.7 in Linux 64bit):
pip install https://github.com/HelioGuilherme66/Phoenix/releases/download/v3.0.3.dev2001/wxPython_Phoenix-3.0.3-cp27-none-linux_x86_64.whl
``
Install RIDE (or get the code) (please see the installation instructions in the Wiki):
pip install https://github.com/HelioGuilherme66/RIDE/archive/wxPhoenix.zip
``
Example.robot (804 Bytes)
···
If using the source code, you may run with:
invoke devel
``
or
python src/robotide/init.py
``
Description of the blocking bug (when running in Fedora Core 22 x64):
1 - Enter a keyword in a Cell, or edit exiting value.
2.1 - If running from installed RIDE (or with PyCharm), there will be an “maximum recursion limit” error in RIDE Log.
But the Cell content is correctly changed.
2.2 - If running from source code, the application will crash with Segmentation fault.
If you start editing a Cell but keep the value unchanged, there will be no problem.
The CellEditor methods include a feature to look up the imported libraries in the Test File and suggest known values (by using Control+Space). The problem is when saving the editing to the file context, there is a recursive call to the storing methods (the moment we conclude the editing).
Why does this code breaks with Phoenix and not with 2.8.12.1 and 3.0.2?
(I want to improve the code, but I would be happy with a workaround or if confirmed that is Phoenix bug).
The problematic code is in file
src/robotide/editor/kweditor.py.
Attached is an example file. And image of it opened in RIDE.
Please help this Software Tester (also Software Archeologist ), I will help testing your open source projects if you want :).
Thank you,
Help