|
From: Francois V. <fra...@gm...> - 2019-10-09 20:55:10
|
Le 09/10/2019 à 21:54, Marc Culler a écrit : > We are now getting 0 failures in the test suite when the > catalina_more_tests branch is used on a macOS Catalina system (i.e. on > my computer). > > We should run the tests on other macOS versions before merging. More > importantly, we need to > test the catalina_more_tests branch on other platforms Wise suggestion! On Vista, core-8-6-branch shows zero failure, but catalina_more_tests at [10488a8c] <https://core.tcl-lang.org/tk/info/10488a8c899a0d8b> shows 55 failures. Full Tk tests log attached. > When I looked at textDisp.test I was shocked at the overuse of the > update command, especially given that our own wiki > <https://wiki.tcl-lang.org/page/update> strongly advises against using it. On my side when I saw the commit I was wondering how come 'update idletasks' could fix tests on Catalina since 'update' actually includes idle tasks updating (among other updates). Turns out that the reason you changed this was not to fix tests on Catalina, but it was triggered by the thoughts above. While it results in no regression on Catalina (tests still pass), there are a lot of new failures on Windows. Not tried on Linux yet. > I mean, really, what are you testing when you need to use commands like > update ; update ; update > and how exactly is that different from > update ; update ; update ; update > ? At some places I think the hope is that asynchronous lines updates in the text widget are finished before the test can go on. Clearly the case for instance in textDisp-19.14. This reason is even documented in the comments of textDisp-31.3 . Other places are really old things with at-the-time-good-reasons now lost, e.g. the second 'update' in textDisp-11.7 in textDisp.test dates back to 2003 when merging TIP #155: https://core.tcl-lang.org/tk/info/e58248ce5f8b5af2 Series of four 'updates' in a row are very old as well, and no reason appears to be detailed I think: https://core.tcl-lang.org/tk/info/94fbec76b1ff2c11 > There are several other test scripts that overuse update, but I used > up all of my patience fixing textDisp.test and so I left many > unnecessary calls to update in place. I would really welcome a way of not needing to use all those updates, for sure. Perhaps our patience could be better utilized at thinking at such a way? First thing that come to mind would be to rework tests by making use of <<WidgetViewSync>> in the cases we're waiting for asynchronous line metrics to be updated. Francois |