ruststream 0.7.3

Async messaging framework for Rust: broker-agnostic traits, router, codecs, and a conformance harness for broker authors.
Documentation
---
sidebar_position: 1
title: run_result
description: "TestApp::run_result returns what the service run would return now: Ok while it is healthy, an error once a fail-fast failure stopped it."
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# run_result

[`TestApp::run_result`](api:ruststream::testing::TestApp::run_result) returns what the service `run` would return now: `Ok` while it is healthy, an error once a fail-fast failure stopped it.

A fail-fast failure is a handler panic under the default failure policy, or a decode failure under a `fail_fast` decode policy.
After one the result is [`RustStreamError::Dispatch`](api:ruststream::runtime::RustStreamError) with the subscription and the reason.
`run_result` reads the harness without consuming it, so a test can check it between publishes.
[`assert_running`](./assert-running.md) and [`assert_shut_down`](./assert-shut-down.md) state the same as an assertion.
[`shutdown`](../starting-and-stopping/shutdown.md) returns the same result at the end of a test.

## Example

<Tabs groupId="api">
<TabItem value="macros" label="Macros">

```rust reference="examples/testing_service_state.rs#run-result"
```

</TabItem>
<TabItem value="manual" label="Manual">

```rust reference="examples/manual/testing_service_state.rs#run-result"
```

</TabItem>
</Tabs>