CIRCT 23.0.0git
Loading...
Searching...
No Matches
Functions
test_codegen Namespace Reference

Functions

 _generate_header (type_table, system_name="test_ns")
 
 test_union_basic ()
 
 test_union_with_struct_field ()
 
 test_union_ordering_among_structs ()
 
 test_union_in_struct ()
 
 test_union_planner_naming ()
 
 test_union_alias ()
 
 test_union_same_width_integrals ()
 
 test_union_field_order_preserved ()
 
 test_windowed_list_bulk_message_wrapper ()
 
 test_windowed_list_header_padding_matches_frame_width ()
 
 test_windowed_list_arrays_in_header_and_value_type ()
 

Detailed Description

Tests for UnionType support in codegen (CppTypePlanner + CppTypeEmitter).

Function Documentation

◆ _generate_header()

test_codegen._generate_header (   type_table,
  system_name = "test_ns" 
)
protected

◆ test_union_alias()

test_codegen.test_union_alias ( )
A TypeAlias wrapping a union emits the union then a using alias.

Definition at line 116 of file test_codegen.py.

References _generate_header().

◆ test_union_basic()

test_codegen.test_union_basic ( )
A simple union with two scalar fields produces a C++ union.

Definition at line 19 of file test_codegen.py.

References _generate_header().

◆ test_union_field_order_preserved()

test_codegen.test_union_field_order_preserved ( )
Union fields are emitted in declaration order, not reversed.

Definition at line 145 of file test_codegen.py.

References _generate_header().

◆ test_union_in_struct()

test_codegen.test_union_in_struct ( )
A struct with a union field emits the union before the struct.

Definition at line 86 of file test_codegen.py.

References _generate_header().

◆ test_union_ordering_among_structs()

test_codegen.test_union_ordering_among_structs ( )
Unions are properly ordered with respect to struct dependencies.

Definition at line 71 of file test_codegen.py.

References _generate_header().

◆ test_union_planner_naming()

test_codegen.test_union_planner_naming ( )
The planner auto-generates deterministic names for unions.

Definition at line 105 of file test_codegen.py.

◆ test_union_same_width_integrals()

test_codegen.test_union_same_width_integrals ( )
Integrals of the same width don't need padding wrappers.

Definition at line 129 of file test_codegen.py.

References _generate_header().

◆ test_union_with_struct_field()

test_codegen.test_union_with_struct_field ( )
A union containing a struct field emits the struct before the union.

Definition at line 51 of file test_codegen.py.

References _generate_header().

◆ test_windowed_list_arrays_in_header_and_value_type()

test_codegen.test_windowed_list_arrays_in_header_and_value_type ( )
Window helpers copy array header fields and array-valued elements.

Definition at line 289 of file test_codegen.py.

References _generate_header().

◆ test_windowed_list_bulk_message_wrapper()

test_codegen.test_windowed_list_bulk_message_wrapper ( )
Bulk-encoded list windows emit a SegmentedMessageData helper.

Definition at line 177 of file test_codegen.py.

References _generate_header().

◆ test_windowed_list_header_padding_matches_frame_width()

test_codegen.test_windowed_list_header_padding_matches_frame_width ( )
Headers pad out to the data frame width for count-only windows.

Definition at line 252 of file test_codegen.py.

References _generate_header().