Skip to content

Commit 6d2d2cc

Browse files
committed
Try to fix tests on Azure
1 parent c134bbc commit 6d2d2cc

1 file changed

Lines changed: 21 additions & 14 deletions

File tree

qtapputils/managers/tests/test_fileio.py

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,23 @@ def dummy_onsave_generic_error(filename, *args, **kwargs):
5353
}
5454

5555

56+
@pytest.fixture
57+
def parent(qtbot):
58+
parent = QWidget()
59+
qtbot.addWidget(parent)
60+
return parent
61+
62+
5663
# =============================================================================
5764
# ---- Tests
5865
# =============================================================================
5966
@pytest.mark.parametrize('atomic', [True, False])
60-
def test_save_file_success(tmp_path, atomic):
67+
def test_save_file_success(tmp_path, atomic, parent):
6168
"""Test successful file save in atomic and non-atomic modes."""
6269
manager = SaveFileManager(
6370
namefilters=NAMEFILTERS,
6471
onsave=dummy_onsave_success,
65-
parent=QWidget(),
72+
parent=parent,
6673
atomic=atomic
6774
)
6875

@@ -75,12 +82,12 @@ def test_save_file_success(tmp_path, atomic):
7582

7683

7784
@pytest.mark.parametrize('atomic', [True, False])
78-
def test_save_file_as_success(tmp_path, mocker, atomic):
85+
def test_save_file_as_success(tmp_path, mocker, atomic, parent):
7986
"""Test successful file save using the 'Save As' dialog."""
8087
manager = SaveFileManager(
8188
namefilters=NAMEFILTERS,
8289
onsave=dummy_onsave_success,
83-
parent=QWidget(),
90+
parent=parent,
8491
atomic=atomic
8592
)
8693

@@ -101,12 +108,12 @@ def test_save_file_as_success(tmp_path, mocker, atomic):
101108

102109

103110
@pytest.mark.parametrize('atomic', [True, False])
104-
def test_save_file_permission_error(tmp_path, mocker, atomic):
111+
def test_save_file_permission_error(tmp_path, mocker, atomic, parent):
105112
"""Test handling of PermissionError during save with user cancel."""
106113
manager = SaveFileManager(
107114
namefilters=NAMEFILTERS,
108115
onsave=dummy_onsave_permission_error,
109-
parent=QWidget(),
116+
parent=parent,
110117
atomic=atomic
111118
)
112119

@@ -132,12 +139,12 @@ def test_save_file_permission_error(tmp_path, mocker, atomic):
132139

133140

134141
@pytest.mark.parametrize('atomic', [True, False])
135-
def test_save_file_generic_exception(tmp_path, mocker, atomic):
142+
def test_save_file_generic_exception(tmp_path, mocker, atomic, parent):
136143
"""Test handling of generic exception during save."""
137144
manager = SaveFileManager(
138145
namefilters=NAMEFILTERS,
139146
onsave=dummy_onsave_generic_error,
140-
parent=QWidget(),
147+
parent=parent,
141148
atomic=atomic
142149
)
143150

@@ -155,12 +162,12 @@ def test_save_file_generic_exception(tmp_path, mocker, atomic):
155162

156163

157164
@pytest.mark.parametrize('atomic', [True, False])
158-
def test_extension_added_if_missing(tmp_path, mocker, atomic):
165+
def test_extension_added_if_missing(tmp_path, mocker, atomic, parent):
159166
"""Test automatic extension addition when missing in file name."""
160167
manager = SaveFileManager(
161168
namefilters=NAMEFILTERS,
162169
onsave=dummy_onsave_success,
163-
parent=QWidget(),
170+
parent=parent,
164171
atomic=atomic
165172
)
166173

@@ -181,12 +188,12 @@ def test_extension_added_if_missing(tmp_path, mocker, atomic):
181188

182189

183190
@pytest.mark.parametrize('atomic', [True, False])
184-
def test_save_file_as_cancel(tmp_path, mocker, atomic):
191+
def test_save_file_as_cancel(tmp_path, mocker, atomic, parent):
185192
"""Test 'Save As' dialog cancel returns None and does not save."""
186193
manager = SaveFileManager(
187194
namefilters=NAMEFILTERS,
188195
onsave=dummy_onsave_success,
189-
parent=QWidget(),
196+
parent=parent,
190197
atomic=atomic
191198
)
192199

@@ -204,12 +211,12 @@ def test_save_file_as_cancel(tmp_path, mocker, atomic):
204211
assert not osp.exists(filename)
205212

206213

207-
def test_atomic_save_replace_permission_error(tmp_path, mocker):
214+
def test_atomic_save_replace_permission_error(tmp_path, mocker, parent):
208215
"""Test atomic save when os.replace raises PermissionError."""
209216
manager = SaveFileManager(
210217
namefilters=NAMEFILTERS,
211218
onsave=dummy_onsave_success,
212-
parent=QWidget(),
219+
parent=parent,
213220
atomic=True
214221
)
215222
filename = osp.join(tmp_path, "file.txt")

0 commit comments

Comments
 (0)