Yann Leboulanger pushed to branch master at gajim / gajim

Commits:
5c0538a2 by Yann Leboulanger at 2017-09-15T15:11:55+02:00
Fix running make test

- - - - -


7 changed files:

- plugins/roster_buttons/plugin.py
- test/integration/test_roster.py
- test/lib/__init__.py
- test/lib/gajim_mocks.py
- test/runtests.py
- test/unit/test_gui_interface.py
- test/unit/test_sessions.py


Changes:

=====================================
plugins/roster_buttons/plugin.py
=====================================
--- a/plugins/roster_buttons/plugin.py
+++ b/plugins/roster_buttons/plugin.py
@@ -38,13 +38,13 @@ class RosterButtonsPlugin(GajimPlugin):
     def init(self):
         self.description = _('Adds quick action buttons to roster window.')
         self.GTK_BUILDER_FILE_PATH = self.local_file_path('roster_buttons.ui')
-        self.roster_vbox = app.interface.roster.xml.get_object('roster_vbox2')
-        self.show_offline_contacts_menuitem = 
app.interface.roster.xml.get_object('show_offline_contacts_menuitem')
 
         self.config_dialog = None
 
     @log_calls('RosterButtonsPlugin')
     def activate(self):
+        self.roster_vbox = app.interface.roster.xml.get_object('roster_vbox2')
+        self.show_offline_contacts_menuitem = 
app.interface.roster.xml.get_object('show_offline_contacts_menuitem')
         self.xml = gtk.Builder()
         self.xml.set_translation_domain('gajim_plugins')
         self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH,


=====================================
test/integration/test_roster.py
=====================================
--- a/test/integration/test_roster.py
+++ b/test/integration/test_roster.py
@@ -35,6 +35,14 @@ class TestRosterWindow(unittest.TestCase):
             app.connections[acc] = MockConnection(acc)
             app.contacts.add_account(acc)
 
+    def tearDown(self):
+        self.roster.window.destroy()
+        # Clean main loop
+        from gi.repository import GLib
+        mc = GLib.main_context_default()
+        while mc.pending():
+            mc.iteration()
+
     ### Custom assertions
     def assert_all_contacts_are_in_roster(self, acc):
         for jid in contacts[acc]:


=====================================
test/lib/__init__.py
=====================================
--- a/test/lib/__init__.py
+++ b/test/lib/__init__.py
@@ -26,6 +26,8 @@ pluginsconfigdir = configdir + '/pluginsconfig'
 import builtins
 builtins._ = lambda x: x
 
+from gajim.common.contacts import LegacyContactsAPI
+
 def setup_env():
     # wipe config directory
     if os.path.isdir(configdir):
@@ -46,6 +48,8 @@ def setup_env():
 
     app.DATA_DIR = gajim_root + '/data'
     app.use_x = use_x
+    app.contacts = LegacyContactsAPI()
+    app.connections = {}
 
     if use_x:
         from gajim import gtkgui_helpers


=====================================
test/lib/gajim_mocks.py
=====================================
--- a/test/lib/gajim_mocks.py
+++ b/test/lib/gajim_mocks.py
@@ -107,7 +107,7 @@ class MockInterface(Mock):
         self.msg_win_mgr = Mock()
         self.roster = Mock()
         app.ged = ged.GlobalEventsDispatcher()
-        import plugins
+        from gajim import plugins
         app.plugin_manager = plugins.PluginManager()
 
         self.remote_ctrl = None
@@ -119,7 +119,7 @@ class MockInterface(Mock):
             self.jabber_state_images = {'16': {}, '24': {}, '32': {},
                 'opened': {}, 'closed': {}}
 
-            import gtkgui_helpers
+            from gajim import gtkgui_helpers
             gtkgui_helpers.make_jabber_state_images()
         else:
             self.jabber_state_images = {'16': Mock(), '24': Mock(),


=====================================
test/runtests.py
=====================================
--- a/test/runtests.py
+++ b/test/runtests.py
@@ -53,8 +53,18 @@ nb_errors = 0
 nb_failures = 0
 
 for mod in modules:
+    print("Now running: %s" % mod)
     suite = unittest.defaultTestLoader.loadTestsFromName(mod)
     result = unittest.TextTestRunner(verbosity=verbose).run(suite)
+    if use_x:
+        # Wait 1s to be sure all timeout_add will be called before we cleanup 
main loop
+        import time
+        time.sleep(0.5)
+        # Clean main loop
+        from gi.repository import GLib
+        mc = GLib.main_context_default()
+        while mc.pending():
+            mc.iteration()
     nb_errors += len(result.errors)
     nb_failures += len(result.failures)
 


=====================================
test/unit/test_gui_interface.py
=====================================
--- a/test/unit/test_gui_interface.py
+++ b/test/unit/test_gui_interface.py
@@ -16,10 +16,15 @@ app.logger = MockLogger()
 
 from gajim.gui_interface import Interface
 
+from gi.repository import GLib
+
 class TestInterface(unittest.TestCase):
 
     def test_instantiation(self):
         ''' Test that we can proper initialize and do not fail on globals '''
+        def close_app():
+            app.app.quit()
+        GLib.idle_add(close_app)
         app.app.run()
 
     def test_links_regexp_entire(self):


=====================================
test/unit/test_sessions.py
=====================================
--- a/test/unit/test_sessions.py
+++ b/test/unit/test_sessions.py
@@ -22,12 +22,13 @@ from gajim.roster_window import RosterWindow
 
 from mock import Mock, expectParams
 from gajim_mocks import *
+from data import account1
 
 app.interface = MockInterface()
 
 
 # name to use for the test account
-account_name = 'test'
+account_name = account1
 
 class TestStanzaSession(unittest.TestCase):
     ''' Testclass for common/stanzasession.py '''
@@ -171,7 +172,7 @@ class TestChatControlSession(unittest.TestCase):
         jid = '[email protected]'
         fjid = '[email protected]/Gajim'
         msgtxt = 'testing two'
-        roster = RosterWindow(app.app)
+        app.interface.roster = RosterWindow(app.app)
 
         sess = self.conn.sessions[jid]['123']
         sess.control = MockChatControl(fjid, account_name)
@@ -190,6 +191,7 @@ class TestChatControlSession(unittest.TestCase):
         # message was printed to the control
         calls = sess.control.mockGetNamedCalls('print_conversation')
         self.assertEqual(1, len(calls))
+        app.interface.roster.window.destroy()
 
     #def test_received_3orphaned_control(self):
         #'''test receiving a message when a control that doesn't have a session



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/5c0538a202d3750686bd50d8d66c84637c28ec3b

---
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/5c0538a202d3750686bd50d8d66c84637c28ec3b
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to