Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9f7bc0710176d1924e73f6d1c2ed00262b6f81be
      
https://github.com/WebKit/WebKit/commit/9f7bc0710176d1924e73f6d1c2ed00262b6f81be
  Author: Alejandro G. Castro <[email protected]>
  Date:   2026-09-04 (Fri, 04 Sep 2026)

  Changed paths:
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp
    M Tools/TestWebKitAPI/Tests/IPC/EventTests.cpp
    M Tools/TestWebKitAPI/Tests/IPC/IPCEventTests.cpp

  Log Message:
  -----------
  [GTK][WPE] Build and run the IPC API tests on Linux
https://bugs.webkit.org/show_bug.cgi?id=323435

Reviewed by Carlos Garcia Campos.

Tools/TestWebKitAPI/Tests/IPC has 244 tests covering Connection,
StreamClientConnection, StreamServerConnection, StreamConnectionWorkQueue,
StreamConnectionBuffer and IPC::Event/Signal, and none of them are built on any
Linux port. A change to the IPC layer can only be validated through layout
tests, we are trying to check the semaphore implementation for the
GPUProcess, we need more validation activating these tests.

Three tests assert Cocoa specific semantics and are guarded, each where the
behavior actually differs rather than at the file level:

- IPCEventTests.SignalDoesNotBlockWhenNotWaitedFor expects the Event to hold one
  signal and drop the rest. A Mach notification port coalesces; the non-Cocoa
  implementation is a counting semaphore pair, so it keeps them. Only that one
  assertion is Cocoa only, and the remaining signals are drained so the rest of
  the test still means something.
- EventTestABBA.InterruptOnDestruct expects destroying the Signal to interrupt a
  wait. That is a property of the Mach send and receive right pair, and
  IPCEvent.h already carries a FIXME saying the non-Cocoa implementation does
  not have it. IPCEventTests.cpp already guards the equivalent tests; this one
  was missed because it could not be run. Without the guard it waits forever
  rather than failing.
- ConnectionTestABBA.UnopenedAAndInvalidateDoesNotDeliverBDidClose expects a
  peer not to be told when an unopened connection is invalidated. Invalidating
  it closes the socket, so a peer on Unix domain sockets sees the end of file
  and reports didClose, where a Mach based peer is never told.

The result is 244 tests passing on WPE. Nothing changes for the Apple ports:
every guarded test stays inside its #if PLATFORM(COCOA), and no non-test code is
touched.

* Tools/TestWebKitAPI/CMakeLists.txt:
* Tools/TestWebKitAPI/PlatformWPE.cmake:
* Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:
* Tools/TestWebKitAPI/Tests/IPC/EventTests.cpp:
* Tools/TestWebKitAPI/Tests/IPC/IPCEventTests.cpp:

Canonical link: https://commits.webkit.org/320519@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to