Closed Bug 1581633 Opened 5 years ago Closed 5 years ago

Port GUI to python 3 + pyside2

Categories

(Testing :: mozregression, enhancement)

Version 3
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wlach, Assigned: wlach)

References

Details

Attachments

(1 file)

We recently ported the command line version of mozregression to python 3, we should do the same for the GUI.

It is probably best to fix bug 1426766 at the same time -- likely it will be much easier to test the GUI on python 3 when it is pip installed (which will be possible with PyQT5 and python 3).

After that's done, all that remains is running modernize on the codebase (everything under gui) and fixing whatever bugs there are in the GUI-specific unit tests.

See Also: → 1581643

Working on this now in spare moments (along with a port of the GUI to pyside2), hoping to have something done end-of-month.

Assignee: nobody → wlachance
Summary: Port GUI to python 3 → Port GUI to python 3 + pyside2
Attached file GitHub Pull Request

See this PR, definitely won't be done end-of-month but will continue chipping away at it. May land some parts (e.g. straightforward python3 parsing fixes) in smaller chunks as I go, depending.

Almost done now. Wound up switching from cx_freeze to pyinstaller, which seems to work better for this type of application.

Note: the executable is still quite large, would be nice to clean out unnecessary stuff e.g. it looks like it's including all these modules from PySide2 -- almost all of which we'll never use:

PySide2.Qt3DAnimation
PySide2.Qt3DCore
PySide2.Qt3DExtras
PySide2.Qt3DInput
PySide2.Qt3DLogic
PySide2.Qt3DRender
PySide2.QtCharts
PySide2.QtConcurrent
PySide2.QtDataVisualization
PySide2.QtHelp
PySide2.QtLocation
PySide2.QtMultimedia
PySide2.QtMultimediaWidgets
PySide2.QtNetwork
PySide2.QtOpenGL
PySide2.QtPositioning
PySide2.QtPrintSupport
PySide2.QtQml
PySide2.QtQuick
PySide2.QtQuickWidgets
PySide2.QtScxml
PySide2.QtSensors
PySide2.QtSql
PySide2.QtSvg
PySide2.QtTextToSpeech
PySide2.QtWebChannel
PySide2.QtWebEngineCore
PySide2.QtWebEngineWidgets
PySide2.QtWebSockets
PySide2.QtXml
PySide2.QtXmlPatterns
Blocks: 1425105

This is now merged.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED

(In reply to William Lachance (:wlach) (use needinfo!) from comment #4)

Note: the executable is still quite large, would be nice to clean out unnecessary stuff e.g. it looks like it's including all these modules from PySide2 -- almost all of which we'll never use:

On second look, I don't think these are actually included. Even the limited set of modules we're using with PySide2 are very big. :(

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: