Skip to content

ipc_{core|transport_structured|session|shm}: Unit tests. #83

Open

Description

@ygoldfeld

Filed by @ygoldfeld pre-open-source:

unit_test (and its helpers) extensively test ipc_shm_arena_lend (a/k/a IPC: SHM-jemalloc), which is the module dependent on all other modules. @echan-dev wrote this as a unit test (within GoogleTest framework), and in addition in my opinion several of the higher-level tests, such as the session-test, are effectively integration-testing all of the dependencies: ipc_core, ipc_transport_structured (it is used by tests for their purposes as well as inside ipc_shm_arena_lend impl internally), ipc_session (used to set-up interprocess communication); though ipc_shm not so much.

transport_test is an extensive integration test of all of the above. The scripted mode focuses on ipc_core (and is extensible, both with new commands and more scripts), while the exercise mode focuses on APIs in ipc_session, ipc_transport_structured, ipc_shm, and ipc_shm_arena_lend. Additional functional testing is in perf_demo as of this writing; surely there will be more.

In that sense IMO, subjectively speaking, the test coverage is pretty damned good, and my confidence in correctness is at a high level.

However, the ipc_* modules other than ipc_shm_arena_lend really should have direct representation in unit_test in the same way ipc_shm_arena_lend (a/k/a IPC: SHM-jemalloc) enjoys. I.e., more or less every class/function – at least public/protected APIs – should have a GoogleTest, similarly to what Mr. Chan did.

Activity

  1. added
    bugSomething isn't working
    from-akamai-pre-openIssue origin is Akamai, before opening source
    testUnit and functional tests; demo/example programs
    on Mar 11, 2024
  2. ygoldfeld commented on Sep 4, 2026

    @ygoldfeld
    ContributorAuthor

    Opportunistically reminding myself that the in-progress/close-to-done branch ipc-143_perf-dive-major (big ticket #143) resolves this by adding a massive amount of testing on all of this (SHM-jemalloc too, as it's been heavily modified as part of aforementioned perf project).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfrom-akamai-pre-openIssue origin is Akamai, before opening sourcetestUnit and functional tests; demo/example programs

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions