Skip to content

Commit 6be5729

Browse files
Merge branch 'topic/#535' into 'master'
Stabilize tests See merge request eng/ide/gnatstudio!865
2 parents e1e2c85 + 34777a2 commit 6be5729

File tree

4 files changed

+18
-20
lines changed

4 files changed

+18
-20
lines changed

share/support/ui/pygps/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ def get_gtk_buffer(ed_buf):
291291
def get_window_by_title(title, list=None):
292292
"""Search the whole hierarchy given by list (see WidgetTree) the
293293
first window with given title.
294+
Return None when there is no window with the given title.
294295
"""
295296

296297
result = [
@@ -301,7 +302,7 @@ def get_window_by_title(title, list=None):
301302
if result:
302303
return result[0]
303304
else:
304-
return result
305+
return None
305306

306307
def get_window_by_prefix(prefix, list=None):
307308
"""Search the whole hierarchy given by list (see WidgetTree) the

testsuite/tests/S603-029.lsp.called_by/test.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
get_widget_by_name,
44
dump_tree_model,
55
gps_assert,
6+
wait_language_server,
67
)
78
from gs_utils import hook
89
from pygps import double_click_events
@@ -19,8 +20,8 @@ def driver():
1920
yield wait_idle()
2021

2122
GPS.execute_action("Entity called by")
22-
yield hook("language_server_response_processed")
23-
yield timeout(500)
23+
yield wait_language_server("callHierarchy/incomingCalls")
24+
yield wait_idle()
2425

2526
call_tree = get_widget_by_name("Call Graph Tree")
2627
selection = call_tree.get_selection()
@@ -29,8 +30,8 @@ def driver():
2930
selection.select_iter(model.iter_nth_child(model.get_iter_first(), 0))
3031

3132
GPS.execute_action("calltree expand selected")
32-
yield hook("language_server_response_processed")
33-
yield timeout(500)
33+
yield wait_language_server("callHierarchy/incomingCalls")
34+
yield wait_idle()
3435

3536
expected = [
3637
"Foo is called by ",

testsuite/tests/T330-041.lsp.restart/test.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"""
44
from gs_utils.internal.utils import (
55
run_test_driver,
6+
wait_language_server,
67
wait_tasks,
78
hook,
89
gps_assert,
@@ -22,9 +23,7 @@ def driver():
2223

2324
# First verify that the navigation does *not* work
2425
GPS.execute_action("goto declaration")
25-
# At this point "language_server_response_processed" shouldn't work,
26-
# timeout instead
27-
yield timeout(500)
26+
yield wait_language_server("textDocument/declaration")
2827
current_buf = GPS.EditorBuffer.get()
2928
gps_assert(
3029
current_buf.file(),
@@ -45,8 +44,8 @@ def driver():
4544
b.current_view().goto(b.at(4, 7))
4645
yield wait_idle()
4746
GPS.execute_action("goto declaration")
48-
# using this hook to be sure that declaration is found by ALS
49-
yield hook("language_server_response_processed")
47+
yield wait_language_server("textDocument/declaration")
48+
5049
gps_assert(
5150
GPS.EditorBuffer.get().file(),
5251
GPS.File("foo.ads"),
@@ -58,8 +57,8 @@ def driver():
5857
b.current_view().goto(b.at(6, 26))
5958
yield wait_tasks()
6059
GPS.execute_action("goto declaration")
61-
yield hook("language_server_response_processed")
62-
yield wait_idle()
60+
yield wait_language_server("textDocument/declaration")
61+
6362
gps_assert(
6463
b.current_view().cursor().line(),
6564
4,
@@ -72,9 +71,8 @@ def driver():
7271
b.current_view().goto(b.at(6, 26))
7372
yield wait_idle()
7473
GPS.execute_action("goto declaration")
75-
yield hook("language_server_response_processed")
76-
yield wait_idle()
77-
yield timeout(300)
74+
yield wait_language_server("textDocument/declaration")
75+
7876
gps_assert(
7977
b.current_view().cursor().line(),
8078
4,

testsuite/tests/U922-018.rename.permission/test.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@ def run_test():
2626
check = get_button_from_label("Make files writable", dialog)
2727
check.set_active(False)
2828
get_stock_button(dialog, STOCK_OK).clicked()
29-
yield timeout(500)
29+
ERROR_DIALOG_TITLE = "Refactoring - rename Hello to Bye raises errors"
30+
yield wait_until_true(lambda: get_window_by_title(ERROR_DIALOG_TITLE) is not None)
3031

3132
# A dialog reporting an error should be opened, reply no to it
32-
error_dialog = get_window_by_title(
33-
"Refactoring - rename Hello to Bye raises errors"
34-
)
35-
GPS.Console().write(str(error_dialog))
33+
error_dialog = get_window_by_title(ERROR_DIALOG_TITLE)
3634
get_button_from_label("Undo", error_dialog).clicked()
3735
yield wait_idle()
3836

0 commit comments

Comments
 (0)