hal/tracy-capture-tests.lisp
Model an application adapter dropping its last reference immediately. The generation-owning closure still retries and finally terminates its exact child before releasing the Lisp process handle.
The owner observes exit before it performs the injected failing reap. Request a normal stop so this test exercises that finalization edge rather than leaving the scripted capture intentionally alive.
The platform edge of a TRACY-CAPTURE-CONTROLLER. Applications normally use NATIVE-TRACY-CAPTURE-RUNTIME. Tests and unusual hosts can specialize this protocol without replacing the controller's state machine.
Logical negation of one test or raw truth value.
(runtime application-name)Ensure the in-process Tracy client is running for APPLICATION-NAME.
(runtime role)Return the exact executable pathname for ROLE. ROLE is one of :CAPTURE, :PROFILER, or :REVEAL. Implementations must not silently fall back to a different tool version through PATH lookup.
(runtime role program arguments)Launch PROGRAM for ROLE with exact string ARGUMENTS and return a handle.
Logical conjunction of tests and raw truth values.
(runtime process)Request PROCESS's graceful Tracy capture stop without waiting for it.
(runtime process)Forcibly terminate PROCESS after graceful capture shutdown failed. This is the terminal orphan-prevention edge. A native implementation may discard the unfinished trace, but must make eventual process exit more likely than another graceful request would.
(runtime process)Return PROCESS's exit code after WAIT-TRACY-PROCESS.
(runtime &key (graceful-stop-seconds 5.0d0))(&key application-name directory
(runtime (make-instance 'native-tracy-capture-runtime))
(open-on-completion-p t)
(graceful-stop-seconds 5.0d0))(predicate &key (timeout 1.0))Test whether two compatible scalars are equal.
Addition over compatible quantities.
Multiplication and scalar scaling.
Test whether one compatible scalar is at least another.
(runtime)(runtime)(controller)Division of two represented quantities.
Subtraction or unary negation.
Test whether one compatible scalar is less than another.
(controller)(controller)Request one graceful stop and return immediately. Concurrent and repeated calls publish only one interrupt for a generation.
(controller)(controller)(controller)Detach CONTROLLER immediately and asynchronously stop its owned capture. This operation is terminal and idempotent. It never waits for capture finalization or for a profiler window.
(controller)(controller &optional pathname)
Revisit serial zero at the identical injected clock. The first exact candidate now exists, so reservation must advance rather than spin or overwrite it.