PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
test_cyclicControllerConformance.cpp File Reference

PROFINET cyclic controller conformance regression tests. More...

#include <gtest/gtest.h>
#include <array>
#include <cstdint>
#include "profinet/cyclic.h"
#include "profinet/rt.h"
+ Include dependency graph for test_cyclicControllerConformance.cpp:

Go to the source code of this file.

Classes

class  profinet::cyclic::CyclicControllerConformanceTest
 Test fixture for cyclic controller protocol conformance. More...
 

Namespaces

namespace  profinet
 
namespace  profinet::cyclic
 

Functions

 profinet::cyclic::TEST_F (CyclicControllerConformanceTest, UntaggedInputFrameIsAccepted)
 
 profinet::cyclic::TEST_F (CyclicControllerConformanceTest, VlanTaggedInputFrameIsAccepted)
 
 profinet::cyclic::TEST_F (CyclicControllerConformanceTest, NonZeroTransferStatusIsRejected)
 
 profinet::cyclic::TEST_F (CyclicControllerConformanceTest, TxContinuesWhileControllerIsInFault)
 

Detailed Description

PROFINET cyclic controller conformance regression tests.

Verifies cyclic RT frame processing against behavior observed in certified PROFINET device stacks and protocol dissectors.

The tests cover:

  • Untagged cyclic input frames.
  • VLAN-tagged cyclic input frames.
  • TransferStatus validation.
  • Continued cyclic transmission while the controller is in FAULT.

Continuing cyclic output transmission while in FAULT is essential. Stopping transmission allows the device Data Hold Timer to expire, which can terminate the Application Relationship (AR).

Definition in file test_cyclicControllerConformance.cpp.