SDL icon indicating copy to clipboard operation
SDL copied to clipboard

SDL_HasClipboardText and SDL_GetClipboardText fail on macOS

Open metayan opened this issue 4 months ago • 2 comments

SDL_HasClipboardText and SDL_GetClipboardText fail on macOS:

./testautomation --filter clipboard_testClipboardTextFunctions 
 08/13/25 08:22:54: ::::: Test Run /w seed 'URX2W1NDXCWMCSY9' started
 08/13/25 08:22:54: Filtering: running only test 'clipboard_testClipboardTextFunctions' in suite 'Clipboard'
 08/13/25 08:22:54: ===== Test Suite 1: 'Audio' skipped
 08/13/25 08:22:54: ===== Test Suite 2: 'Clipboard' started
 08/13/25 08:22:54: ===== Test Case 2.1: 'clipboard_testClipboardDataFunctions' skipped
 08/13/25 08:22:54: ----- Test Case 2.2: 'clipboard_testClipboardTextFunctions' started
 08/13/25 08:22:54: Test Description: 'End-to-end test of SDL_xyzClipboardText functions'
 08/13/25 08:22:54: Test Iteration 1: execKey 15360189973017405418
 08/13/25 08:22:54: Assert 'Verify result from SDL_SetClipboardText(NULL), expected true, got 1': Passed
 08/13/25 08:22:54: Assert 'Verify SDL_GetClipboardText returned "", got ': Passed
 08/13/25 08:22:54: Assert 'Verify SDL_HasClipboardText returned false, got false': Passed
 08/13/25 08:22:54: Assert 'Verify clipboard update count incremented by 1, got 1': Passed
 08/13/25 08:22:54: Assert 'Verify result from SDL_SetClipboardText(bI<gj$\.x_C+\Yi6~zuY<oD;3K?am5-TUA!/2<RWT&3b`'hP paAs), expected true, got 1': Passed
 08/13/25 08:22:54: Assert 'Verify SDL_SetClipboardText did not modify input string, expected 'bI<gj$\.x_C+\Yi6~zuY<oD;3K?am5-TUA!/2<RWT&3b`'hP paAs', got 'bI<gj$\.x_C+\Yi6~zuY<oD;3K?am5-TUA!/2<RWT&3b`'hP paAs'': Passed
ERROR: 08/13/25 08:22:54: Assert 'Verify SDL_HasClipboardText returned true, got false': Failed
ERROR: 08/13/25 08:22:54: Assert 'Verify SDL_GetClipboardText returned correct string, expected 'bI<gj$\.x_C+\Yi6~zuY<oD;3K?am5-TUA!/2<RWT&3b`'hP paAs', got ''': Failed
 08/13/25 08:22:54: Assert 'Verify clipboard update count incremented by 1, got 1': Passed
 08/13/25 08:22:54: Assert 'Verify result from SDL_SetClipboardText(NULL), expected true, got 1': Passed
 08/13/25 08:22:54: Fuzzer invocations: 55
ERROR: 08/13/25 08:22:54: Assert Summary: Total=10 Passed=8 Failed=2
 08/13/25 08:22:54: Total Test runtime: 0.0 sec
ERROR: 08/13/25 08:22:54: >>> Test 'clipboard_testClipboardTextFunctions': Failed
 08/13/25 08:22:54: ===== Test Case 2.3: 'clipboard_testPrimarySelectionTextFunctions' skipped
 08/13/25 08:22:54: Total Suite runtime: 0.0 sec
ERROR: 08/13/25 08:22:54: Suite Summary: Total=1 Passed=0 Failed=1 Skipped=0
ERROR: 08/13/25 08:22:54: >>> Suite 'Clipboard': Failed
[...]
 08/13/25 08:22:54: Total Run runtime: 0.0 sec
ERROR: 08/13/25 08:22:54: Run Summary: Total=1 Passed=0 Failed=1 Skipped=0
ERROR: 08/13/25 08:22:54: >>> Run /w seed 'URX2W1NDXCWMCSY9': Failed
 08/13/25 08:22:54: Harness input to repro failures:
 08/13/25 08:22:54:  --seed URX2W1NDXCWMCSY9 --filter clipboard_testClipboardTextFunctions
 08/13/25 08:22:54: Exit code: 1

This is on macOS 10.15.7, built with SDK 11.3 using release-3.2.20-22-g40371f090 on release-3.2.x branch. All other tests pass.

Found during investigation into why paste doesn't work in scrcpy with SDL3. (It works with SDL2.)

metayan avatar Aug 13 '25 06:08 metayan

They pass for me here on macOS 15.4, can you investigate what's happening there?

slouken avatar Aug 13 '25 17:08 slouken

Going to try to reproduce on an older Mac, to see if this is something that was changed in macOS 15 or whatever.

icculus avatar Oct 08 '25 17:10 icculus