1111import os
1212import pathlib
1313import shutil
14- import sys
1514import tempfile
1615import unittest
1716
2221from traits .api import Event , HasTraits , provides
2322
2423from envisage .api import Plugin
25- from envisage .tests .support import (
26- pyside6_available ,
27- pyside6_version ,
28- requires_gui ,
29- )
24+ from envisage .tests .support import requires_gui
3025from envisage .ui .tasks .api import TasksApplication
3126from envisage .ui .tasks .tasks_application import DEFAULT_STATE_FILENAME
3227
33- # There's a PySide6 end-of-process segfault on Linux that's
34- # interfering with our CI runs, so we skip the relevant tests
35- # when running under GitHub Actions CI.
36- # xref: enthought/envisage#476
37- skip_with_flaky_pyside = unittest .skipIf (
38- (
39- os .getenv ("GITHUB_ACTIONS" ) == "true"
40- and sys .platform == "linux"
41- and pyside6_available
42- and pyside6_version < (6 , 4 , 3 )
43- ),
44- "Skipping segfault-causing test on Linux. See enthought/envisage#476" ,
45- )
46-
4728
4829@provides (IGUI )
4930class DummyGUI (HasTraits ):
@@ -94,7 +75,6 @@ def setUp(self):
9475 self .tmpdir = tempfile .mkdtemp ()
9576 self .addCleanup (shutil .rmtree , self .tmpdir )
9677
97- @skip_with_flaky_pyside
9878 def test_layout_save_with_protocol_3 (self ):
9979 # Test that the protocol can be overridden on a per-application basis.
10080 state_location = self .tmpdir
@@ -116,7 +96,6 @@ def test_layout_save_with_protocol_3(self):
11696 protocol_bytes = f .read (2 )
11797 self .assertEqual (protocol_bytes , b"\x80 \x03 " )
11898
119- @skip_with_flaky_pyside
12099 def test_layout_save_creates_directory (self ):
121100 # Test that state can still be saved if the target directory
122101 # doesn't exist.
@@ -138,7 +117,6 @@ def test_layout_save_creates_directory(self):
138117 self .assertTrue (state_location .exists ())
139118 self .assertTrue (state_path .exists ())
140119
141- @skip_with_flaky_pyside
142120 def test_layout_load (self ):
143121 # Check we can load a previously-created state. That previous state
144122 # has an main window size of (492, 743) (to allow us to check that
@@ -160,7 +138,6 @@ def test_layout_load(self):
160138 state = app ._state
161139 self .assertEqual (state .previous_window_layouts [0 ].size , (492 , 743 ))
162140
163- @skip_with_flaky_pyside
164141 def test_layout_load_pickle_protocol_3 (self ):
165142 # Same as the above test, but using a state stored with pickle
166143 # protocol 3.
@@ -191,13 +168,11 @@ def test_gui_trait_expects_IGUI_interface(self):
191168 app = TasksApplication ()
192169 app .gui = DummyGUI ()
193170
194- @skip_with_flaky_pyside
195171 def test_simple_lifecycle (self ):
196172 app = TasksApplication (state_location = self .tmpdir )
197173 app .observe (lambda event : app .exit (), "application_initialized" )
198174 app .run ()
199175
200- @skip_with_flaky_pyside
201176 def test_lifecycle_with_plugin (self ):
202177 events = []
203178 plugin = LifecycleRecordingPlugin (record_to = events )
0 commit comments