openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #22685
[Merge] lp:~tomasgroth/openlp/fix-tests into lp:openlp
Tomas Groth has proposed merging lp:~tomasgroth/openlp/fix-tests into lp:openlp.
Requested reviews:
Raoul Snyman (raoul-snyman)
Tim Bentley (trb143)
For more details, see:
https://code.launchpad.net/~tomasgroth/openlp/fix-tests/+merge/210485
Fix tests.
To avoid segfaults reuse QApplication instance.
Also use ICU when getting locale sort key.
--
https://code.launchpad.net/~tomasgroth/openlp/fix-tests/+merge/210485
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/utils/__init__.py'
--- openlp/core/utils/__init__.py 2014-01-11 21:29:01 +0000
+++ openlp/core/utils/__init__.py 2014-03-11 19:42:00 +0000
@@ -426,9 +426,9 @@
The corresponding string.
"""
string = string.lower()
- # For Python 3 on platforms other than Windows ICU is not necessary. In those cases locale.strxfrm(str) can be used.
- if os.name == 'nt':
- global ICU_COLLATOR
+ # ICU is the prefered way to handle locale sort key, we fallback to locale.strxfrm which will work in most cases.
+ global ICU_COLLATOR
+ try:
if ICU_COLLATOR is None:
import icu
from .languagemanager import LanguageManager
@@ -436,8 +436,8 @@
icu_locale = icu.Locale(language)
ICU_COLLATOR = icu.Collator.createInstance(icu_locale)
return ICU_COLLATOR.getSortKey(string)
- return locale.strxfrm(string).encode()
-
+ except:
+ return locale.strxfrm(string).encode()
def get_natural_key(string):
"""
=== modified file 'tests/interfaces/openlp_core_lib/test_pluginmanager.py'
--- tests/interfaces/openlp_core_lib/test_pluginmanager.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_core_lib/test_pluginmanager.py 2014-03-11 19:42:00 +0000
@@ -7,7 +7,7 @@
from tempfile import mkstemp, mkdtemp
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry, Settings
from openlp.core.lib.pluginmanager import PluginManager
@@ -29,12 +29,15 @@
Settings().setValue('advanced/data path', self.temp_dir)
Registry.create()
Registry().register('service_list', MagicMock())
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
def tearDown(self):
- del self.app
del self.main_window
Settings().remove('advanced/data path')
shutil.rmtree(self.temp_dir)
=== modified file 'tests/interfaces/openlp_core_ui/test_filerenamedialog.py'
--- tests/interfaces/openlp_core_ui/test_filerenamedialog.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_core_ui/test_filerenamedialog.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui, QtTest
+from PyQt4 import QtCore, QtGui, QtTest
from openlp.core.common import Registry
from openlp.core.ui import filerenameform
@@ -17,7 +17,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = filerenameform.FileRenameForm()
@@ -28,7 +32,6 @@
"""
del self.form
del self.main_window
- del self.app
def window_title_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_listpreviewwidget.py'
--- tests/interfaces/openlp_core_ui/test_listpreviewwidget.py 2014-01-01 14:59:57 +0000
+++ tests/interfaces/openlp_core_ui/test_listpreviewwidget.py 2014-03-11 19:42:00 +0000
@@ -4,7 +4,7 @@
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.core.lib import ServiceItem
@@ -20,7 +20,11 @@
Create the UI.
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
self.image = QtGui.QImage(1, 1, QtGui.QImage.Format_RGB32)
self.image_manager = MagicMock()
@@ -34,7 +38,6 @@
"""
del self.preview_widget
del self.main_window
- del self.app
def initial_slide_count_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_mainwindow.py'
--- tests/interfaces/openlp_core_ui/test_mainwindow.py 2014-01-01 14:59:57 +0000
+++ tests/interfaces/openlp_core_ui/test_mainwindow.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.core.ui.mainwindow import MainWindow
@@ -18,7 +18,11 @@
"""
Registry.create()
self.registry = Registry()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
# Mock cursor busy/normal methods.
self.app.set_busy_cursor = MagicMock()
self.app.set_normal_cursor = MagicMock()
@@ -42,7 +46,6 @@
Delete all the C++ objects at the end so that we don't have a segfault
"""
del self.main_window
- del self.app
def restore_current_media_manager_item_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_servicemanager.py'
--- tests/interfaces/openlp_core_ui/test_servicemanager.py 2013-12-31 20:29:03 +0000
+++ tests/interfaces/openlp_core_ui/test_servicemanager.py 2014-03-11 19:42:00 +0000
@@ -19,7 +19,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
ScreenList.create(self.app.desktop())
Registry().register('application', MagicMock())
with patch('openlp.core.lib.PluginManager'):
@@ -31,7 +35,6 @@
Delete all the C++ objects at the end so that we don't have a segfault
"""
del self.main_window
- del self.app
def basic_service_manager_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_servicenotedialog.py'
--- tests/interfaces/openlp_core_ui/test_servicenotedialog.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_core_ui/test_servicenotedialog.py 2014-03-11 19:42:00 +0000
@@ -17,7 +17,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = servicenoteform.ServiceNoteForm()
@@ -28,7 +32,6 @@
"""
del self.form
del self.main_window
- del self.app
def basic_display_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_settings_form.py'
--- tests/interfaces/openlp_core_ui/test_settings_form.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_core_ui/test_settings_form.py 2014-03-11 19:42:00 +0000
@@ -31,7 +31,11 @@
self.dummy2 = MagicMock()
self.dummy3 = MagicMock()
self.desktop = MagicMock()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.desktop.primaryScreen.return_value = SCREEN['primary']
self.desktop.screenCount.return_value = SCREEN['number']
self.desktop.screenGeometry.return_value = SCREEN['size']
@@ -44,7 +48,6 @@
Delete all the C++ objects at the end so that we don't have a segfault
"""
del self.form
- del self.app
def basic_cancel_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_starttimedialog.py'
--- tests/interfaces/openlp_core_ui/test_starttimedialog.py 2014-01-01 14:59:57 +0000
+++ tests/interfaces/openlp_core_ui/test_starttimedialog.py 2014-03-11 19:42:00 +0000
@@ -17,7 +17,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = starttimeform.StartTimeForm()
@@ -28,7 +32,6 @@
"""
del self.form
del self.main_window
- del self.app
def ui_defaults_test(self):
"""
=== modified file 'tests/interfaces/openlp_core_ui/test_thememanager.py'
--- tests/interfaces/openlp_core_ui/test_thememanager.py 2014-01-04 08:28:45 +0000
+++ tests/interfaces/openlp_core_ui/test_thememanager.py 2014-03-11 19:42:00 +0000
@@ -33,7 +33,7 @@
from unittest import TestCase
from tempfile import mkstemp
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry, Settings
from openlp.core.ui import ThemeManager
@@ -50,7 +50,11 @@
"""
fd, self.ini_file = mkstemp('.ini')
Settings().set_filename(self.ini_file)
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
Registry.create()
self.theme_manager = ThemeManager()
@@ -60,7 +64,6 @@
"""
os.unlink(self.ini_file)
os.unlink(Settings().fileName())
- del self.app
def initialise_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/custom/forms/test_customform.py'
--- tests/interfaces/openlp_plugins/custom/forms/test_customform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/custom/forms/test_customform.py 2014-03-11 19:42:00 +0000
@@ -21,7 +21,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
media_item = MagicMock()
@@ -34,7 +38,6 @@
"""
del self.form
del self.main_window
- del self.app
def load_themes_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/custom/forms/test_customslideform.py'
--- tests/interfaces/openlp_plugins/custom/forms/test_customslideform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/custom/forms/test_customslideform.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.plugins.custom.forms.editcustomslideform import EditCustomSlideForm
@@ -19,7 +19,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = EditCustomSlideForm()
@@ -30,7 +34,6 @@
"""
del self.form
del self.main_window
- del self.app
def basic_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py'
--- tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.plugins.songs.forms.authorsform import AuthorsForm
@@ -19,7 +19,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = AuthorsForm()
@@ -30,7 +34,6 @@
"""
del self.form
del self.main_window
- del self.app
def ui_defaults_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/songs/forms/test_editsongform.py'
--- tests/interfaces/openlp_plugins/songs/forms/test_editsongform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/songs/forms/test_editsongform.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.plugins.songs.forms.editsongform import EditSongForm
@@ -20,7 +20,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
Registry().register('theme_manager', MagicMock())
@@ -32,7 +36,6 @@
"""
del self.form
del self.main_window
- del self.app
def ui_defaults_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/songs/forms/test_editverseform.py'
--- tests/interfaces/openlp_plugins/songs/forms/test_editverseform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/songs/forms/test_editverseform.py 2014-03-11 19:42:00 +0000
@@ -19,7 +19,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = EditVerseForm()
@@ -30,7 +34,6 @@
"""
del self.form
del self.main_window
- del self.app
def ui_defaults_test(self):
"""
=== modified file 'tests/interfaces/openlp_plugins/songs/forms/test_topicsform.py'
--- tests/interfaces/openlp_plugins/songs/forms/test_topicsform.py 2013-12-13 17:44:05 +0000
+++ tests/interfaces/openlp_plugins/songs/forms/test_topicsform.py 2014-03-11 19:42:00 +0000
@@ -3,7 +3,7 @@
"""
from unittest import TestCase
-from PyQt4 import QtGui
+from PyQt4 import QtGui, QtCore
from openlp.core.common import Registry
from openlp.plugins.songs.forms.topicsform import TopicsForm
@@ -19,7 +19,11 @@
Create the UI
"""
Registry.create()
- self.app = QtGui.QApplication([])
+ old_app_instance = QtCore.QCoreApplication.instance()
+ if old_app_instance is None:
+ self.app = QtGui.QApplication([])
+ else:
+ self.app = old_app_instance
self.main_window = QtGui.QMainWindow()
Registry().register('main_window', self.main_window)
self.form = TopicsForm()
@@ -30,7 +34,6 @@
"""
del self.form
del self.main_window
- del self.app
def ui_defaults_test(self):
"""
Follow ups