Add GitHub Actions workflow wrappers - #20
Open
JoshuaRowePhantom wants to merge 46 commits into
Open
Conversation
make_task and make_shared_task are now niebloids
Fixed bug in tracing exceptions
…of <coroutine> types
…NCE macro in Can_use_returned_rvalue_reference_with_same_address test
…e operator co_await Add is_simple_awaiter
Mae tracing mostly compile on CLang
constant_filtered_trace_sink and runtime_filtered_trace_sink were discarding query results (should_trace_return_value, should_capture_promise_creation_arguments) by using void-returning lambdas and applying the event filter to queries where it does not apply. Rewrote both wrappers using composed_function with explicit decltype(auto)-returning overloads that bypass the filter entirely. Five test expectations in tracing_test.cpp incorrectly assumed MethodResult would be populated when using a void-returning trace sink. Since the sink's operator() returns void, can_trace_return_value is false and MethodResult stays empty_value. Removed those expectations. Also adds Documentation/tracing.md documenting the tracing design including the should_trace_return_value query protocol. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…race_return_value tests Fix infinite-recursion bug in traced_promise_yield_value::yield_value: - Removed spurious extra argument before method_events_group - Lambda now calls traced_promise_construction::yield_value instead of self-recursing tests_should_trace_return_value uses yield_value_result (returns suspend_never, a non-void type) to verify that should_trace_return_value query is honoured and MethodResult is populated in the emitted event. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Tests that when unhandled_exception() itself throws, the traced promise emits unhandled_exception_exception before propagating the exception. Uses sync_wait with try/catch because the exception from unhandled_exception() propagates directly from resume() rather than through the coroutine continuation mechanism, bypassing co_await try/catch blocks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- traced_promise::await_transform now emits await_transform_begin, await_transform_result, and await_transform_exception events via call_promise_method, wrapping the base await_transform call - Add throw_on_await_transform test struct and controllable_promise_base override for testing exception paths - Add traces_await_transform and traces_await_transform_exception tests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implement conditional promise creation argument capture in traced_promise constructor based on TraceSink response to should_capture_promise_creation_arguments<create_promise> query: - Not callable: always capture (unchanged default behavior) - Returns std::true_type: unconditionally capture - Returns std::false_type: emit empty_arguments, do not capture - Returns bool: capture at runtime if true, storing result in std::optional<std::tuple<const decay_t<Args>&...>> Also qualify events::make_arguments in traced_awaiter::await_suspend to fix a two-phase lookup issue with new TraceSink types defined outside the tracing module. Add four tests: false_type, true_type, bool-true, bool-false. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add suppress_trace_suppresses_await_transform_tracing: verifies that
co_await suppress_trace{awaitable} emits no await_transform events
- Add trace_sends_custom_event_to_sink: verifies that co_await on a
trace-derived struct sends the event directly to the sink
Fix: Add detail::is_suppress_trace type trait and constrain the generic
await_transform overload to exclude suppress_trace<T> and trace-derived
types, resolving MSVC overload ambiguity with explicit-object parameters.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the consumer workflow wrappers for shared pull request gating and continuous integration, and restores the Windows Clang unit test presets expected by the shared CI profile.