tmandry / Swindler

macOS window management library for Swift
https://tmandry.github.io/Swindler/docs/main/
MIT License
691 stars 66 forks source link

Flaky spec: AXUIElement_notifications__when_a_property_value_changes_right_after_reading_it__is_updated_correctly #2

Open tmandry opened 8 years ago

tmandry commented 8 years ago

https://travis-ci.org/tmandry/Swindler/builds/104360471

All other tests ran in <25ms, so I doubt this taking >1000ms was a fluke.

Relevant log:

Failures:
  0) -[OSXWindowDelegateNotificationSpec AXUIElement_notifications__when_a_property_value_changes_right_after_reading_it__is_updated_correctly_UserstravisbuildtmandrySwindlerSwindlerTestsWindowSpecswift_194] (SwindlerTests.xctest)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Jan 23 23:35:47  xctest[1172] <Debug>: Notification WindowMiniaturized on unknown element SwindlerTests.AdversaryWindowElement, deferring
/Users/travis/build/tmandry/Swindler/SwindlerTests/WindowSpec.swift:207: failed - expected to eventually be true, got <false>
:
204           }
205 
206           return initialize().then { winDelegate -> () in
207             expect(winDelegate.isMinimized.value).toEventually(beTrue())
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208           }
209         }
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Note the debug log which might be important.

https://travis-ci.org/tmandry/Swindler/builds/103275152

Failures:
  0) -[OSXWindowDelegateNotificationSpec AXUIElement_notifications__when_a_property_value_changes_right_after_reading_it__is_updated_correctly_UserstravisbuildtmandrySwindlerSwindlerTestsWindowSpecswift_194] (SwindlerTests.xctest)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(WindowCreated) on SwindlerTests.TestApplicationElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(MainWindowChanged) on SwindlerTests.TestApplicationElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(FocusedWindowChanged) on SwindlerTests.TestApplicationElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(ApplicationHidden) on SwindlerTests.TestApplicationElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(ApplicationShown) on SwindlerTests.TestApplicationElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: arrayAttribute(Windows) on SwindlerTests.TestApplicationElement responded with Optional([SwindlerTests.AdversaryWindowElement]) in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: getMultipleAttributes([AXSwift.Attribute.MainWindow, AXSwift.Attribute.FocusedWindow, AXSwift.Attribute.Hidden]) on SwindlerTests.TestApplicationElement responded with [AXSwift.Attribute.Hidden: false] in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(TitleChanged) on SwindlerTests.AdversaryWindowElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(Resized) on SwindlerTests.AdversaryWindowElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(WindowMiniaturized) on SwindlerTests.AdversaryWindowElement responded with () in 0.1ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(Moved) on SwindlerTests.AdversaryWindowElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(WindowDeminiaturized) on SwindlerTests.AdversaryWindowElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: addNotification(UIElementDestroyed) on SwindlerTests.AdversaryWindowElement responded with () in 0.0ms
Jan 19 07:01:22  xctest[1229] <Debug>: Received WindowMiniaturized on SwindlerTests.AdversaryWindowElement
Jan 19 07:01:22  xctest[1229] <Debug>: Notification WindowMiniaturized on unknown element SwindlerTests.AdversaryWindowElement, deferring
Jan 19 07:01:22  xctest[1229] <Debug>: getMultipleAttributes([AXSwift.Attribute.Position, AXSwift.Attribute.Size, AXSwift.Attribute.Title, AXSwift.Attribute.Minimized, AXSwift.Attribute.FullScreen, AXSwift.Attribute.Subrole]) on SwindlerTests.AdversaryWindowElement responded with [AXSwift.Attribute.Size: (0.0, 0.0), AXSwift.Attribute.Position: (0.0, 0.0), AXSwift.Attribute.Title: "Window 140", AXSwift.Attribute.Minimized: false, AXSwift.Attribute.FullScreen: false] in 1.1ms
/Users/travis/build/tmandry/Swindler/SwindlerTests/WindowSpec.swift:207: failed - expected to eventually be true, got <false>
:
204           }
205 
206           return initialize().then { winDelegate -> () in
207             expect(winDelegate.isMinimized.value).toEventually(beTrue())
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208           }
209         }
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tmandry commented 8 years ago

The same log line happens when the test succeeds.

https://travis-ci.org/tmandry/Swindler/builds/103620032

      -[OSXWindowDelegateNotificationSpec AXUIElement_notifications__when_a_property_value_changes_right_after_reading_it__is_updated_correctly_UserstravisbuildtmandrySwindlerSwindlerTestsWindowSpecswift_194]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━���━━━━━━━━━━━
Jan 20 15:03:59  xctest[1227] <Debug>: Notification WindowMiniaturized on unknown element SwindlerTests.AdversaryWindowElement, deferring
━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ✓ -[OSXWindowDelegateNotificationSpec AXUIElement_notifications__when_a_property_value_changes_right_after_reading_it__is_updated_correctly_UserstravisbuildtmandrySwindlerSwindlerTestsWindowSpecswift_194] (12 ms)