From fa3bdebf34e0d055c4fc9ab1394f31b281fb14c6 Mon Sep 17 00:00:00 2001 From: fvogel Date: Tue, 3 Jan 2023 19:46:04 +0000 Subject: Add a comment in proc deleteWindows (constraints.tcl) that could explain the delayed deletion problem on macOS at the CI runners, that a call to 'update' is preventing. --- tests/constraints.tcl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/constraints.tcl b/tests/constraints.tcl index fa6011f..c3d21bb 100644 --- a/tests/constraints.tcl +++ b/tests/constraints.tcl @@ -123,9 +123,13 @@ namespace eval tk { proc deleteWindows {} { eval destroy [winfo children .] # This update is needed to avoid intermittent failures on macOS in unixEmbed.test + # with the (GitHub Actions) CI runner. # Reason for the failures is unclear but could have to do with window ids being deleted # after the destroy command returns. The detailed mechanism of such delayed deletions # is not understood, but it appears that this update prevents the test failures. + # Question: Is this perhaps due to the above call to 'eval' leading to callbacks + # creation and in turn to delayed deletions? To be checked, and probably + # anyway replace this line by 'destroy {*}[winfo children .]' update } -- cgit v0.12 From b8bdb55f20448bc5e03e1d72112afca7ab8566fb Mon Sep 17 00:00:00 2001 From: fvogel Date: Sat, 7 Jan 2023 13:14:37 +0000 Subject: The possible cause for unixEmbed-10.2 and frame-3.10 tests failures on macOS mentioned in the comments of proc deleteWindows is not the correct one. Keep the workaround (the return statement) and change the destroy line anyway. --- tests/constraints.tcl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/constraints.tcl b/tests/constraints.tcl index c3d21bb..ad0ca85 100644 --- a/tests/constraints.tcl +++ b/tests/constraints.tcl @@ -121,15 +121,12 @@ namespace eval tk { namespace export deleteWindows proc deleteWindows {} { - eval destroy [winfo children .] + destroy {*}[winfo children .] # This update is needed to avoid intermittent failures on macOS in unixEmbed.test # with the (GitHub Actions) CI runner. # Reason for the failures is unclear but could have to do with window ids being deleted # after the destroy command returns. The detailed mechanism of such delayed deletions # is not understood, but it appears that this update prevents the test failures. - # Question: Is this perhaps due to the above call to 'eval' leading to callbacks - # creation and in turn to delayed deletions? To be checked, and probably - # anyway replace this line by 'destroy {*}[winfo children .]' update } -- cgit v0.12