LexLeo 0.0.0-dev+f8e5087-dirty
Technical documentation
Loading...
Searching...
No Matches
stream_fake_provider.h File Reference

Fake stream provider used by stream tests. More...

Include dependency graph for stream_fake_provider.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  stream_fake_counters_t
 Call counters recorded by the fake stream. More...
 

Typedefs

typedef struct stream_fake_t stream_fake_t
 Opaque fake stream state.
 
typedef struct stream_fake_counters_t stream_fake_counters_t
 Call counters recorded by the fake stream.
 

Functions

stream_status_t stream_fake_create (stream_fake_t **out_fake, stream_t **out_stream, const osal_mem_ops_t *mem)
 Create a fake stream backend and its associated public stream_t.
 
void stream_fake_destroy (stream_fake_t **fake, stream_t **stream)
 Destroy a fake stream backend and its associated public stream.
 
void stream_fake_reset (stream_fake_t *fake)
 Reset the fake stream runtime state and counters.
 
void stream_fake_set_write_result (stream_fake_t *fake, size_t n, stream_status_t status)
 Configure the result returned by the next write operations.
 
void stream_fake_set_flush_result (stream_fake_t *fake, stream_status_t status)
 Configure the result returned by flush operations.
 
void stream_fake_fail_write_since (stream_fake_t *fake, size_t call_idx, stream_status_t status)
 Make fake writes fail starting from a given call index.
 
const stream_fake_counters_tstream_fake_counters (const stream_fake_t *fake)
 Return the current call counters recorded by the fake stream.
 
size_t stream_fake_written_len (const stream_fake_t *fake)
 Return the number of bytes captured by the fake stream.
 
const uint8_t * stream_fake_written_data (const stream_fake_t *fake)
 Return the captured bytes written through the fake stream.
 

Detailed Description

This header exposes a lightweight fake backend used to exercise the public stream port in tests.

It provides:

  • creation and destruction helpers for a fake-backed stream_t,
  • runtime control over fake write/flush outcomes,
  • call counters for behavioral assertions,
  • access to bytes written through the fake stream.

Definition in file stream_fake_provider.h.

Typedef Documentation

◆ stream_fake_counters_t

◆ stream_fake_t

typedef struct stream_fake_t stream_fake_t

Definition at line 37 of file stream_fake_provider.h.

Function Documentation

◆ stream_fake_counters()

const stream_fake_counters_t * stream_fake_counters ( const stream_fake_t fake)
Parameters
[in]fakeFake stream to inspect.
Returns
Pointer to the fake counters.

Definition at line 140 of file stream_fake_provider.c.

◆ stream_fake_create()

stream_status_t stream_fake_create ( stream_fake_t **  out_fake,
stream_t **  out_stream,
const osal_mem_ops_t mem 
)
Parameters
[out]out_fakeReceives the created fake backend.
[out]out_streamReceives the created public stream handle backed by the fake.
[in]memBorrowed memory operations used for allocation.
Return values
STREAM_STATUS_OKFake backend and public stream successfully created.
STREAM_STATUS_INVALIDOne or more arguments are invalid.
STREAM_STATUS_OOMAllocation failed.

Definition at line 35 of file stream_fake_provider.c.

◆ stream_fake_destroy()

void stream_fake_destroy ( stream_fake_t **  fake,
stream_t **  stream 
)
Parameters
[in,out]fakeFake backend handle to destroy.
[in,out]streamPublic stream handle to destroy.

Definition at line 78 of file stream_fake_provider.c.

◆ stream_fake_fail_write_since()

void stream_fake_fail_write_since ( stream_fake_t fake,
size_t  call_idx,
stream_status_t  status 
)
Parameters
[in,out]fakeFake stream to configure.
[in]call_idxFirst write-call index that must fail.
[in]statusStream status reported for failing writes.

Definition at line 128 of file stream_fake_provider.c.

◆ stream_fake_reset()

void stream_fake_reset ( stream_fake_t fake)
Parameters
[in,out]fakeFake stream to reset.

Definition at line 96 of file stream_fake_provider.c.

◆ stream_fake_set_flush_result()

void stream_fake_set_flush_result ( stream_fake_t fake,
stream_status_t  status 
)
Parameters
[in,out]fakeFake stream to configure.
[in]statusStream status reported by the fake flush.

Definition at line 117 of file stream_fake_provider.c.

◆ stream_fake_set_write_result()

void stream_fake_set_write_result ( stream_fake_t fake,
size_t  n,
stream_status_t  status 
)
Parameters
[in,out]fakeFake stream to configure.
[in]nNumber of bytes the fake write should report as written.
[in]statusStream status reported by the fake write.

Definition at line 105 of file stream_fake_provider.c.

◆ stream_fake_written_data()

const uint8_t * stream_fake_written_data ( const stream_fake_t fake)
Parameters
[in]fakeFake stream to inspect.
Returns
Pointer to the fake captured byte buffer.

Definition at line 158 of file stream_fake_provider.c.

◆ stream_fake_written_len()

size_t stream_fake_written_len ( const stream_fake_t fake)
Parameters
[in]fakeFake stream to inspect.
Returns
Number of bytes written into the fake capture buffer.

Definition at line 149 of file stream_fake_provider.c.