- 
                Notifications
    
You must be signed in to change notification settings  - Fork 185
 
Add tests for all DND transfer types #2672
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add tests for all DND transfer types #2672
Conversation
7c742fc    to
    f385337      
    Compare
  
    f385337    to
    087ba2b      
    Compare
  
    | 
           This seems new to me - build fails Linux with: I wonder what I did wrong that caused core to dump here. I see it is failing during CCombo test (IIUC), but no idea what I did to expose this. The master branch was fine, and this PR has failed twice in the same way. Separately, there are expected to be some Windows/macOS fails here because I need to tune the new tests as they are platform dependent.  | 
    
087ba2b    to
    b4825e2      
    Compare
  
    | 
           (not really ready for review - but marked as such so the tests run on Jenkins as I want gtk4 tests to run too)  | 
    
| 
           On Jenkins the build seems to fail in the same spot, there is no   | 
    
b74bf8a    to
    8ecd741      
    Compare
  
    | 
           This is in the crash log:  | 
    
9432e51    to
    e9d241e      
    Compare
  
    | 
           Disabling the CCombo clipboard tests avoids the crash and then the Text clipboard tests that run next pass fine. So its weird.  | 
    
| 
           Woohoo 🤷 I can reproduce on my machine - it only fails with  running same command on Xtigervnc, Xfce (Xorg???), Xwayland is all ok.  | 
    
| 
           If you run just these three tests, in this order you get the crash during test_copy 🤯 
  | 
    
| 
           The unique thing about that sequence of steps. 
 The dispose of Display causes dispose of ClipboardProxy which disposes some callbacks associated with the current clipboard. When Text.copy is run the GTK3 implementation eventually tries to call one of those callbacks (clearFunc) to notify the current clipboard owner that it does not own clipboard anymore (see docs or source) Since the callback is disposed, the run crashes the JVM. With this information I can both workaround this issue, by clearing the clipboard in teardown so there won't be something to call clearFunc for, and probably make a single reduced test case - fixing the problem is probably trickier, but maybe we can detect it. Update to this PR upcoming, as well as new issue/PR with reduced test case.  | 
    
e9d241e    to
    f2fb550      
    Compare
  
    f2fb550    to
    cfab344      
    Compare
  
    cfab344    to
    1d66a9c      
    Compare
  
    1d66a9c    to
    d7e4c1e      
    Compare
  
    For image datas without palette data (direct palettes) the code before worked ok because the getPixel's returned value was the direct color. But for palette images, the getPixel returns the index. When an index is used, you need to call getRGB to get the real data value. Part of eclipse-platform#2126
Added RemoteClipboard.DEBUG_REMOTE so that ClipboardTest can be launched as a standalone java application to make it easier to debug the remote end of the tests. Part of eclipse-platform#2126
In previous commits I added a lot more use of the remote app, so this commit adds a little bit of info to the window so that if someone running unit tests sees it they know what is going on. Part of eclipse-platform#2126
This is a workaround for the issue described in eclipse-platform#2675 Part of eclipse-platform#2126
The individual Transfer types had no automatic testing, so this commit provides tests for all the transfer types and ensures copy/paste to external to SWT works too by implementing flavors for all types in the Swing remote clipboard test app. Part of eclipse-platform#2126
2608fe1    to
    ccfc322      
    Compare
  
    
          
 The crash issue is worked around, the underlying issue is tracked in #2675  | 
    


The individual Transfer types had no automatic testing, so this commit provides tests for all the transfer types and ensures copy/paste to external to SWT works too by implementing flavors for all types in the Swing remote clipboard test app.
Part of #2126