ldtp / ldtp2

Linux Desktop Testing Project
GNU Lesser General Public License v2.1
108 stars 49 forks source link

Typeerror: Cannot Create A Consistent Method Resolution Order (Mro) when trying to launch ldtp daemon via "#ldtp -s" #65

Open amoom opened 4 months ago

amoom commented 4 months ago

trying to launch ldtp daemon via "ldtp -s" and get below error message

Traceback (most recent call last): File "/usr/local/bin/ldtp", line 4, in import('pkg_resources').run_script('ldtp==3.5.1', 'ldtp') File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 722, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 1561, in run_script exec(code, namespace, namespace) File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/EGG-INFO/scripts/ldtp", line 23, in import ldtpd File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/init.py", line 40, in from xmlrpc_daemon import XMLRPCLdtpd File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/xmlrpc_daemon.py", line 25, in import core File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/core.py", line 65, in from combo_box import ComboBox File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/combo_box.py", line 286, in class ComboBox(Utils, LayeredPane): TypeError: Cannot create a consistent method resolution order (MRO) for bases Utils, LayeredPane

which can be fixed by switching the order of base classes: class ComboBox(Utils, LayeredPane): to class ComboBox(LayeredPane,Utils):

looks like a diamond Inheritance problem.

amoom commented 4 months ago

as well, same issue for core.py put Utils to the end of param table: class Ldtpd(ComboBox, Table, Menu, PageTabList, Text, Mouse, Generic, Value, Utils)

Traceback (most recent call last): File "/usr/local/bin/ldtp", line 4, in import('pkg_resources').run_script('ldtp==3.5.1', 'ldtp') File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 722, in run_script self.require(requires)[0].run_script(script_name, ns) File "/usr/lib/python3.11/site-packages/pkg_resources/init.py", line 1561, in run_script exec(code, namespace, namespace) File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/EGG-INFO/scripts/ldtp", line 23, in import ldtpd File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/init.py", line 40, in from xmlrpc_daemon import XMLRPCLdtpd File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/xmlrpc_daemon.py", line 25, in import core File "/usr/local/lib/python3.11/site-packages/ldtp-3.5.1-py3.11.egg/ldtpd/core.py", line 71, in class Ldtpd(Utils, ComboBox, Table, Menu, PageTabList, TypeError: Cannot create a consistent method resolution order (MRO) for bases Utils, ComboBox, Table, Menu, PageTabList, Text, Mouse, Generic, Value