|
2019-06-11
| ||
| 11:42 | • Ticket [58665b91dd] unixEmbed-7.1 failures status still Open with 3 other changes artifact: bd2c73d5a3 user: marc_culler | |
| 11:42 | • Ticket [58665b91dd]: 5 changes artifact: fadfa192d8 user: marc_culler | |
|
2019-05-26
| ||
| 16:21 | • Ticket [58665b91dd]: 3 changes artifact: 5206073a21 user: fvogel | |
|
2019-02-07
| ||
| 18:26 | Fix bug [58665b91dd]: many unixEmbed tests fail. check-in: 63aa58b24d user: culler tags: trunk | |
| 18:07 | Fix bug [58665b91dd]: many unixEmbed tests fail. check-in: d5989e7ea9 user: culler tags: core-8-6-branch | |
| 18:00 | • Ticket [58665b91dd] Many of the unixEmbed tests fail on macOS status still Open with 4 other changes artifact: 2884f196d7 user: marc_culler | |
|
2019-02-06
| ||
| 20:10 | • Ticket [58665b91dd]: 4 changes artifact: 70ab057795 user: marc_culler | |
|
2019-02-01
| ||
| 20:04 | • Ticket [58665b91dd]: 4 changes artifact: c495e641e6 user: marc_culler | |
|
2019-01-30
| ||
| 19:35 | • Ticket [58665b91dd]: 3 changes artifact: 3385a9d19a user: fvogel | |
| 17:41 | • Ticket [58665b91dd]: 4 changes artifact: 92f2e22a77 user: marc_culler | |
|
2019-01-27
| ||
| 20:04 | • Ticket [58665b91dd]: 3 changes artifact: 4c648d77b8 user: fvogel | |
| 18:54 | • Ticket [58665b91dd]: 3 changes artifact: 856752d533 user: fvogel | |
| 14:34 | • Ticket [58665b91dd]: 3 changes artifact: 91cb74dc21 user: fvogel | |
|
2019-01-26
| ||
| 14:10 | • Ticket [58665b91dd]: 3 changes artifact: 33ca680d43 user: fvogel | |
| 10:11 | • Ticket [58665b91dd]: 3 changes artifact: 35d7884e38 user: fvogel | |
|
2019-01-23
| ||
| 17:52 | • Ticket [58665b91dd]: 3 changes artifact: 822040f955 user: marc_culler | |
| 17:45 | Fix bug [58665b91dd]: unixEmbed tests fail on macOS due to use of dobg. check-in: f445826ba5 user: culler tags: bug-58665b91dd | |
| 17:39 | • New ticket [58665b91dd] Many of the unixEmbed tests fail on macOS. artifact: 0309191d3c user: marc_culler | |
| Ticket UUID: | 58665b91dd9907e67ed57fa31c1c7587e7ebe87b | |||
| Title: | unixEmbed-7.1 failures | |||
| Type: | Bug | Version: | 8.6.9 | |
| Submitter: | marc_culler | Created on: | 2019-01-23 17:39:12 | |
| Subsystem: | 86. Test Tools | Assigned To: | nobody | |
| Priority: | 5 Medium | Severity: | Minor | |
| Status: | Open | Last Modified: | 2019-06-11 11:42:44 | |
| Resolution: | None | Closed By: | nobody | |
| Closed on: | ||||
| Description: |
The reason for the test failures is straightforward. The failing tests use dobg, which uses popen to create a Tcl interpreter running in a new process. But the mac port does not support embedding windows into containers created in a different process. It does support embedding windows into containers created by a different interpreter running in the same process. So what is needed is to write variants of these failing tests which use a slave interpreter rather than call dobg. | |||
| User Comments: |
marc_culler (claiming to be Marc Culler) added on 2019-06-11 11:42:19:
Changing the title of this ticket since unixEmbed-7.1 is the remaining issue on all platforms - it fails on linux and tests a function which is not implemented on the others. fvogel added on 2019-05-26 16:21:22: unixEmbed-7.1a was constrained to {unix notAqua} in [02ca3773]. Branch bug-58665b91dd is left open to deal with comments below from Marc. marc_culler (claiming to be Marc Culler) added on 2019-02-07 18:00:14: The current tip de9ae7135b of bug-58665b91dd passes all unixEmbed tests except for 7.1 and 7.1a (plus 9.2 on unix). The test unixEmbed-7.1 and its slave interpreter variant 7.1a are meant to test whether the function TkpForwardKeyEvent correctly forwards key events to the container window in the case where the embedded window does not have focus. In fact, however, TkpForwardKeyEvent is implemented as a no-op on macOS or Windows, so it could not correctly forward events on those platforms. There is an implementation on unix. However, on both unix and macOX the TkpForwardKeyEvent function is never called during the tests 7.1, 7.1a, 7.2, or 7,2a which are supposed to be testing it. This is possibly related to other issues related to focusing windows and may indicate bugs in the generic code. I planning to merge the bug-58665b91dd branch, leaving these failing tests in place and leaving this ticket open until we better understand why TkpForwardKeyEvent does not get called, even on unix. marc_culler (claiming to be Marc Culler) added on 2019-02-06 20:10:44: The analysis below turned out to be wrong. There were configure events being generated, but not the ones that the test is looking for. Fixing this required some changes to the place manager. These changes are include in [c22c402b] and (for macOS) [d58bb5c5]. The platform specific changes for unix and macOS will also be replicated for Windows in a future commit. marc_culler (claiming to be Marc Culler) added on 2019-02-01 20:04:40: My tests indicate that the <Configure> event which the unixEmbed-6.2a test expects to see is, in fact, being generated. There is a common feature in tests unixEmbed-6.2a and unixEmbed-7.1a. In both cases a slave interpreter binds an event to a command which writes to a variable. Then a command is executed within the slave interpreter which generates that event. The test evaluates the variable in the call to slave eval to see whether the event was processed. In both of those tests the answer is no: the variable is empty, indicating that the event was not processed. This is the case on both macOS and unix. Both OS's fail those two tests in exactly the same way - the test variable is empty. But independent testing indicates that the events (in 6.2a at least) are in fact being generated correctly. I suspect that the reason the events do not get processed within the eval command has something to do with how slave interpreters interact with the event loop. But it must be subtle, since unixEmbed-6.1a does something almost identical to what unixEmbed-6.2a does, yet it still passes. fvogel added on 2019-01-30 19:35:45: It's true that on Mojave unixEmbed-5.3a now passes (and unixEmbed-7.2a as well BTW), however unixEmbed-8.1a now fails for me. marc_culler (claiming to be Marc Culler) added on 2019-01-30 17:41:08: unixEmbed-5.3a now passes on Mojave. fvogel added on 2019-01-27 20:04:37: About unixEmbed-6.2a: Actually instrumentation on macOS shows that, contrary to what I said below, Tk_GeometryRequest really calls the requestProc. That requestProc is TopLevelReqProc, which in turn schedules an idle call to UpdateGeometryInfo. fvogel added on 2019-01-27 18:54:26: unixEmbed-5.1a now passes on Linux with [10c6a3f1]. Analysis of unixEmbed-6.2a failure seems to show that the Configure event is not triggered by fvogel added on 2019-01-27 14:34:13: I could let unixEmbed-3.2 pass by adding update commands in that test. Also I could reduce the number of failures on Linux by propagating changes in TkpTestembedCmd to the unix version of it. At [2fc0a92e], status of failing unixEmbed-* tests as I see it is as follows:
fvogel added on 2019-01-26 14:10:25: Probably the Linux new failures from the unixEmbed.test file can be fixed by propagating the changes in TkpTestembedCmd fom macosx/tkMacOSXEmbed.c to the unix version of it in unix/tkUnixEmbed.c fvogel added on 2019-01-26 10:11:55: That bugfix branch bug-58665b91dd got merged to core-8-6-branch and trunk, and the branch was closed. Not sure what the status of unixEmbed-3.2 currently is. I still see several unixEmbed-* failures on macOS. On Linux Debian 8 I see new failures (previously only unixEmbed-9.2 failed). I have already sent all logs by private email. marc_culler added on 2019-01-23 17:52:44: The bug-58665b91dd branch adds tests that use slave interpreters and marks the tests which call dobg as notAqua. The testembed function is modified to provide more appropriate support for the tests on macOS. (In particular, on macOS there are no wrappers for toplevel windows, so the wrapper ID is set to the empty string and tests that check this are adjusted.) The unixEmbed-3.2 test still fails, but that appears to be identifying a genuine bug with the way that the geometry command works with an embedded window on the mac. | |||