PROFINET IO Controller Stack
1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
Test List
Member
profinet::cyclic::CyclicControllerTestAccess::FirstOutputIocs
(const
CyclicController
&controller)
Verifies that the expected IOCS value reaches the send buffer.
Member
profinet::cyclic::CyclicControllerTestAccess::SetAllOutputIocs
(
CyclicController
&controller, std::uint8_t status)
Allows the test to reproduce the BAD-IOCS state created by a watchdog fault.
Member
profinet::cyclic::TEST_F
(
CyclicControllerConformanceTest
, VlanTaggedInputFrameIsAccepted)
Verify that a priority VLAN-tagged cyclic input frame is accepted.
Member
profinet::cyclic::TEST_F
(
CyclicControllerConformanceTest
, NonZeroTransferStatusIsRejected)
Verify that a non-zero TransferStatus frame is rejected.
Member
profinet::cyclic::TEST_F
(
CyclicControllerConformanceTest
, TxContinuesWhileControllerIsInFault)
Verify that cyclic output transmission continues while in FAULT.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StopDoesNotDestroyRxSocketBeforeRxThreadExits)
Verify Stop never destroys the RX socket while Recv is still executing.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StartAcceptsFaultState)
Start can restart a controller explicitly placed in FAULT.
Member
profinet::cyclic::TEST_F
(
CyclicControllerConformanceTest
, UntaggedInputFrameIsAccepted)
Verify that an untagged cyclic input frame is accepted.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, ToStringReturnsUnknownForInvalidValue)
ToString returns unknown for an enum value outside the defined states.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, TransitionCallsCallbackForStateChange)
Transition invokes the state callback for a real state change.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, TransitionSkipsCallbackForSameState)
Transition skips callbacks when the state does not change.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, TransitionSwallowsCallbackException)
Transition swallows an exception from the application callback.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StartRejectsInvalidStartingStates)
Start rejects states that are neither idle, stopped nor faulted.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendStopFramesStopsAfterSendErrorCallbackThrows)
SendStopFrames stops after an exception escapes the send path.
Member
profinet::cyclic::TEST_F
(
CyclicTest
, CyclicControllerConstructsWithSafeCycleTime)
CyclicController
constructs successfully with a safe cycle time
Member
profinet::cyclic::TEST_F
(
CyclicTest
, CyclicControllerRejectsSub1msCycleTime)
CyclicController
rejects sub-1ms cycle time
Member
profinet::cyclic::TEST_F
(
CyclicTest
, CyclicControllerRejectsNegativeMaxConsecutiveTimeouts)
CyclicController
rejects negative max_consecutive_timeouts
Member
profinet::cyclic::TEST_F
(
CyclicTest
, CyclicStatsResetRestoresInitialValues)
CyclicStats::reset restores initial values
Member
profinet::cyclic::TEST_F
(
CyclicTest
, CyclicStateToStringCoversAllStates)
CyclicState::ToString covers all states
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SetOutputDataIsReflectedInTransmittedFrame)
SetOutputData changes the payload emitted by the next cyclic frame.
Member
profinet::cyclic::TEST_F
(
ReceivedIopsTest
, DISABLED_LowerIopsBitsDoNotAffectGoodState)
Verify that only the IOPS DataState bit determines GOOD/BAD.
Member
profinet::cyclic::TEST_F
(
ReceivedIopsTest
, InputCallbackSkipsBadData)
Verify that the application input callback skips BAD IOPS data.
Member
profinet::cyclic::TEST_F
(
ReceivedIopsTest
, StatusCallbackFiresOnlyOnTransitions)
Verify that the IOPS callback is generated only on status transitions.
Member
profinet::cyclic::TEST_F
(
ReceivedIopsTest
, DISABLED_BadIopsWithholdsStaleInputData)
Verify that BAD IOPS withholds stale input data.
Member
profinet::cyclic::TEST_F
(
ReceivedIopsTest
, GoodIopsDeliversInputData)
Verify that input data with GOOD IOPS is delivered.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsInvalidDataStatus)
ProcessInputFrame counts a frame with an invalid DataStatus as invalid.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterCountsOutOfOrder)
TrackCycleCounter counts a sufficiently old frame as out of order.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterCountsForwardGap)
TrackCycleCounter counts missing forward cycles.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterAcceptsExpectedStep)
TrackCycleCounter accepts the expected next cycle without a miss.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterCountsDuplicate)
TrackCycleCounter counts an exact duplicate frame.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterInitializesOnFirstFrame)
TrackCycleCounter initializes its previous counter on the first frame.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, SkipsObjectWithInvalidDataRange)
ProcessInputFrame skips an object whose data range exceeds the payload.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, SkipsObjectWithInvalidIopsOffset)
ProcessInputFrame skips an object whose IOPS offset exceeds the payload.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, DISABLED_ValidInputRestoresIocsGoodState)
ProcessInputFrame restores GOOD IOCS after a valid frame following a watchdog fault.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsNonZeroTransferStatus)
ProcessInputFrame counts a non-zero TransferStatus as invalid.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, TrackCycleCounterHandlesZeroStep)
TrackCycleCounter handles a zero cycle step without dividing by zero.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, AcceptsVlanTaggedInputFrame)
ProcessInputFrame accepts a priority-tagged Ethernet frame.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsUnexpectedFrameId)
ProcessInputFrame rejects a frame with the wrong FrameID.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsMalformedRtFrame)
ProcessInputFrame safely ignores malformed RT bytes that throw during parsing.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsUnexpectedSourceMac)
ProcessInputFrame rejects an unexpected source MAC.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsUnexpectedEtherType)
ProcessInputFrame rejects an unexpected EtherType.
Member
profinet::cyclic::TEST_F
(
CyclicFrameTests
, RejectsTooShortEthernetFrame)
ProcessInputFrame rejects Ethernet frames shorter than the minimum header.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, TimeoutAndErrorCallbacksCanBeRegistered)
OnTimeout and OnError registrations are accepted without invoking them.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputDataCallbackSwallowsException)
OnInput swallows application callback exceptions.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputDataCallbackSkipsEmptyData)
OnInput skips callback delivery when the configured object has zero data bytes.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, RxLoopReportsSocketException)
RxLoop reports receive exceptions through OnError.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendStopFramesWithoutSocketDoesNothing)
SendStopFrames does nothing when no TX socket exists.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendStopFramesGeneratesStopFrameCount)
SendStopFrames emits exactly STOP_FRAME_COUNT frames.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendOutputFrameUsesDataStatusOverride)
SendOutputFrame honors a caller-provided DataStatus override.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendOutputFrameReportsSocketError)
SendOutputFrame routes socket failures to OnError.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, SendOutputFrameWithoutSocketDoesNotThrow)
SendOutputFrame does nothing when the TX socket is absent.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, TxCycleSendsInFault)
TxCycle continues to transmit while the controller is in FAULT.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, TxCycleSendsFrameAndUpdatesStatistics)
TxCycle transmits a frame and increments framesSent.
Member
profinet::cyclic::TEST_F
(
CyclicTxTests
, TxLoopRecordsCycleTiming)
TxLoop records cycle timing statistics across two transmitted cycles.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, RxLoopHandlesWatchdogTimeout)
RxLoop handles an elapsed watchdog timeout and invokes OnTimeout.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StopDoesNothingWhenNotRunning)
Stop returns without changing state when no worker is running.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, RxLoopStopsWithoutSocket)
RxLoop exits cleanly when the receive socket is absent.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, RxLoopProcessesValidFrame)
RxLoop processes a valid received frame before the worker is stopped.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, WatchdogDoesNotRepeatBadTransition)
IOCS is marked BAD only on the first watchdog faulting transition.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, TimeoutCallbackSwallowsException)
A timeout callback exception is swallowed by watchdog handling.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, WatchdogDoesNotTransitionWhenAlreadyFaulted)
Watchdog handling does not re-enter FAULT when already faulted.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, WatchdogFaultsAtConfiguredThreshold)
Watchdog handling enters FAULT when the configured threshold is reached.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, MonitoringOnlyWatchdogKeepsIocsGood)
Monitoring-only watchdog mode keeps IOCS GOOD and never faults.
Member
profinet::cyclic::TEST_F
(
CyclicWatchdogTests
, WatchdogTimeoutUpdatesStatistics)
Watchdog timeout increments missed and consecutive-timeout statistics.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputDataCallbackRunsForGoodInput)
OnInput runs for a GOOD input object and receives the payload.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputDataCallbackSkipsBadInput)
OnInput does not run for a BAD input object.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StartAcceptsStoppedState)
Start accepts the STOPPED state as a restart point.
Member
profinet::cyclic::TEST_F
(
CyclicStateTests
, StartAndStopCompleteNormalLifecycle)
Start and Stop complete the normal lifecycle using injected sockets.
Member
profinet::cyclic::TEST_F
(
CyclicStatsTests
, AverageCycleTimeReturnsIntegerAverage)
AvgCycleTimeUs calculates the integer average.
Member
profinet::cyclic::TEST_F
(
CyclicStatsTests
, AverageCycleTimeReturnsZeroWhenNoCycles)
AvgCycleTimeUs returns zero when no cycles were recorded.
Member
profinet::cyclic::TEST_F
(
CyclicStatsTests
, SnapshotAverageCycleTimeReturnsZeroWhenNoCycles)
AvgCycleTimeUs on a snapshot returns zero when no cycles were recorded.
Member
profinet::cyclic::TEST_F
(
CyclicStatsTests
, StatsSnapshotCopiesAllFields)
StatsSnapshot copies all public statistics fields.
Member
profinet::cyclic::TEST_F
(
CyclicStatsTests
, ResetRestoresInitialValues)
CyclicStats::Reset
restores all counters used by the controller.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, GetInputDataReturnsNulloptForUnknownObject)
GetInputData returns no value for an unknown object.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, GetInputDataReturnsGoodInput)
GetInputData returns received bytes when IOPS is GOOD.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, GetInputDataRejectsBadInputByDefault)
GetInputData rejects BAD input unless allowBad is set.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, GetInputStatusReturnsNulloptForUnknownObject)
GetInputStatus returns no status for an unknown object.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputStatusCallbackSwallowsException)
OnInputStatus swallows application callback exceptions.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputStatusCallbackRunsOnBadTransition)
OnInputStatus runs when the device changes the IOPS value to BAD.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputStatusCallbackSkipsUnchangedStatus)
OnInputStatus does not run while the IOPS value remains unchanged.
Member
profinet::cyclic::TEST_F
(
CyclicCallbackTests
, InputStatusCallbackRunsOnGoodTransition)
OnInputStatus runs when the status changes from unknown to GOOD.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, SetOutputDataRejectsFaultState)
SetOutputData rejects changes in the fault state.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, SetOutputDataRejectsStoppedState)
SetOutputData rejects changes in the stopped state.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, SetOutputDataAcceptsIdleState)
SetOutputData accepts changes in the idle state.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, IsInputGoodReturnsFalseForBadInput)
IsInputGood returns false for BAD IOPS input.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, IsInputGoodReturnsTrueForGoodInput)
IsInputGood returns true for a GOOD IOPS input.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, IsInputGoodReturnsFalseForUnknownObject)
IsInputGood returns false for an unknown object.
Member
profinet::cyclic::TEST_F
(
CyclicDataTests
, GetInputStatusReturnsReceivedIops)
GetInputStatus returns the IOPS value from the device frame.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, SetValveOpenContainsOneSecondOpenCommand)
Verify the one-second AUMA opening command sequence from the real capture.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, BuildExpectedSubmoduleBlocksMatchPhoenixAumaCapture)
Verify BuildExpectedSubmoduleBlock reproduces the three captured expected-submodule blocks.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, DISABLED_BuildInputIocrBlockMatchesPhoenixAumaCapture)
Validate BuildIocrBlock against the captured 43-byte input IOCR request.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, DISABLED_BuildOutputIocrBlockMatchesPhoenixAumaCapture)
Validate BuildIocrBlock against the captured 40-byte output IOCR request.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, PhoenixToAumaCaptureHasExpectedCyclicContract)
Verify the baseline Phoenix-to-AUMA cyclic connection capture.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, SetValveCloseContainsOneSecondCloseCommand)
Verify the one-second AUMA closing command sequence from the real capture.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, CapturesUseExpectedPhoenixAndAumaMacAddresses)
Verify both open and close captures contain stable Layer-2 addressing.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, EveryCapturedCyclicRtFrameRoundTrips)
Verify the production RT parser can round-trip every captured cyclic frame.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, AumaGsdmlMatchesCapturedProcessData)
Verify the AUMA GSDML identity and process-data sizes used by the captures.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, CommandByteIsAtEthernetByteTwentyFive)
Verify the captured open/close command bytes are exactly the cyclic IO command field.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, AumaGsdmlResolvesCompletePhoenixAumaSlotSet)
Verify the AUMA GSDML resolves to the complete nine-submodule configuration used by CONNECT.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, DISABLED_BuildIocrConfigsMatchesPhoenixAumaWireLayout)
Validate BuildIocrConfigs against the 43-byte input and 40-byte output wire layouts.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, CyclicControllerTransmitsCapturedCloseCommand)
Verify the real CyclicController TX path produces a captured AUMA close command.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, CyclicControllerReceivesCapturedAumaPosition)
Verify the real CyclicController RX path decodes the captured AUMA position.
Member
profinet::CyclicCaptureTests::TEST
(
CyclicCaptureTests
, PhoenixGsdmlMatchesCapturedControllerIdentity)
Verify the Phoenix GSDML identity of the controller used by the captures.
Member
profinet::dcp::TEST
(DcpTest, DcpResponseCodeGetNameUnknown)
Verify DCPResponseCode::GetName uses the hexadecimal fallback for an unknown response code.
Member
profinet::dcp::TEST
(DcpTest, DcpResponseCodeGetNameDefinedValues)
Verify DCPResponseCode::GetName resolves all defined response codes.
Member
profinet::dcp::TEST
(DcpTest, DeviceInitiativeUnknown)
Verify DeviceInitiative::GetName uses the hexadecimal fallback for an unknown value.
Member
profinet::dcp::TEST
(DcpTest, DeviceInitiativeIssueHello)
Verify DeviceInitiative::GetName resolves the ISSUE_HELLO value.
Member
profinet::dcp::TEST
(DcpTest, DeviceInitiativeNoHello)
Verify DeviceInitiative::GetName resolves the NO_HELLO value.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierUnknown)
Verify ResetQualifier::GetName uses the hexadecimal fallback for an unknown qualifier.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierRestoreData)
Verify ResetQualifier::GetName resolves both reset-and-restore values.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierFactory)
Verify ResetQualifier::GetName resolves both factory-reset values.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierEngineeringParameterSecondRange)
Verify ResetQualifier::GetName resolves both engineering-parameter values in the second qualifier range.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierAllStoredData)
Verify ResetQualifier::GetName resolves both all-stored-data reset values.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierEngineeringParameter)
Verify ResetQualifier::GetName resolves both engineering-parameter reset values.
Member
profinet::dcp::TEST
(DcpTest, GetDcpBlockErrorNameDefinedValues)
Verify GetDcpBlockErrorName resolves all defined block error codes.
Member
profinet::dcp::TEST
(DcpTest, GetDcpBlockErrorNameUnknown)
Verify GetDcpBlockErrorName uses the hexadecimal fallback for an unknown block error.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseHostname)
Verify
DCPDHCPBlock::Parse
decodes a Hostname suboption and preserves its raw payload.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseClientId)
Verify
DCPDHCPBlock::Parse
stores ClientID data without decoding it.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseVendorSpecific)
Verify
DCPDHCPBlock::Parse
stores vendor-specific data without decoding it.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseFqdn)
Verify
DCPDHCPBlock::Parse
decodes an FQDN into an optional string.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUuid)
Verify
DCPDHCPBlock::Parse
converts a complete 16-byte UUID into the expected hexadecimal representation.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUuidTooShort)
Verify
DCPDHCPBlock::Parse
does not decode a UUID when the payload is shorter than 16 bytes.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUuidMinimumLength)
Verify
DCPDHCPBlock::Parse
accepts a UUID payload exactly at the minimum required length.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUnknownSuboption)
Verify
DCPDHCPBlock::Parse
uses the hexadecimal fallback for an unknown DHCP suboption.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUnknownSuboptionEmptyPayload)
Verify
DCPDHCPBlock::Parse
preserves an empty payload for an unknown suboption.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockKnownSuboptionNames)
Verify
DCPDHCPBlock::Parse
resolves all registered DHCP suboption names that do not have dedicated payload decoding.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameKnownOptionWithoutSuboptionTable)
Verify GetBlockName falls back to hexadecimal naming when the option has no suboption table.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseAcceptsVlanResponse)
Verify RecvSetResponse accepts a VLAN-tagged PROFINET SET response.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRoleUnknown)
Verify DecodeDeviceRole returns Unknown when no role bits are set.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRoleIoDevice)
Verify DecodeDeviceRole decodes the IO-Device role.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRoleIoController)
Verify DecodeDeviceRole decodes the IO-Controller role.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRoleIoMultidevice)
Verify DecodeDeviceRole decodes the IO-Multidevice role.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRolePnSupervisor)
Verify DecodeDeviceRole decodes the PN-Supervisor role.
Member
profinet::dcp::TEST
(DcpTest, DecodeDeviceRoleAllRoles)
Verify DecodeDeviceRole decodes all four supported role bits simultaneously.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameKnownOptionAndSuboption)
Verify GetBlockName resolves a known option and known suboption.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameKnownDeviceAndDhcpSuboptions)
Verify GetBlockName resolves known Device and DHCP suboptions.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameKnownControlAndDeviceInitiativeSuboptions)
Verify GetBlockName resolves the known Control and DeviceInitiative suboptions.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameKnownOptionUnknownSuboption)
Verify GetBlockName falls back to hexadecimal naming for an unknown suboption of a known option.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierCommunicationParameter)
Verify ResetQualifier::GetName resolves both communication-parameter reset values.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameVendorOption)
Verify GetBlockName formats vendor-specific options from 0x80 through 0xFE as Vendor-XX.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameUnknownOption)
Verify GetBlockName formats unknown non-vendor options using the Opt-XX fallback.
Member
profinet::dcp::TEST
(DcpTest, IpBlockInfoGetNameDefinedValues)
Verify IPBlockInfo::GetName resolves every defined IP status.
Member
profinet::dcp::TEST
(DcpTest, IpBlockInfoGetNameUnknown)
Verify IPBlockInfo::GetName uses the hexadecimal fallback for an unknown status.
Member
profinet::dcp::TEST
(DcpTest, IpBlockInfoHasConflict)
Verify IPBlockInfo::HasConflict distinguishes conflicting and non-conflicting status values.
Member
profinet::dcp::TEST
(DcpTest, IpBlockInfoIsDhcp)
Verify IPBlockInfo::IsDhcp distinguishes DHCP and non-DHCP status values.
Member
profinet::dcp::TEST
(DcpTest, BlockQualifierGetNameTemporary)
Verify BlockQualifier::GetName resolves the temporary qualifier.
Member
profinet::dcp::TEST
(DcpTest, BlockQualifierGetNamePermanent)
Verify BlockQualifier::GetName resolves the permanent qualifier.
Member
profinet::dcp::TEST
(DcpTest, BlockQualifierGetNameUnknown)
Verify BlockQualifier::GetName uses the hexadecimal fallback for an unknown qualifier.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierApplicationData)
Verify ResetQualifier::GetName resolves both application-data reset values.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresUnsuccessfulServiceType)
ReadResponse ignores DCP responses that are not successful.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresEmptyData)
ReadResponse ignores empty Ethernet data.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresShortEthernetFrame)
ReadResponse ignores Ethernet frames shorter than the minimum Ethernet header.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresMalformedEthernetFrame)
ReadResponse ignores frames for which
EthernetHeader
parsing fails.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresWrongDestination)
ReadResponse ignores frames addressed to a different destination MAC.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresShortVlanPayload)
ReadResponse ignores VLAN frames without a complete VLAN header.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresWrongVlanInnerEtherType)
ReadResponse ignores VLAN frames whose inner EtherType is not PROFINET.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresWrongEtherType)
ReadResponse ignores untagged Ethernet frames with a non-PROFINET EtherType.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresMalformedDcpHeader)
ReadResponse ignores frames for which DCP header parsing fails.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseIgnoresUnexpectedXid)
ReadResponse ignores a valid response when its XID does not match.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseParsesValidVlanResponse)
ReadResponse parses a VLAN-tagged PROFINET response.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseUsesEmptyBlockRegionForShortDcpLength)
ReadResponse ignores the block list when the DCP length is six bytes or less.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseLimitsBlockRegionToDcpLength)
ReadResponse uses only the number of bytes declared by DCP length.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseProcessesMultipleResponsesWhenOnceIsFalse)
ReadResponse processes multiple responses when once is false.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseStopsAfterFirstValidResponseWhenOnceIsTrue)
ReadResponse stops after the first valid response when once is true.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseContinuesAfterIgnoredFrames)
ReadResponse ignores a DCP request frame and continues until a valid response arrives.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseReturnsEmptyMapOnTimeout)
ReadResponse returns an empty map when the timeout expires without a valid response.
Member
profinet::dcp::TEST
(DcpTest, SendHelloBuildsCompleteHelloFrame)
SendHello sends a complete valid Hello frame with an even-length station name.
Member
profinet::dcp::TEST
(DcpTest, SetIpRejectsInvalidIpAddress)
SetIp rejects an invalid IPv4 address before sending a frame.
Member
profinet::dcp::TEST
(DcpTest, GetParamReturnsMatchingParameter)
GetParam returns the payload from the matching response block.
Member
profinet::dcp::TEST
(DcpTest, GetParamReturnsNulloptWhenParameterIsMissing)
GetParam returns no value when the response does not contain the requested block.
Member
profinet::dcp::TEST
(DcpTest, GetParamReturnsNulloptOnTimeout)
GetParam returns no value when ReadResponse receives no response.
Member
profinet::dcp::TEST
(DcpTest, SetParamReturnsTrueForSuccessfulResponse)
SetParam sends a valid SET request and returns true for a successful response.
Member
profinet::dcp::TEST
(DcpTest, SetParamThrowsForDeviceBlockError)
SetParam throws when the device reports a DCP block error.
Member
profinet::dcp::TEST
(DcpTest, SetParamReturnsFalseOnTimeout)
SetParam returns false when no SET response is received.
Member
profinet::dcp::TEST
(DcpTest, SetParamBuildsTemporaryRequest)
SetParam accepts temporary parameter storage.
Member
profinet::dcp::TEST
(DcpTest, SetIpReturnsFalseOnTimeout)
SetIp returns false when the device does not respond.
Member
profinet::dcp::TEST
(DcpTest, SendHelloAddsPaddingForOddLengthStationName)
SendHello adds padding after an odd-length station name.
Member
profinet::dcp::TEST
(DcpTest, SetIpEncodesPermanentQualifier)
SetIp encodes the permanent block qualifier into the IP parameter block.
Member
profinet::dcp::TEST
(DcpTest, SetIpEncodesTemporaryQualifier)
SetIp encodes the temporary block qualifier into the IP parameter block.
Member
profinet::dcp::TEST
(DcpTest, SendRequestBuildsIdentifyRequest)
SendRequest sends an Identify request to the DCP multicast address.
Member
profinet::dcp::TEST
(DcpTest, SetIpBuildsPermanentIpBlock)
SetIp encodes the permanent qualifier and complete IPv4 configuration.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseSetsExpectedSocketTimeout)
ReadResponse sets the socket timeout before receiving responses.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseReturnsValidResponse)
ReadResponse parses a valid response and returns its blocks indexed by source MAC.
Member
profinet::dcp::TEST
(DcpTest, ReadResponseAcceptsAnyXidWhenExpectedXidIsNotSpecified)
ReadResponse accepts a response without an expected XID filter.
Member
profinet::dcp::TEST
(DcpTest, SignalDeviceReturnsFalseOnTimeout)
SignalDevice returns false when the device does not respond before the timeout.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresMalformedDcpHeader)
ReceiveHello ignores frames whose DCP header cannot be parsed.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresNonHelloServiceId)
ReceiveHello ignores DCP messages that are not Hello messages.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresNonRequestServiceType)
ReceiveHello ignores Hello messages that are not requests.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloContinuesAfterIgnoredFrame)
ReceiveHello continues receiving after an ignored frame.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloReturnsMultipleDevices)
ReceiveHello returns all valid devices received before the timeout.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloReturnsEmptyOnTimeout)
ReceiveHello returns no devices when the timeout expires.
Member
profinet::dcp::TEST
(DcpTest, SignalDeviceReturnsTrueForSuccessfulResponse)
SignalDevice sends a DCP signal request and returns true on a successful response.
Member
profinet::dcp::TEST
(DcpTest, SignalDeviceThrowsForBlockError)
SignalDevice throws
DCPError
when the device reports a signal error.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresShortPnioPayload)
ReceiveHello ignores frames whose PROFINET payload is too short for a DCP header.
Member
profinet::dcp::TEST
(DcpTest, SignalDeviceRejectsInvalidTargetMac)
SignalDevice propagates an invalid target MAC address without sending a frame.
Member
profinet::dcp::TEST
(DcpTest, ResetToFactoryReturnsTrueForSuccessfulResponse)
ResetToFactory sends a valid reset request and returns true on a successful response.
Member
profinet::dcp::TEST
(DcpTest, ResetToFactoryEncodesCombinedResetMode)
ResetToFactory correctly encodes a combined reset mode.
Member
profinet::dcp::TEST
(DcpTest, ResetToFactoryReturnsFalseOnTimeout)
ResetToFactory returns false when the device does not respond.
Member
profinet::dcp::TEST
(DcpTest, ResetToFactoryThrowsForBlockError)
ResetToFactory throws when the device reports a reset failure.
Member
profinet::dcp::TEST
(DcpTest, ResetToFactoryRejectsInvalidTargetMac)
ResetToFactory propagates an invalid target MAC address without sending.
Member
profinet::dcp::TEST
(DcpTest, GetParamSendsCorrectGetRequest)
GetParam sends a correctly encoded DCP GET request.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloDoesNotInvokeEmptyCallback)
ReceiveHello does not invoke an empty callback.
Member
profinet::dcp::TEST
(DcpTest, SendHelloEncodesCombinedDeviceRole)
SendHello correctly encodes a combined device role bit mask.
Member
profinet::dcp::TEST
(DcpTest, SendHelloEncodesDeviceId)
SendHello encodes the device ID in network byte order.
Member
profinet::dcp::TEST
(DcpTest, SendHelloRejectsInvalidIpAddress)
SendHello propagates an invalid station IP address without sending a frame.
Member
profinet::dcp::TEST
(DcpTest, SendHelloRejectsInvalidNetmask)
SendHello propagates an invalid netmask without sending a frame.
Member
profinet::dcp::TEST
(DcpTest, SendHelloRejectsInvalidGateway)
SendHello propagates an invalid gateway without sending a frame.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloSetsExpectedSocketTimeout)
ReceiveHello sets the socket timeout before receiving Hello frames.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloReturnsValidDevice)
ReceiveHello parses a valid Hello request into a device description.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloInvokesCallbackForValidDevice)
ReceiveHello invokes the callback for every valid Hello response.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsMalformedEthernetHeader)
Verify ParseSetResponse reports malformed Ethernet headers.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloParsesValidVlanHello)
ReceiveHello accepts a VLAN-tagged PROFINET Hello frame.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresEmptyData)
ReceiveHello ignores empty data.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresShortEthernetFrame)
ReceiveHello ignores Ethernet frames shorter than the minimum Ethernet header.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresMalformedEthernetFrame)
ReceiveHello ignores frames that cannot be parsed as Ethernet frames.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresShortVlanPayload)
ReceiveHello ignores VLAN frames with an incomplete VLAN header.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresWrongVlanInnerEtherType)
ReceiveHello ignores VLAN frames whose inner EtherType is not PROFINET.
Member
profinet::dcp::TEST
(DcpTest, ReceiveHelloIgnoresWrongEtherType)
ReceiveHello ignores untagged frames with a non-PROFINET EtherType.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseTimesOut)
Verify RecvSetResponse throws
DCPTimeoutError
when no usable response is received before timeout.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresMalformedEthernetFrame)
Verify RecvSetResponse ignores frames with malformed Ethernet headers.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresWrongDestinationMac)
Verify RecvSetResponse ignores frames addressed to a different destination MAC.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresShortVlanPayload)
Verify RecvSetResponse ignores VLAN frames that do not contain a complete VLAN header.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresWrongVlanInnerEtherType)
Verify RecvSetResponse ignores VLAN frames with an unexpected inner EtherType.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresWrongEtherType)
Verify RecvSetResponse ignores frames with an unexpected Ethernet EtherType.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresUnexpectedServiceType)
Verify RecvSetResponse ignores valid DCP responses with an unexpected service type.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponsePropagatesDcpError)
Verify RecvSetResponse propagates DCP errors other than an unexpected service type.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseReturnsBlockError)
Verify RecvSetResponse returns the block error from a valid SET response.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresShortFrame)
Verify RecvSetResponse ignores frames shorter than an Ethernet header.
Member
profinet::dcp::TEST
(DcpTest, DeviceRoleNameDefinedValues)
Verify DeviceRoleName returns the expected human-readable name for every supported role.
Member
profinet::dcp::TEST
(DcpTest, DeviceRoleNameUnknown)
Verify DeviceRoleName returns Unknown for an unsupported role value.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameUnknownSuboptionForAllTypedOptionGroups)
Verify GetBlockName falls back to hexadecimal names for unsupported suboptions of every option family.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameOptionsWithoutSuboptions)
Verify GetBlockName falls back correctly for DCP options without defined suboptions.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameUint16OptionOverload)
Verify the raw uint16_t option overload of GetBlockName supports vendor-specific options.
Member
profinet::dcp::TEST
(DcpTest, GetBlockNameDeviceInitiativeSuboption)
Verify GetBlockName resolves the Device Initiative suboption.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyRawOption)
Verify MakeBlockKey supports the raw uint16_t option overload.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseWithoutResponseBlockReturnsSuccess)
Verify ParseSetResponse returns success when no Control/Response block is present.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsTooShortFrame)
Verify ParseSetResponse rejects frames shorter than the minimum Ethernet/DCP response size.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsShortVlanFrame)
Verify ParseSetResponse rejects VLAN frames without a complete VLAN header.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseAcceptsVlanFrame)
Verify ParseSetResponse accepts a VLAN-tagged PROFINET response.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsUnexpectedVlanInnerEtherType)
Verify ParseSetResponse rejects VLAN frames with an unexpected inner EtherType.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsUnexpectedEtherType)
Verify ParseSetResponse rejects non-PROFINET Ethernet frames.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsMalformedDcpHeader)
Verify ParseSetResponse reports malformed DCP headers.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsUnsupportedService)
Verify ParseSetResponse rejects the DCP service-not-supported response.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseRejectsUnexpectedService)
Verify ParseSetResponse rejects an unexpected DCP response service type.
Member
profinet::dcp::TEST
(DcpTest, ParamsContainsSupportedParameters)
Verify Params contains the supported name and IP parameter mappings.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseExtractsThreeByteBlockError)
Verify ParseSetResponse extracts a block error from a Control/Response block with a three-byte payload.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseExtractsShortBlockError)
Verify ParseSetResponse extracts a block error from a one-byte Control/Response payload.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseEmptyResponseBlockReturnsSuccess)
Verify ParseSetResponse keeps success when a Control/Response block has an empty payload.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseSkipsNonResponseBlocks)
Verify ParseSetResponse ignores blocks preceding the Control/Response block.
Member
profinet::dcp::TEST
(DcpTest, ParseSetResponseUsesFirstResponseBlock)
Verify ParseSetResponse uses only the first Control/Response block.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseReturnsSuccessfulResponse)
Verify RecvSetResponse configures the socket timeout and returns a successful SET response.
Member
profinet::dcp::TEST
(DcpTest, RecvSetResponseIgnoresEmptyFrame)
Verify RecvSetResponse ignores empty received frames.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestBuildsTemporaryOddLengthName)
Verify BuildSetParamRequest creates a temporary SET request for an odd-length station name and adds alignment padding.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseEmptyFqdn)
Verify
DCPDHCPBlock::Parse
creates an empty FQDN when the FQDN payload is empty.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ToStringIncludesAllPopulatedFields)
Verify ToString includes all populated device description fields and formats lists and DHCP blocks correctly.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ToStringOmitsUnsetOptionalFields)
Verify ToString omits optional fields when they are empty or unset.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ToStringFormatsDhcpBlockVariants)
Verify ToString formats multiple DHCP blocks and selects hostname, FQDN, UUID, and raw-data representations.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ConstructorDecodesAllSupportedBlocks)
Verify
DCPDeviceDescription
decodes all supported DCP blocks into their corresponding fields.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ConstructorIgnoresIncompleteOptionalBlocks)
Verify
DCPDeviceDescription
ignores incomplete optional blocks and preserves default values.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ConstructorHandlesLegacyTwelveByteIpBlock)
Verify
DCPDeviceDescription
parses the legacy 12-byte IP block format.
Member
profinet::dcp::TEST
(DCPDeviceDescriptionTest, ConstructorUsesLegacyIpLayoutForThirteenByteBlock)
Verify
DCPDeviceDescription
uses the legacy IP layout for a 13-byte IP block.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyIpSuboption)
Verify MakeBlockKey supports DCP IP suboptions.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestBuildsPermanentEvenLengthName)
Verify BuildSetParamRequest creates a permanent SET request for an even-length station name without extra padding.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestRejectsIpParameter)
Verify BuildSetParamRequest rejects IP configuration through the string-valued SET interface.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestRejectsUnknownParameter)
Verify BuildSetParamRequest rejects unknown parameter names.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestRejectsOverlongStationName)
Verify BuildSetParamRequest rejects station names exceeding DCP_MAX_NAME_LENGTH.
Member
profinet::dcp::TEST
(DcpTest, BuildSetParamRequestAcceptsMaximumStationName)
Verify BuildSetParamRequest accepts a station name exactly at DCP_MAX_NAME_LENGTH.
Member
profinet::dcp::TEST
(DcpTest, BuildDcpSignalRequestBuildsCorrectWireFormat)
Verify BuildDcpSignalRequest creates a SET/Signal request with the expected control payload.
Member
profinet::dcp::TEST
(DcpTest, GetParamThrowsForUnknownParameter)
GetParam throws when the requested parameter does not exist.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseUnknownEnumValue)
Verify
DCPDHCPBlock::Parse
formats the Unknown DHCP suboption and preserves its payload.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyGenericSuboption)
Verify MakeBlockKey supports the generic DcpOption/uint8_t overload.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyDeviceSuboption)
Verify MakeBlockKey supports DCP Device suboptions.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyControlSuboption)
Verify MakeBlockKey supports DCP Control suboptions.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyDhcpSuboption)
Verify MakeBlockKey supports DCP DHCP suboptions.
Member
profinet::dcp::TEST
(DcpTest, MakeBlockKeyDeviceInitiativeSuboption)
Verify MakeBlockKey supports DCP Device Initiative suboptions.
Member
profinet::dcp::TEST
(DcpTest, DeviceRoleBitwiseOr)
Verify DcpDeviceRole bitwise OR combines role flags correctly.
Member
profinet::dcp::TEST
(DcpTest, DeviceRoleBitwiseAndPresent)
Verify DcpDeviceRole bitwise AND detects a role flag that is present.
Member
profinet::dcp::TEST
(DcpTest, DeviceRoleBitwiseAndAbsent)
Verify DcpDeviceRole bitwise AND returns zero for a role flag that is absent.
Member
profinet::dcp::TEST
(DcpTest, ResetModeBitwiseOr)
Verify DcpResetMode bitwise OR combines reset mode flags correctly.
Member
profinet::dcp::TEST
(DcpTest, ResetModeBitwiseAndPresent)
Verify DcpResetMode bitwise AND detects a reset mode flag that is present.
Member
profinet::dcp::TEST
(DcpTest, ResetModeBitwiseAndAbsent)
Verify DcpResetMode bitwise AND returns zero for a reset mode flag that is absent.
Member
profinet::dcp::TEST
(DcpTest, IpBlockInfoBitHelpersHandleUnknownCombinations)
Verify IP block status bit helpers correctly handle combined status bits.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierUnknownEnumValue)
Verify GetResetQualifierName handles an unknown typed enum value.
Member
profinet::dcp::TEST
(DcpTest, ResetQualifierZeroIsUnknown)
Verify GetResetQualifierName handles the zero qualifier as unknown.
Member
profinet::dcp::TEST
(DcpTest, DcpDhcpBlockParseEmptyHostname)
Verify
DCPDHCPBlock::Parse
creates an empty hostname when the hostname payload is empty.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, OddLengthNameIsPaddedAndBlockLengthExcludesPadding)
Verify that an odd-length station name is padded on the wire.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, EvenLengthNameIsNotPadded)
Verify that an even-length station name is serialized without padding.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, DefaultQualifierIsTemporary)
Verify that the default DCP SET qualifier is temporary.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, PermanentQualifierIsSerialized)
Verify that a permanent DCP SET qualifier is serialized correctly.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, IpSetOperationIsRejected)
Verify that the legacy string-based IP SET operation is rejected.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, IpParameterMatchingIsCaseInsensitive)
Verify that IP parameter matching is case-insensitive.
Member
profinet::dcp::TEST_F
(
DcpWireFormatTest
, SignalUsesFlashOnceValue)
Verify that DCP Signal serializes the Flash-Once command.
Member
profinet::device::TEST
(DeviceMoveTests, MoveConstructionDisconnectsSource)
Verifies that move construction transfers the connected state to the destination and leaves the source disconnected.
Member
profinet::device::TEST
(StartCyclicOrderingTests, ApplicationReadyCanBeSkipped)
Verifies that ApplicationReady can be skipped.
Member
profinet::device::TEST
(StartCyclicOrderingTests, StartsRtAfterApplicationReadyWhenDisabled)
Verifies that cyclic RT starts after ApplicationReady when RT-before-PrmEnd mode is disabled.
Member
profinet::device::TEST
(StartCyclicArHandlingTests, ReleasesExistingArBeforeNewConnect)
Verifies that an existing AR is released before a new AR is connected.
Member
profinet::device::TEST
(DeviceMoveTests, MoveAssignmentReleasesDestinationFirst)
Verifies that move assignment closes the destination's existing alarm listener and RPC connection before taking ownership of the source's connection.
Member
profinet::device::TEST
(StartCyclicRollbackTests, ReleaseFailureDoesNotMaskOriginalError)
Verifies that a failure while releasing the AR does not hide the original startup exception.
Member
profinet::device::TEST
(StartCyclicRollbackTests, ApplicationReadyFailureStopsStartedRt)
Verifies that ApplicationReady failure stops cyclic RT that has already been started and releases the connection.
Member
profinet::device::TEST
(StartCyclicRollbackTests, MissingCyclicResultRollsBack)
Verifies that a Connect result without cyclic IO causes startup failure and closes the RPC connection.
Member
profinet::device::TEST
(StartCyclicRollbackTests, PrmEndFailureRollsBack)
Verifies that a PrmEnd failure stops already-started cyclic RT, closes the RPC connection, and clears connection state.
Member
profinet::device::TEST
(StartCyclicArHandlingTests, StopsAlarmListenerBeforeReplacingAr)
Verifies that an alarm listener belonging to an old AR is stopped before the new AR is established.
Member
profinet::device::TEST
(DeviceMoveTests, MovedFromDeviceCanBeDestroyedSafely)
Verifies that a moved-from device can be destroyed safely without attempting to access or close resources transferred to the destination.
Member
profinet::device::TEST_F
(
ProfinetDeviceReadWriteTests
, ReadReturnsRpcPayload)
Verifies that Read returns the payload returned by RPCCon.
Member
profinet::device::TEST_F
(
ParseMacTests
, IsMacAddressRejectsInvalidIdentifier)
Verifies that IsMacAddress rejects invalid identifiers.
Member
profinet::device::TEST_F
(
DeviceInfoTests
, SoftwareRevisionReturnsEmptyWhenIm0Missing)
Verifies that SoftwareRevision returns an empty string when IM0 is absent.
Member
profinet::device::TEST_F
(
DeviceInfoTests
, HardwareRevisionReturnsZeroWhenIm0Missing)
Verifies that HardwareRevision returns zero when IM0 is absent.
Member
profinet::device::TEST_F
(
DeviceInfoTests
, OrderIdReturnsEmptyWhenIm0Missing)
Verifies that OrderId returns an empty string when IM0 is absent.
Member
profinet::device::TEST_F
(
DeviceInfoTests
, SerialNumberReturnsEmptyWhenIm0Missing)
Verifies that SerialNumber returns an empty string when IM0 is absent.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm1RejectsLocationLongerThan22Characters)
Verifies that WriteIm1 rejects a location longer than 22 characters.
Member
profinet::device::TEST_F
(
ProfinetDeviceReadWriteTests
, WriteDelegatesArguments)
Verifies that Write delegates slot, subslot, index, API and data.
Member
profinet::device::TEST_F
(
ProfinetDeviceReadWriteTests
, WriteMultipleMapsItems)
Verifies that WriteMultiple maps public
WriteItem
objects to RPC items.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm0Delegates)
Verifies that ReadIm0 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm1Delegates)
Verifies that ReadIm1 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm2Delegates)
Verifies that ReadIm2 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm3Delegates)
Verifies that ReadIm3 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm4Delegates)
Verifies that ReadIm4 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadIm5Delegates)
Verifies that ReadIm5 delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, ReadAllImDelegates)
Verifies that ReadAllIm delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm1BuildsPaddedBlock)
Verifies that WriteIm1 creates the expected block header and fields.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm1RejectsFunctionLongerThan32Characters)
Verifies that WriteIm1 rejects a function longer than 32 characters.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm2BuildsPaddedBlock)
Verifies that WriteIm2 creates the expected block and padded date.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanPreservesShortTimeout)
Verify that Scan preserves a short fractional timeout.
Member
profinet::device::TEST_F
(
StartCyclicTests
, ApplicationReadyFailurePropagates)
Verifies that ApplicationReady failure propagates to the caller.
Member
profinet::device::TEST_F
(
StartCyclicTests
, MissingCyclicResultFailsStartup)
Verifies that startup fails when the RPC connection does not establish cyclic IO.
Member
profinet::device::TEST_F
(
StartCyclicTests
, StartsRtAfterPrmEndAndApplicationReady)
Verifies that cyclic RT starts after PrmEnd and ApplicationReady.
Member
profinet::device::TEST_F
(
StartCyclicTests
, ConnectsWithAlarmCrAndIocrSetup)
Verifies that StartCyclic establishes an AlarmCR-enabled AR using the supplied IOCR configuration.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanDictKeepsEmptyStationNames)
Verify that ScanDict keeps devices with empty station names.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanDictKeepsDuplicateStationNames)
Verify that ScanDict keeps devices with duplicate station names.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanCreatesDeviceForEveryResponse)
Verify that Scan creates one
ProfinetDevice
for every DCP response.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanPreservesLongTimeout)
Verify that Scan preserves a long timeout.
Member
profinet::device::TEST_F
(
ParseMacTests
, IsMacAddressAcceptsValidMac)
Verifies that IsMacAddress identifies valid MAC addresses.
Member
profinet::device::TEST_F
(
ProfinetScannerTest
, ScanPreservesZeroTimeout)
Verify that Scan forwards a zero-second timeout unchanged.
Member
profinet::device::TEST_F
(
StartCyclicTests
, ApplicationReadyFailureDoesNotStartRt)
Verifies that cyclic RT is not started when ApplicationReady fails.
Member
profinet::device::TEST_F
(
StartCyclicTests
, CommitsConnectedDeviceState)
Verifies that the RPC and connected state are committed after successful cyclic startup.
Member
profinet::device::TEST_F
(
StartCyclicTests
, RequestsAlarmCrConnection)
Verifies that cyclic startup requests an AlarmCR connection.
Member
profinet::device::TEST_F
(
ParseMacTests
, ParsesColonSeparatedMac)
Verifies that a valid colon-separated MAC address is parsed.
Member
profinet::device::TEST_F
(
ParseMacTests
, ParsesDashSeparatedMac)
Verifies that a valid dash-separated MAC address is parsed.
Member
profinet::device::TEST_F
(
ParseMacTests
, ParsesDotSeparatedMac)
Verifies that a valid dot-separated MAC address is parsed.
Member
profinet::device::TEST_F
(
ParseMacTests
, RejectsInvalidMac)
Verifies that an invalid MAC address is rejected.
Member
profinet::device::TEST_F
(
ProfinetDeviceInfoTests
, IncludesTopologyWhenRequested)
Verifies that GetInfo includes topology when requested.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, RequiresConnection)
Verifies that starting the alarm listener requires a connection.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, RequiresAlarmCr)
Verifies that starting the alarm listener requires AlarmCR.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, StartAndRunningProperty)
Verifies that StartAlarmListener creates and starts the listener.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, StopRemovesListener)
Verifies that StopAlarmListener removes the alarm listener.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, RepeatedStartDoesNotDuplicateCallbackRegistration)
Repeated StartAlarmListener does not register callbacks twice.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, CallbackAddedBeforeStartIsRegisteredOnce)
A callback registered before Start is registered exactly once.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, CallbackAddedWhileRunningIsForwardedOnce)
A callback added while running is forwarded immediately.
Member
profinet::device::TEST_F
(
ProfinetDeviceInfoTests
, CollectsIm0)
Verifies that GetInfo collects IM0 information.
Member
profinet::device::TEST_F
(
ProfinetDeviceInfoTests
, Im0FailureIsTolerated)
Verifies that GetInfo tolerates an IM0 RPC failure.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmListenerTests
, OnAlarmForwardsToRunningListener)
Verifies that OnAlarm forwards callbacks to an existing listener.
Member
profinet::device::TEST_F
(
ProfinetDeviceInfoTests
, DoesNotReadTopologyByDefault)
Verifies that GetInfo does not request topology by default.
Member
profinet::device::TEST_F
(
ProfinetDeviceStringTests
, ToStringShowsDisconnectedState)
Verifies that ToString identifies the device as disconnected initially.
Member
profinet::device::TEST_F
(
DeviceTest
, ParseMacAcceptsColonDashAndDotSeparators)
parse_mac accepts colon, dash, and dot separators
Member
profinet::device::TEST_F
(
DeviceTest
, ParseMacRejectsNonMacStrings)
parse_mac rejects non-MAC strings
Member
profinet::device::TEST_F
(
DeviceTest
, IsMacAddressMatchesParseMac)
is_mac_address matches parse_mac
Member
profinet::device::TEST_F
(
DeviceTest
, DeviceInfoHelpersReturnEmptyOrZeroWhenIm0Unset)
DeviceInfo
helper methods return empty/zero when im0 is unset
Member
profinet::device::TEST_F
(
DeviceTest
, DeviceInfoHelpersExtractAndTrimIm0Fields)
DeviceInfo
helper methods extract and trim im0 fields
Member
profinet::device::TEST_F
(
DeviceTest
, FromDcpInfoConstructsWithoutDiscovery)
ProfinetDevice::from_dcp_info constructs without discovery, starts disconnected
Member
profinet::device::TEST_F
(
DeviceTest
, DiscoverWithUnknownMacThrowsDcpDeviceNotFoundError)
ProfinetDevice::discover with a MAC identifier that never responds throws
DCPDeviceNotFoundError
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, ReleaseArClearsOnlyCurrentRpc)
Verifies that ReleaseAr only clears state when releasing the active RPC.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm2RejectsDateLongerThan16Characters)
Verifies that WriteIm2 rejects a date longer than 16 characters.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm3BuildsPaddedBlock)
Verifies that WriteIm3 creates the expected block and padded descriptor.
Member
profinet::device::TEST_F
(
ProfinetDeviceImTests
, WriteIm3RejectsDescriptorLongerThan54Characters)
Verifies that WriteIm3 rejects a descriptor longer than 54 characters.
Member
profinet::device::TEST_F
(
ProfinetDeviceDiagnosisTests
, ReadModuleDiffDelegates)
Verifies that ReadModuleDiff delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceDiagnosisTests
, ReadDiagnosisDelegatesArguments)
Verifies that ReadDiagnosis delegates slot, subslot and index.
Member
profinet::device::TEST_F
(
ProfinetDeviceDiagnosisTests
, ReadAllDiagnosisDelegates)
Verifies that ReadAllDiagnosis delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceDiagnosisTests
, DiscoverSlotsDelegates)
Verifies that DiscoverSlots delegates to RPCCon.
Member
profinet::device::TEST_F
(
ProfinetDeviceDiagnosisTests
, ReadTopologyDelegates)
Verifies that ReadTopology delegates to ReadPdRealData.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmTests
, ReturnsNoneOnRpcError)
Verifies that ReadAlarm returns no value when the RPC operation fails.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmTests
, ReturnsNoneOnShortPayload)
Verifies that ReadAlarm returns no value for a short payload.
Member
profinet::device::TEST_F
(
ProfinetDeviceAlarmTests
, ParsesAlarmPayload)
Verifies that ReadAlarm parses a valid alarm payload.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, ConnectSuccess)
Verifies that a successful Connect establishes the connection.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, ConnectFailureIsWrapped)
Verifies that an RPC connection error is converted to
RPCConnectionError
.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, ConnectIsNoOpWhenAlreadyConnected)
Verifies that Connect does nothing when already connected.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, DisconnectClearsConnectionState)
Verifies that Disconnect delegates to RPCCon and clears connection state.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, CloseClosesRpc)
Verifies that Close closes the RPC connection and clears ownership.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, DISABLED_CloseStopsAlarmListener)
Verifies that Close stops an active alarm listener.
Member
profinet::device::TEST_F
(
ProfinetDeviceConnectionLifecycleTests
, ReleaseArSuppressesDisconnectErrors)
Verifies that ReleaseAr suppresses disconnect exceptions.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesPhoenixGsdml)
Verify that the Phoenix Contact AXC-F-1252 GSDML can be parsed.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesAumaGsdml)
Verify that the AUMA SGx GSDML can be parsed successfully.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, FindsActuatorStatusModule)
Verify that the AUMA actuator status module is present.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, FindsDap)
Verify that the AUMA Device Access Point is parsed correctly.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesDeviceId)
Verify that the AUMA device ID is parsed correctly.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesVendorId)
Verify that the AUMA vendor ID is parsed correctly.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesStatusInputLength)
Verify that the AUMA status submodule contains 34 input bytes.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaCommandBitsHaveCorrectByteAndBitOffsets)
Verify AUMA CMD BitDataItems map to the correct process-data byte and bit.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaInputDataItemsMatchReportedLength)
Verify that every AUMA module's parsed input data-item lengths sum to the reported input length.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaOutputDataItemsMatchReportedLength)
Verify that every AUMA module's parsed output data-item lengths sum to the reported output length.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixInputDataItemsMatchReportedLength)
Verify that every Phoenix Contact global submodule's input data-item lengths sum to the parser's reported input length.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixOutputDataItemsMatchReportedLength)
Verify that every Phoenix Contact global submodule's output data-item lengths sum to the parser's reported output length.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaBuildIoSlotsContainsExpectedDeviceConfiguration)
Verify that the AUMA default GSDML configuration resolves its DAP and configured actuator input/output modules into IOSlots.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaBuildIoSlotsDoesNotMutateParsedDevice)
Verify that AUMA BuildIoSlots does not change the parsed GSDML model.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaCyclicIoLengthsMatchConfiguredModules)
Verify that the AUMA status and control modules expose the data lengths consumed by the cyclic IO configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaRepeatedParsingProducesSameMetadata)
Verify that the real AUMA GSDML can be parsed repeatedly without changing the resulting device metadata.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsMatchesExpectedSlots)
Verify that BuildIoSlots produces the expected AUMA slot/subslot layout.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsMatchesExpectedInputOutputLengths)
Verify that generated AUMA IOSlots expose the expected input/output lengths.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildsAumaIoSignalCatalog)
Verify that the real AUMA GSDML produces a non-empty logical signal catalogue.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsIsDeterministic)
Verify that resolving the same Phoenix GSDML more than once produces an identical IOSlot configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaLogByteCreatesEightBitSignals)
Verify that the AUMA LOG byte is expanded into eight logical sensor signals.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesAumaBitDataItems)
Verify that the AUMA GSDML parser preserves BitDataItem definitions.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaSignalsMatchGeneratedIoSlots)
Verify the real AUMA signal catalogue agrees with BuildIoSlots().
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixCatalogExcludesReservedSignals)
Verify Phoenix signals do not expose reserved process-data entries.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildsPhoenixIoSignalCatalog)
Verify that the Phoenix real GSDML can also be converted to a signal catalogue.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaCatalogSignalsHaveValueClassification)
Verify that every real AUMA signal has a supported connector value classification.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaCatalogExcludesReservedSignals)
Verify reserved DataItems from the real AUMA GSDML are not exposed as signals.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaSignalsStayWithinProcessDataLengths)
Verify that every real AUMA signal fits inside its parsed submodule process-data area.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaActuatorSignalsUseControlSubmodule)
Verify AUMA actuator signals originate from the expected control process-data submodule.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, AumaSensorSignalsUseStatusSubmodule)
Verify AUMA input signals originate from the expected status process-data submodule.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixDefaultSubmoduleResolvesToPnio512512)
Verify that the Phoenix Contact selected global submodule is PNIO512512 and therefore provides 512 input and output bytes.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, FindsActuatorControlModule)
Verify that the AUMA actuator control module is present.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesControlOutputLength)
Verify that the AUMA control submodule contains 16 output bytes.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesStatusSubmoduleIdent)
Verify the AUMA actuator status submodule ident number.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ParsesControlSubmoduleIdent)
Verify the AUMA actuator control submodule ident number.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsMatchesExpectedInputLengths)
Verify that generated AUMA IOSlots have the expected input lengths.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsMatchesExpectedOutputLengths)
Verify that generated AUMA IOSlots have the expected output lengths.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildIoSlotsProducesExpectedModuleIdents)
Verify that generated AUMA IOSlots contain the expected module idents.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, FindsPhoenixIoModule)
Verify that the Phoenix Contact PNSlot1 module is parsed.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, FindsPhoenixDap)
Verify that the Phoenix GSDML exposes the DAP module correctly.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, BuildsPhoenixDefaultIoSlotConfiguration)
Verify that the Phoenix Contact default GSDML configuration resolves the selected module and all DAP/PDEV submodules into IOSlots.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixFixedModuleResolvesToSlotOne)
Verify that the Phoenix Contact fixed/used module resolves to slot 1.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixModuleReferenceContainsUsedSubslot)
Verify that the Phoenix Contact module references contain an explicit UsedInSubslots selection for the default PNSlot1 configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixApplicationRelationsExposeTimingProperties)
Verify that the Phoenix Contact ApplicationRelations timing properties are parsed and available to the controller configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixDapVirtualSubmoduleBuildsSlotZero)
Verify that the Phoenix Contact DAP virtual submodule is resolved into the standard slot-zero/subslot-one representation used by BuildIoSlots.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixInterfaceSubmoduleBuildsAtPdevSubslot)
Verify that the Phoenix Contact system-defined PDEV interface submodule is retained in the resolved IOSlot configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixPortSubmoduleBuildsAtPdevSubslot)
Verify that the Phoenix Contact PDEV port submodule is retained in the resolved IOSlot configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, PhoenixExplicitPluggedConfigurationOverridesDefault)
Verify that an explicit Phoenix Contact module/submodule selection overrides the GSDML's default UsedInSubslots selection.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ExplicitModuleAssignmentRejectsDisallowedPhoenixSlot)
Verify that a module cannot be explicitly assigned to a slot outside its AllowedInSlots declaration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ExplicitConfigurationRejectsUnknownModule)
Verify that an unknown module identifier is rejected while resolving an explicit GSDML configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ExplicitConfigurationRejectsUnknownSubmodule)
Verify that an unknown submodule identifier is rejected while resolving an explicit GSDML configuration.
Member
profinet::gsdml::TEST_F
(
GsdmlRealDeviceTest
, ExplicitConfigurationRejectsDisallowedSubslot)
Verify that an explicitly selected Phoenix submodule must be allowed in the requested subslot.
Member
profinet::io::TEST
(IoSignalCatalogTests, ConvertsBitOffsetToByteAndBitOffset)
Verify BitDataItem offsets are converted into process-data byte and bit offsets.
Member
profinet::io::TEST
(IoSignalCatalogTests, BitSignalsAreBooleanAndDoubleCompatible)
Verify BitDataItems are exposed as boolean double-compatible signals.
Member
profinet::io::TEST
(IoSignalCatalogTests, CombinesAndNormalizesPossibleInlineSubmoduleSlots)
Verify inline submodule placement metadata combines all known subslot references.
Member
profinet::io::TEST
(IoSignalCatalogTests, IncludesAllModulesWhenNoModuleReferencesExist)
Verify a module with no DAP reference is still catalogued when no module reference list exists.
Member
profinet::io::TEST
(IoSignalCatalogTests, UsesOnlyReferencedModulesWhenReferencesExist)
Verify that a non-empty module reference list limits catalogue construction to referenced modules.
Member
profinet::io::TEST
(IoSignalCatalogTests, MergesDuplicateModuleReferences)
Verify duplicate module references are merged into one module catalogue entry.
Member
profinet::io::TEST
(IoSignalCatalogTests, ResolvesGlobalSubmoduleReference)
Verify globally defined submodules referenced by a module are resolved and catalogued.
Member
profinet::io::TEST
(IoSignalTypeTests, ClassifiesAllDoubleCompatibleScalarTypes)
Verify all integer and floating-point DataTypes intended for the connector are classified.
Member
profinet::io::TEST
(IoSignalCatalogTests, BitSignalsRetainParentDataItemOffset)
Verify bit signals retain the byte offset of their parent DataItem.
Member
profinet::io::TEST
(IoSignalCatalogTests, BitDataItemDoesNotCreateParentSignal)
Verify a bit-defined DataItem is represented by its logical bits, not by an additional byte-valued signal.
Member
profinet::io::TEST
(IoSignalTypeTests, ClassifiesUnsupportedAndUnknownTypes)
Verify data types without an explicitly supported numeric connector representation are rejected.
Member
profinet::io::TEST
(IoSignalCatalogTests, ExpandsBitDataItemsIntoIndividualSignals)
Verify that BitDataItems become individual logical boolean signals.
Member
profinet::io::TEST
(IoSignalCatalogTests, MaintainsDeterministicCatalogueOrder)
Verify signal insertion order follows deterministic module/submodule and DataItem order.
Member
profinet::io::TEST
(IoSignalCatalogTests, RetainsDuplicateSignalNamesAcrossSubmodules)
Verify duplicated signal names are retained because the name alone is not a unique device key.
Member
profinet::io::TEST
(IoSignalCatalogTests, IncludesDapVirtualSubmoduleSignals)
Verify DAP virtual submodules are exposed at the slot/subslot locations used by BuildIoSlots().
Member
profinet::io::TEST
(IoSignalCatalogTests, UnknownSubmoduleReferenceThrows)
Verify an unresolved global submodule reference is reported instead of silently losing signals.
Member
profinet::io::TEST
(IoSignalCatalogTests, MergesDuplicateSubmoduleReferences)
Verify duplicate global submodule references are merged into one catalogue entry.
Member
profinet::io::TEST
(IoSignalCatalogTests, UnknownModuleReferenceThrows)
Verify an unresolved module reference is reported instead of silently losing signals.
Member
profinet::io::TEST
(IoSignalCatalogTests, PrefersInlineSubmoduleOverDuplicateGlobalReference)
Verify inline submodules take precedence over duplicate global definitions.
Member
profinet::io::TEST
(IoSignalCatalogTests, CalculatesIndependentInputAndOutputOffsets)
Verify DataItem offsets accumulate independently for input and output process data.
Member
profinet::io::TEST
(IoSignalTests, DirectionAccessorsReportCorrectDirection)
Verify sensor and actuator accessors expose the direction correctly.
Member
profinet::io::TEST
(IoSignalReservedTests, DoesNotMisclassifyNormalSignals)
Verify normal application names containing no reserved marker are retained.
Member
profinet::io::TEST
(IoSignalReservedTests, DetectsReservedTextIdsCaseInsensitively)
Verify reserved detection handles the vendor naming style used in GSDML TextIds.
Member
profinet::io::TEST
(IoSignalCatalogTests, CombinesAndNormalizesPossibleModuleSlots)
Verify module placement metadata combines allowed, fixed and used slots without duplicates.
Member
profinet::io::TEST
(IoSignalTests, DoubleCompatibilityAccessorMirrorsFlag)
Verify the connector compatibility accessor mirrors the stored compatibility flag.
Member
profinet::io::TEST
(IoSignalCatalogTests, EmptyDeviceProducesEmptyCatalogue)
Verify a completely empty GSDML device produces an empty catalogue.
Member
profinet::io::TEST
(IoSignalCatalogTests, SeparatesInputAndOutputSignals)
Verify input and output DataItems become sensors and actuators respectively.
Member
profinet::io::TEST
(IoSignalCatalogTests, ZeroLengthDataItemDoesNotAdvanceOffset)
Verify a zero-length DataItem does not advance the following item's offset.
Member
profinet::io::TEST
(IoSignalCatalogTests, NegativeDataItemLengthThrows)
Verify negative DataItem lengths are rejected instead of being converted to a huge unsigned size.
Member
profinet::io::TEST
(IoSignalCatalogTests, EmptyTextIdUsesFallbackName)
Verify an empty TextId gets a deterministic non-empty fallback display name.
Member
profinet::io::TEST
(IoSignalCatalogTests, FiltersReservedItems)
Verify reserved process-data items are omitted while other items remain.
Member
profinet::io::TEST
(IoSignalCatalogTests, ReservedItemStillAdvancesOffset)
Verify a reserved DataItem still occupies its wire bytes when calculating later offsets.
Member
profinet::io::TEST
(IoSignalCatalogTests, KeepsUnsupportedSignalsWithCompatibilityFalse)
Verify unsupported DataItems remain visible but are marked non-double-compatible.
Member
profinet::io::TEST
(IoSignalCatalogTests, SupportedScalarSignalsAreDoubleCompatible)
Verify all supported scalar DataTypes are exposed as double-compatible signals.
Member
profinet::io::TEST
(IoSignalCatalogTests, PreservesModuleAndSubmoduleMetadata)
Verify module and submodule metadata is copied to every signal.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllImIgnoresRpcErrorForOptionalRecord)
Ignores RPC errors for optional I&M records.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllImIgnoresStandardExceptionForOptionalRecord)
Ignores non-RPC exceptions for optional I&M records.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadDiagnosisFallsBackToSimpleParser)
Falls back to the simple diagnosis parser when the full parser is empty.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllImPropagatesIm0Failure)
Propagates failure when mandatory I&M0 cannot be read.
Member
profinet::rpc::TEST_F
(
RpcTests
, WriteMultipleReturnsEmptyForNoWrites)
Returns immediately without sending anything for an empty write list.
Member
profinet::rpc::TEST_F
(
RpcTests
, WriteMultipleSendsMultipleWrites)
Builds and sends a multiple-write request successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, WriteMultipleThrowsPnioErrorForDeviceError)
Throws
PNIOError
when the overall multiple-write operation fails.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadModuleDiffReturnsParsedModuleDifference)
Reads and parses the ModuleDiffBlock.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadDiagnosisUsesFullDiagnosisParser)
Returns parsed diagnosis data when the full diagnosis parser finds entries.
Member
profinet::rpc::TEST_F
(
RpcTests
, DisconnectSendsReleaseRequestAndClearsLive)
Sends a RELEASE request and marks the connection as disconnected.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectRejectsMissingSourceMacDuringReconnect)
Throws when a live connection has no source MAC available.
Member
profinet::rpc::TEST_F
(
RpcTests
, CheckTimeoutDoesNotReconnectBeforeTimeout)
Does not reconnect while the live connection is still within its timeout.
Member
profinet::rpc::TEST_F
(
RpcTests
, CheckTimeoutReconnectsAfterTimeout)
Reconnects when the connection has exceeded the connection timeout.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectRequiresSourceMacForInitialConnection)
Requires a source MAC when establishing the first connection.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectEstablishesBasicApplicationRelation)
Establishes a basic AR without cyclic IO or AlarmCR.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectRequestsAlarmCr)
Requests an AlarmCR when withAlarmCr is enabled.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectLeavesAlarmCrDisabledWhenResponseHasNoAlarmCr)
Leaves AlarmCR disabled when the response contains no AlarmCR block.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectConvertsDevicePnioError)
Converts a device-reported CONNECT error into
RPCConnectionError
.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectConvertsRpcError)
Converts an RPC error during CONNECT into
RPCConnectionError
.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectReusesSourceMacDuringReconnect)
Reuses the existing source MAC when reconnecting without a new MAC.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectReplacesSourceMacDuringReconnect)
Uses the replacement source MAC when reconnecting with a new MAC.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllImReturnsAllSuccessfulRecords)
Reads I&M0 and all optional I&M records successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, ConnectReturnsConnectResultForIocrSetup)
Establishes cyclic IO when an IOCR setup is supplied.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadReturnsParsedIodResponse)
Reads and parses an IOD record successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadThrowsPnioErrorForDeviceError)
Throws
PNIOError
when the device reports an error during Read().
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadImplicitReturnsParsedIodResponse)
Reads a record successfully without an established AR.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadImplicitThrowsPnioErrorForDeviceError)
Throws
PNIOError
when the device rejects an implicit read.
Member
profinet::rpc::TEST_F
(
RpcTests
, WriteCompletesSuccessfully)
Writes a record successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, WriteThrowsPnioErrorForDeviceError)
Throws
PNIOError
when the device rejects a write.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadRawReturnsPayload)
Returns only the record payload through the ReadRaw() convenience wrapper.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadImWrappersReadAllIndividualIndices)
Reads every I&M wrapper and verifies that each uses its own index.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupReturnsEmptyForShortBody)
Returns no endpoints when the response body contains fewer than twelve bytes of EPM lookup metadata.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoThrowsWhenDiscoveryFindsNoMatchingDevice)
Throws
DCPDeviceNotFoundError
when discovery produces responses but none has the requested station name.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoDiscoverySkipsNonMatchingDevice)
Skips a discovered device with a different station name and returns a later matching device.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoDiscoveryMatchesStationNameCaseInsensitive)
Matches a discovered station name case-insensitively.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoFallsBackToDiscovery)
Falls back to DCP discovery when the initial station-name request produces no response.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoSendsStationNameRequest)
Verifies that GetStationInfo sends a DCP station-name request using the requested station name.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoReturnsFirstDirectResponse)
Returns the first device immediately when the initial station-name request produces a DCP response.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupIgnoresEntryWithInvalidTower)
Does not add an EPM result when the tower contains no interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupTrimsTrailingAnnotationZeros)
Removes trailing zero bytes from an EPM annotation.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupHandlesZeroLengthAnnotation)
Skips annotation parsing when the annotation has zero length and continues with the tower.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupStopsOnTruncatedAnnotationLength)
Stops safely when the annotation length field is truncated.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupStopsOnTruncatedTowerPointer)
Stops safely when an EPM entry contains no complete tower pointer.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupStopsOnTruncatedEntryUuid)
Stops safely when an EPM entry does not contain its complete object UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupClampsBodyLengthToReceivedData)
Clamps an advertised response body length when fewer bytes were actually received.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoNotFoundExceptionContainsStationName)
Verifies the diagnostic text of
DCPDeviceNotFoundError
when the requested station name cannot be discovered.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupReturnsEmptyForUnexpectedResponseType)
Returns no endpoints when the RPC response packet type is neither RESPONSE nor FAULT.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupReturnsEmptyForFaultResponse)
Returns no endpoints for an RPC FAULT response.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupReturnsEmptyForShortResponse)
Returns no endpoints when the RPC response is shorter than the fixed DCE/RPC header.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupBuildsInterfaceFilteredRequest)
Builds an interface-filtered EPM lookup request and verifies that the requested interface UUID is encoded into the request body.
Member
profinet::rpc::TEST_F
(
RpcTests
, EpmLookupReturnsParsedEndpoint)
Performs a complete EPM lookup and verifies endpoint fields, annotation, object UUID and request construction.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerIgnoresUnknownProtocol)
Ignores an unknown EPM tower protocol while preserving a parsed interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerIgnoresInterfaceDataFromLaterFloor)
Ignores a valid interface floor when it occurs after the first floor.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerOnlyUsesFirstInterfaceFloorForInterfaceData)
Processes later floors without replacing the interface UUID parsed from the first floor.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesCompleteEndpoint)
Parses interface, UDP, port and IP floors together.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerIgnoresShortIpRhs)
Ignores an EPM IP floor with fewer than four RHS bytes.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesIpv4Address)
Parses an IPv4 address from the EPM IP floor.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerIgnoresShortPortRhs)
Ignores an EPM port floor with an insufficient RHS.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesBigEndianPort)
Parses a big-endian EPM UDP port.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseReturnsLocalAlarmReference)
Parses a valid AlarmCR response and returns its local alarm reference.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseReturnsZeroForEmptyData)
Returns zero for empty IOCR response data.
Member
profinet::rpc::TEST_F
(
RpcTests
, HasAlarmCrReturnsFalseInitially)
Reports that no AlarmCR is enabled initially.
Member
profinet::rpc::TEST_F
(
RpcTests
, DeviceAlarmRefReturnsZeroInitially)
Returns the device alarm reference before an AlarmCR is established.
Member
profinet::rpc::TEST_F
(
RpcTests
, LocalAlarmRefReturnsConfiguredValue)
Returns the controller's local alarm reference.
Member
profinet::rpc::TEST_F
(
RpcTests
, SessionKeyReturnsInitialValue)
Returns the current session key of the RPC connection.
Member
profinet::rpc::TEST_F
(
RpcTests
, ArUuidReturnsConnectionArUuid)
Returns the AR UUID assigned to the RPC connection.
Member
profinet::rpc::TEST_F
(
RpcTests
, InfoReturnsDeviceDescription)
Returns the DCP device information supplied to the RPC connection.
Member
profinet::rpc::TEST_F
(
RpcTests
, IsConnectedReturnsFalseInitially)
Reports that a newly created RPC connection is not connected.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseReturnsMinusOneAfterUnrelatedBlocks)
Scans across multiple unrelated blocks before returning -1 when no AlarmCR response exists.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseContinuesAfterMalformedBlock)
Continues scanning after a malformed AlarmCR block and successfully parses a later valid AlarmCR response.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseIgnoresTruncatedAlarmBlock)
Ignores an AlarmCR block whose declared body is larger than the available response data.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseContinuesAfterMalformedAlarmBlock)
Continues scanning when an AlarmCR response block fails to parse.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseContinuesAfterUnrelatedBlock)
Skips an unrelated block and parses a valid AlarmCR response appearing later in the response data.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesUdpProtocol)
Parses the UDP protocol identifier.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseIgnoresUnrelatedBlock)
Skips an unrelated block and returns -1 when no AlarmCR response block follows.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseReturnsMinusOneForShortData)
Returns -1 when response data is shorter than an AlarmCR block header.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseAlarmCrResponseReturnsMinusOneForEmptyData)
Returns -1 when no AlarmCR response data is supplied.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildAlarmCrBlockCreatesExpectedBlockHeader)
Verifies the AlarmCR request block header fields generated by BuildAlarmCrBlock.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildAlarmCrBlockCombinesTransportAndPriority)
Encodes both transport and priority into AlarmCR properties.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildAlarmCrBlockEncodesPriority)
Encodes the requested alarm priority into AlarmCR properties.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildAlarmCrBlockUsesIpEtherTypeForNonZeroTransport)
Builds an AlarmCR block using IP transport when the transport value is non-zero.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildAlarmCrBlockUsesProfinetEtherTypeForTransportZero)
Builds an AlarmCR block for Ethernet transport with normal priority.
Member
profinet::rpc::TEST_F
(
RpcTests
, CreateNrdRoundTripsThroughSerialization)
Verifies that an NRD wrapper can be serialized and parsed without changing its contents.
Member
profinet::rpc::TEST_F
(
RpcTests
, CreateNrdHandlesEmptyPayload)
Creates an NRD wrapper correctly for an empty payload.
Member
profinet::rpc::TEST_F
(
RpcTests
, CreateNrdBuildsExpectedWrapper)
Creates an NRD wrapper containing the supplied payload and expected status, length, count and offset fields.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoDoesNotFilterNonEmptyDirectResponse)
Verifies that a non-empty direct response is returned without applying a station-name comparison.
Member
profinet::rpc::TEST_F
(
RpcTests
, GetStationInfoThrowsWhenDiscoveryReturnsNoResponses)
Throws
DCPDeviceNotFoundError
when both the direct request and the subsequent discovery produce no devices.
Member
profinet::rpc::TEST_F
(
RpcTests
, StringToUuidBytesRejectsMalformedInput)
Rejects malformed UUID strings that do not contain a valid UUID representation.
Member
profinet::rpc::TEST_F
(
RpcTests
, GenerateDifferentArUuids)
Exercises RandomUuidBytes multiple times through separate
RPCCon
instances and verifies that independent UUIDs are generated.
Member
profinet::rpc::TEST_F
(
RpcTests
, GenerateNonZeroArUuid)
Exercises RandomUuidBytes through
RPCCon
construction and verifies that a valid 16-byte non-zero UUID is generated.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildIocrBlockUsesConfiguredSlots)
Builds an output IOCR block from the configured I/O slots with the expected IOCR type, data length, and API object count.
Member
profinet::rpc::TEST_F
(
RpcTests
, PNRPCHeaderInterfaceUuidBytes)
PNRPCHeader
interface UUID bytes match the literal PROFINET-assigned UUID
Member
profinet::rpc::TEST_F
(
RpcTests
, CreateRpcBuildsExpectedHeader)
Creates an RPC connection object with the expected initial DCE/RPC header fields.
Member
profinet::rpc::TEST_F
(
RpcTests
, IOCRSetupValidateNormalConfiguration)
IOCRSetup::Validate
accepts a normal IOCR configuration.
Member
profinet::rpc::TEST_F
(
RpcTests
, IOCRSetupValidateLowWatchdog)
IOCRSetup::Validate
reports a warning for a low watchdog factor.
Member
profinet::rpc::TEST_F
(
RpcTests
, IOCRSetupValidateEmptySlots)
IOCRSetup::Validate
reports an error for an empty slot configuration.
Member
profinet::rpc::TEST_F
(
RpcTests
, IOCRSetupValidateFlagsEmptySlotsAndLowWatchdog)
IOCRSetup::validate flags empty slots and low watchdog
Member
profinet::rpc::TEST_F
(
RpcTests
, IOCRSetupCycleTimeCalculation)
IOCRSetup
cycle time calculation matches PROFINET timing formula
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNameIsCaseInsensitive)
Matches EPM interface UUIDs case-insensitively when resolving their well-known interface names.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointUnknownUuidIncludesUuid)
Formats an unknown EPM interface UUID as an unknown interface name containing its UUID value.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointResolvesWellKnownProfinetInterfaceNames)
Returns the expected names for the well-known PROFINET EPM interface UUIDs.
Member
profinet::rpc::TEST_F
(
RpcTests
, GenerateIndependentArAndActivityUuids)
Exercises RandomUuidBytes for both AR and activity UUID generation and verifies that both generated UUIDs are populated.
Member
profinet::rpc::TEST_F
(
RpcTests
, UuidBytesToStringStringToUuidBytesRoundtrip)
Converts UUID bytes to a canonical UUID string and back without changing the underlying byte representation.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseReturnsZeroForShortData)
Returns zero when the IOCR response contains fewer than one block header.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseIgnoresUnrelatedBlock)
Ignores unrelated blocks while scanning the response.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseIgnoresDifferentIocrType)
Ignores an IOCR response with a different IOCR type.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseReturnsMatchingFrameId)
Returns the frame ID for a matching IOCR response.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseIgnoresMalformedIocrBlock)
Continues after a malformed IOCR block whose parser throws.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseIocrResponseFindsMatchingBlockAfterUnrelatedBlock)
Finds a matching IOCR after an unrelated block.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveReturnsResponseAndMarksConnectionLive)
Returns a parsed RPC response and marks the connection live.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveRetriesAfterRequestPacket)
Retries after a REQUEST packet and returns the following RESPONSE.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveThrowsForShortResponse)
Throws
RPCError
when the transport returns too little data.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveThrowsRpcFaultError)
Converts an RPC FAULT response into
RPCFaultError
.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveThrowsForRejectedResponse)
Converts an RPC REJECT response into
RPCError
.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendReceiveThrowsForUnexpectedPacketType)
Rejects any unsupported RPC packet type.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNameIsCaseInsensitiveForAllKnownInterfaces)
Performs case-insensitive matching of well-known interface UUIDs.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerRejectsShortInterfaceFloor)
Ignores an interface protocol floor shorter than the required UUID and version payload.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerInterfaceFloorWithoutMinorVersion)
Parses an interface floor when its RHS contains fewer than two bytes and therefore leaves the minor version unchanged.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesInterfaceUuidAndVersions)
Parses a PNIO interface floor with a minor version present.
Member
profinet::rpc::TEST_F
(
RpcTests
, MakeEpmTowerEncodesEmptyThenInterfaceFloor)
Verifies the serialized representation of an empty floor followed by an interface floor.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerSkipsEmptyFloor)
Verifies that an empty EPM floor is skipped without preventing subsequent parsing.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerParsesInterfaceFloor)
Verifies that a valid interface floor is parsed independently of preceding floors.
Member
profinet::rpc::TEST_F
(
RpcTests
, MakeInterfaceTowerLhsCreatesValidInterfaceBlock)
Verifies that the interface tower helper creates the exact 19-byte LHS structure expected by ParseEpmTower.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerSkipsEmptyLhs)
Skips a zero-length LHS on a subsequent floor while preserving the endpoint parsed from the first floor.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerStopsOnTruncatedRhs)
Stops parsing when the RHS data is shorter than its declared length.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerStopsOnTruncatedRhsLength)
Stops parsing when the RHS length field is truncated.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerStopsOnTruncatedLhs)
Stops parsing when the LHS length exceeds the remaining tower data.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerStopsOnTruncatedFloorHeader)
Stops parsing when a floor header is truncated.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseEpmTowerRejectsTooShortTower)
Rejects an EPM tower shorter than the minimum floor-count/header size.
Member
profinet::rpc::TEST_F
(
RpcTests
, CheckTimeoutDoesNothingWhenNotConnected)
Does nothing when the AR is not currently live.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNameUnknown)
Returns an Unknown interface name for an unrecognized UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNameEpm)
Resolves the EPM v4 interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNamePnioParameterServer)
Resolves the PNIO parameter-server interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNamePnioSupervisor)
Resolves the PNIO supervisor interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNamePnioController)
Resolves the PNIO controller interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, EPMEndpointInterfaceNamePnioDevice)
Resolves the PNIO device interface UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, RemoteObjectUuidHasExpectedLength)
Verifies that constructing
RPCCon
also executes the complete BuildObjectUuid path used for the remote object UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildObjectUuidUsesFixedProfinetPrefixAndSuffix)
Verifies that the fixed portion of BuildObjectUuid is identical for different device and vendor identifiers.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildObjectUuidPreservesDeviceAndVendorBytes)
Verifies that BuildObjectUuid preserves every supplied node byte in the remote object UUID.
Member
profinet::rpc::TEST_F
(
RpcTests
, BuildsExpectedRemoteObjectUuid)
Verifies that BuildObjectUuid creates the PROFINET fixed prefix,/// shared UUID suffix, and supplied six-byte node identifier.
Member
profinet::rpc::TEST_F
(
RpcTests
, GeneratedSessionKeysAreAlwaysNonZero)
Exercises RandomNonzeroU16 repeatedly and verifies that every generated session key satisfies the non-zero invariant.
Member
profinet::rpc::TEST_F
(
RpcTests
, GenerateNonZeroSessionKey)
Exercises RandomNonzeroU16 through
RPCCon
construction and verifies that the generated session key is never zero.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadDiagnosisReturnsEmptyForShortDiagnosisPayload)
Returns empty diagnosis data for payloads six bytes or shorter.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseRawRpcHeaderExtractsPayloadAfterFixedHeader)
Extracts payload starting immediately after the fixed RPC header.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadyThrowsWhenNotConnected)
Rejects ApplicationReady when the RPC connection is not live.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsInvalidRawRpcPacket)
Skips an invalid raw RPC packet and processes the next request.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsNonRequestPacket)
Skips a non-request RPC packet and processes the next request.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsNonControlOperation)
Skips an RPC request whose operation is not CONTROL.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsShortNrdPayload)
Skips a CONTROL request whose NRD payload is shorter than its fixed header.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsShortNrdBody)
Skips a CONTROL request whose NRD body is shorter than an IOD control block.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadySkipsWrongControlBlockType)
Skips a CONTROL request containing a non-Application-Ready block.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadyProcessesBigEndianRequest)
Processes a big-endian Application Ready request and sends a response.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadDiagnosisReturnsEmptyForRpcError)
Converts an RPC read failure into empty diagnosis data.
Member
profinet::rpc::TEST_F
(
RpcTests
, CloseClosesBothTransportsWhenNotLive)
Closes both RPC transports without sending RELEASE when already disconnected.
Member
profinet::rpc::TEST_F
(
RpcTests
, CloseDisconnectsAndClosesBothTransports)
Disconnects the active connection and closes both RPC transports.
Member
profinet::rpc::TEST_F
(
RpcTests
, DisconnectAlwaysClearsLive)
Always clears the live state after disconnect processing.
Member
profinet::rpc::TEST_F
(
RpcTests
, DisconnectSwallowsSendExceptionAndClearsLive)
Swallows a RELEASE transmission failure and still clears the connection state.
Member
profinet::rpc::TEST_F
(
RpcTests
, DisconnectDoesNothingWhenNotLive)
Does nothing when the connection is already disconnected.
Member
profinet::rpc::TEST_F
(
RpcTests
, DisconnectBuildsCorrectReleaseBlock)
Verifies the nested RELEASE block fields.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadyPropagatesReceiveException)
Propagates an exception thrown while receiving an Application Ready request.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadyAcceptsUnexpectedControlCommand)
Accepts an Application Ready block even when its control command differs.
Member
profinet::rpc::TEST_F
(
RpcTests
, ApplicationReadyProcessesLittleEndianRequest)
Processes a little-endian Application Ready request and sends a response.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseRawRpcHeaderParsesLittleEndian)
Parses a little-endian raw RPC header using the DREP byte order.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendControlRejectsDisconnectedConnection)
Rejects CONTROL operations when the AR is not connected.
Member
profinet::rpc::TEST_F
(
RpcTests
, EnumerateIndicesReportsAllProbeOutcomes)
Enumerates custom indices and reports readable, empty, PNIO-error. RPC-error and duplicate entries correctly.
Member
profinet::rpc::TEST_F
(
RpcTests
, DiscoverTopologyReturnsBothTopologyRecords)
Reads both PDRealData and RealIdentificationData.
Member
profinet::rpc::TEST_F
(
RpcTests
, DiscoverSlotsReturnsRealIdentificationSlots)
Returns the slots obtained from RealIdentificationData.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadRealIdentificationDataReturnsParsedData)
Reads and parses RealIdentificationData successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadPdRealDataReturnsParsedData)
Reads and parses PDRealData successfully.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllDiagnosisContinuesAfterRpcError)
Continues diagnosis probing when one probe produces an RPC error.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadAllDiagnosisReturnsNonEmptyDiagnosisResults)
Probes all standard diagnosis indices and returns only successful entries.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseRawRpcHeaderPreservesSerialHigh)
Preserves the high byte of the RPC serial number.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendControlReturnsResponsePayload)
Waits for and returns the NRD payload of a CONTROL response.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendControlThrowsPnioErrorForDeviceError)
Throws
PNIOError
when a CONTROL response reports a device error.
Member
profinet::rpc::TEST_F
(
RpcTests
, PrmBeginSendsExpectedControlCommand)
PrmBegin sends the PrmBegin control command.
Member
profinet::rpc::TEST_F
(
RpcTests
, PrmEndSendsExpectedControlCommand)
PrmEnd sends the PrmEnd control command.
Member
profinet::rpc::TEST_F
(
RpcTests
, ReadyForRtClass3SendsExpectedControlCommand)
ReadyForRtClass3 sends the RT Class 3 readiness command.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseRawRpcHeaderRejectsShortData)
Rejects raw RPC data shorter than the fixed RPC header.
Member
profinet::rpc::TEST_F
(
RpcTests
, ParseRawRpcHeaderParsesBigEndian)
Parses a big-endian raw RPC header and preserves its payload.
Member
profinet::rpc::TEST_F
(
RpcTests
, SendControlSendsWithoutWaiting)
Sends a CONTROL request without waiting for a response.
Member
profinet::rt::TEST_F
(
RtFrameTest
, DISABLED_TaggedEthernetFrameRoundTrips)
Verify that a priority-tagged RT Ethernet frame round-trips.
Member
profinet::rt::TEST_F
(
RtFrameTest
, NonProfinetEtherTypeIsRejected)
Verify that an Ethernet frame with a non-PROFINET EtherType is rejected.
Member
profinet::rt::TEST_F
(
RtFrameTest
, UntaggedEthernetFrameParses)
Verify that untagged RT Ethernet frames remain supported.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, LocalInputBytesRoundTrip)
Verify local Phoenix input bytes can be injected and retrieved through GSDML signal metadata.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, LocalTypedValuesRoundTrip)
Verify signed and floating-point Phoenix process-image values round-trip through the double API.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, BitSignalsPreserveSiblingBits)
Verify Phoenix bit signals preserve the other bits in their containing byte.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, TypedValueValidationRejectsInvalidValues)
Verify finite/integer/range validation rejects values that cannot be represented by the GSDML type.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, ConnectedControllerDrivesVirtualAuma)
Verify a connected PLC sends an AUMA command through the production CyclicController.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, BadIopsWithholdsInputData)
Verify BAD IOPS withholds the sensor value while statistics continue to advance.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, NoInputTriggersControllerWatchdog)
Verify a NoInput scenario drives the production controller watchdog into FAULT.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, DisconnectAllowsReconnect)
Verify disconnect stops the production controller and permits reconnecting the same valve.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, DuplicateConnectionIsRejected)
Verify a duplicate connection name is rejected without creating a second controller.
Member
profinet::sim::TEST
(VirtualProfinetLabTests, RunsMultipleIndependentValvePlcPairs)
Verify N virtual valves and N Phoenix PLCs can share one bus without cross-talk.
Member
profinet::sim::TEST
(VirtualProfinetLabTests, DuplicateNamesAreRejected)
Verify simulator names are globally unique inside their respective labs.
Member
profinet::sim::TEST
(VirtualProfinetLabTests, DuplicateMacAddressesAreRejectedAcrossNodeTypes)
Verify node MAC addresses are unique across valve and PLC namespaces.
Member
profinet::sim::TEST
(VirtualProfinetLabTests, ScenarioChangeUpdatesDashboard)
Verify changing a scenario through the lab is visible in both simulator and dashboard state.
Member
profinet::sim::TEST
(InMemoryEthernetRoutingTests, UnicastReachesOnlyMatchingEndpoint)
Verify unicast traffic reaches only the endpoint with the destination MAC.
Member
profinet::sim::TEST
(InMemoryEthernetRoutingTests, BroadcastIsFloodedWithoutLoopback)
Verify broadcast frames are flooded to every other endpoint but not reflected to the sender.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, JammedKeepsIopsGood)
Verify Jammed is an application fault while cyclic provider data remains valid.
Member
profinet::sim::TEST
(InMemoryEthernetRoutingTests, MulticastIsFlooded)
Verify multicast destinations are flooded like broadcast traffic.
Member
profinet::sim::TEST
(InMemoryEthernetRoutingTests, SameMacSocketsDoNotLoopBackTraffic)
Verify separate TX and RX sockets sharing a MAC do not receive each other's frames.
Member
profinet::sim::TEST
(InMemoryEthernetSocketTests, ReceiveTimeoutReturnsEmptyFrame)
Verify a positive receive timeout returns an empty frame without throwing.
Member
profinet::sim::TEST
(InMemoryEthernetSocketTests, NegativeTimeoutThrows)
Verify negative receive timeouts are rejected.
Member
profinet::sim::TEST
(InMemoryEthernetRoutingTests, ShortFrameThrows)
Verify invalid Ethernet frames are rejected before routing.
Member
profinet::sim::TEST
(InMemoryEthernetBusTests, ClearQueuesRemovesPendingFrames)
Verify ClearQueues removes pending traffic from all connected endpoints.
Member
profinet::sim::TEST
(InMemoryEthernetBusTests, EndpointDestructionDetachesSocket)
Verify destroying an endpoint detaches it from the virtual switch.
Member
profinet::sim::TEST
(VirtualAumaValveTests, StartsFromConfiguredGsdmlPosition)
Verify the virtual AUMA model starts at its configured position and exposes real signals.
Member
profinet::sim::TEST
(VirtualAumaValveTests, OpenCommandMovesValveToEndStop)
Verify Normal scenario movement follows the OPEN command and reaches the end stop.
Member
profinet::sim::TEST
(VirtualAumaValveTests, RejectsFramesFromSecondController)
Verify a virtual AUMA valve does not switch to a second controller MAC while connected.
Member
profinet::sim::TEST
(VirtualAumaValveTests, SlowValveMovesButAtReducedSpeed)
Verify SlowValve changes travel speed while keeping process data alive.
Member
profinet::sim::TEST
(VirtualAumaValveTests, JammedPreventsMovement)
Verify Jammed prevents movement and exposes the fault state.
Member
profinet::sim::TEST
(VirtualPhoenixPlcTests, BuildsGsdmlDerivedProcessImage)
Verify the Phoenix GSDML creates a usable controller signal catalogue and image.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, BadIopsStillEmitsCyclicFramesWithBadIops)
Verify BadIops keeps cyclic frames flowing while marking the provider BAD.
Member
profinet::sim::TEST
(VirtualAumaAlarmTests, RequestedScenariosExposeBothAlarmPaths)
Verify every requested AUMA scenario emits both RTA error and
AlarmNotification
traffic.
Member
profinet::sim::TEST
(VirtualAumaAlarmTests, ThrowingAlarmCallbackDoesNotKillSimulator)
Verify a throwing alarm callback cannot terminate the virtual device worker.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, NoInputSuppressesDeviceInputTraffic)
Verify NoInput suppresses input frames while the simulator remains able to receive output frames.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, InvalidInputClearsDataValidity)
Verify InvalidInput still emits an Ethernet frame but clears DATA_STATUS_VALID.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, DuplicateInputProducesDuplicateCycleCounters)
Verify DuplicateInput repeats a cycle counter so the production controller counts duplicates.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, OutOfOrderInputProducesOutOfOrderCycles)
Verify OutOfOrderInput increments the production controller's out-of-order counter.
Member
profinet::sim::TEST
(VirtualAumaScenarioTests, EveryScenarioHasStableName)
Verify every supported scenario has a stable, non-empty spelling.
Member
profinet::sim::TEST
(VirtualAumaValveTests, RejectsInvalidMotionConfiguration)
Verify an AUMA simulator rejects an impossible travel configuration.
Member
profinet::sim::TEST
(VirtualRealGsdmlIntegrationTests, ParsesRealAumaGsdmlAndBuildsSignalCatalog)
Verify the real AUMA GSDML produces the expected vendor/device identity and process-data signals.
Member
profinet::sim::TEST
(VirtualRealGsdmlIntegrationTests, ParsesRealPhoenixGsdmlAndBuildsSignalCatalog)
Verify the real Phoenix GSDML produces a non-empty process-data catalogue.
Member
profinet::sim::TEST
(VirtualRealGsdmlIntegrationTests, RunsRealAumaAndPhoenixThroughCyclicController)
Verify the real AUMA and Phoenix GSDMLs can be used together in the complete in-memory cyclic path.
Member
profinet::TEST
(
RtaErrorsTests
, UndefinedReasonIsUnknown)
An undefined RTA ErrorCode2 value is classified as unknown.
Member
profinet::TEST
(UtilTest, ByteSwapU32)
ByteSwap reverses the byte order of a 32-bit value.
Member
profinet::TEST
(UtilTest, ByteSwapU64)
ByteSwap reverses the byte order of a 64-bit value.
Member
profinet::TEST
(UtilTest, ByteSwapU8)
ByteSwap leaves an 8-bit value unchanged.
Member
profinet::TEST
(UtilTest, ByteAtU8)
ByteAt returns the only byte of an 8-bit value.
Member
profinet::TEST
(UtilTest, ByteAtU16)
ByteAt extracts each byte of a 16-bit value, starting at the least significant byte.
Member
profinet::TEST
(UtilTest, ByteAtU32)
ByteAt extracts each byte of a 32-bit value, starting at the least significant byte.
Member
profinet::TEST
(UtilTest, ByteAtU64)
ByteAt extracts each byte of a 64-bit value, starting at the least significant byte.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioPrmServer)
CreateFromCodes decodes a PNIO Parameter Server error.
Member
profinet::TEST
(UtilTest, ByteSwapU16)
ByteSwap reverses the byte order of a 16-bit value.
Member
profinet::TEST
(AlarmFrameIdTests, LowPriorityAlarmFrameId)
Verifies that the low-priority alarm frame ID is 0xFE01.
Member
profinet::TEST
(AlarmFrameIdTests, HighPriorityAlarmFrameId)
Verifies that the high-priority alarm frame ID is 0xFC01.
Member
profinet::TEST
(AlarmEndpointTests, AllFieldsCanBeConfigured)
Verifies that all
AlarmEndpoint
fields can be explicitly configured.
Member
profinet::TEST
(AlarmEndpointTests, DefaultTransportIsLayer2)
Verifies that the default alarm transport is Layer 2.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRmpm)
CreateFromCodes decodes a PNIO RMPM error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmUnknownErrorCode1)
CreateFromCodes uses the PNIO-CM default branch for an unsupported ErrorCode1.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmFaultyBlock)
CreateFromCodes decodes a PNIO-CM faulty block error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmDevice)
CreateFromCodes decodes a PNIO-CM device error.
Member
profinet::TEST
(UdpSocketTests, MoveConstructionTransfersSocketOwnership)
Verifies that
UdpSocket
move construction transfers socket ownership.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwAccess)
CreateFromCodes decodes a PNIORW Access error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwResource)
CreateFromCodes decodes a PNIORW Resource error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwWriteLength)
CreateFromCodes decodes a PNIORW WriteLength error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwInvalidIndex)
CreateFromCodes decodes a PNIORW InvalidIndex error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioUnknownErrorCode1)
CreateFromCodes uses the PNIO default branch for an unsupported ErrorCode1.
Member
profinet::TEST
(UdpSocketTests, RecvFromReturnsPayloadAndSourceEndpoint)
Verifies that a bound
UdpSocket
receives the sender endpoint together with the received payload.
Member
profinet::TEST
(UdpSocketTests, SendToSendsToSuppliedEndpoint)
Verifies that SendTo() sends a datagram to the supplied endpoint and that a connected UDP peer can receive it.
Member
profinet::TEST
(UdpSocketTests, RecvFromReturnsEmptyDatagramOnTimeout)
Verifies that a UDP receive timeout returns an empty datagram.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmExpectedSubmodule)
CreateFromCodes decodes a PNIO-CM ExpectedSubmodule error.
Member
profinet::TEST
(UdpSocketTests, MoveAssignmentTransfersSocketOwnership)
Verifies that
UdpSocket
move assignment transfers socket ownership.
Member
profinet::TEST
(UtilTest, Mac2SS2MacRoundtrip)
mac2s / s2mac roundtrip
Member
profinet::TEST
(UtilTest, S2MacRejectsMalformedInput)
s2mac rejects malformed input
Member
profinet::TEST
(UtilTest, Ip2SS2IpRoundtrip)
ip2s / s2ip roundtrip
Member
profinet::TEST
(UtilTest, Ip2SRejectsMalformedInput)
ip2s rejects malformed input
Member
profinet::TEST
(UtilTest, ToHexEncodesBytes)
to_hex encodes bytes
Member
profinet::TEST
(UtilTest, DecodeBytesStripsTrailingNuls)
decode_bytes strips trailing NULs
Member
profinet::TEST
(UtilTest, MaxTimeoutReportsElapsed)
MaxTimeout
reports elapsed correctly
Member
profinet::TEST
(ExceptionHierarchyTests, InvalidMacInheritsValidationError)
Verify
InvalidMACError
inherits from
ValidationError
.
Member
profinet::TEST
(ExceptionCatchingTests, CatchDcpVariants)
Verify catching DCP error variants with base
DCPError
class.
Member
profinet::TEST
(ExceptionCatchingTests, CatchAllProfinetErrors)
Verify catching all PROFINET errors with base
ProfinetError
class.
Member
profinet::TEST
(RPCFaultErrorTests, Message)
Verify fault error message retrieved via what().
Member
profinet::TEST
(RPCFaultErrorTests, FaultCodeCustom)
Verify custom fault code initialization.
Member
profinet::TEST
(RPCFaultErrorTests, FaultCodeDefault)
Verify default fault code is 0.
Member
profinet::TEST
(ExceptionHierarchyTests, PermissionDeniedInheritsSocketError)
Verify
PermissionDeniedError
inherits from
SocketError
.
Member
profinet::TEST
(ExceptionHierarchyTests, SocketErrorInheritsProfinetError)
Verify
SocketError
inherits from
ProfinetError
.
Member
profinet::TEST
(ExceptionHierarchyTests, InvalidIpInheritsValidationError)
Verify
InvalidIPError
inherits from
ValidationError
.
Member
profinet::TEST
(ExceptionCatchingTests, CatchRpcVariants)
Verify catching RPC error variants with base
RPCError
class.
Member
profinet::TEST
(ExceptionHierarchyTests, ValidationErrorInheritsProfinetError)
Verify
ValidationError
inherits from
ProfinetError
.
Member
profinet::TEST
(ExceptionHierarchyTests, RpcConnectionInheritsRpcError)
Verify
RPCConnectionError
inherits from
RPCError
.
Member
profinet::TEST
(ExceptionHierarchyTests, RpcFaultInheritsRpcError)
Verify
RPCFaultError
inherits from
RPCError
.
Member
profinet::TEST
(ExceptionHierarchyTests, RpcTimeoutInheritsRpcError)
Verify
RPCTimeoutError
inherits from
RPCError
.
Member
profinet::TEST
(ExceptionHierarchyTests, RpcErrorInheritsProfinetError)
Verify
RPCError
inherits from
ProfinetError
.
Member
profinet::TEST
(ExceptionHierarchyTests, DcpDeviceNotFoundInheritsDcpError)
Verify
DCPDeviceNotFoundError
inherits from
DCPError
.
Member
profinet::TEST
(ExceptionHierarchyTests, DcpTimeoutInheritsDcpError)
Verify
DCPTimeoutError
inherits from
DCPError
.
Member
profinet::TEST
(ExceptionHierarchyTests, DcpErrorInheritsProfinetError)
Verify
DCPError
inherits from
ProfinetError
.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusUnknownError)
Verify creating
PNIOError
from unknown ArgsStatus value.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmAlarmCrResponse)
CreateFromCodes decodes a PNIO-CM AlarmCR response error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmAlarmCr)
CreateFromCodes decodes a PNIO-CM AlarmCR error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmIocrResponse)
CreateFromCodes decodes a PNIO-CM IOCR response error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmIocr)
CreateFromCodes decodes a PNIO-CM IOCR error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmArResponse)
CreateFromCodes decodes a PNIO-CM AR response error.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioCmAr)
CreateFromCodes decodes a PNIO-CM AR error.
Member
profinet::TEST
(PNIOErrorTests, ErrorConstants)
Verify error code constants are defined properly.
Member
profinet::TEST
(PNIOErrorTests, StrFormat)
Verify string representation contains the human-readable message.
Member
profinet::TEST
(PNIOErrorTests, IsCmErrorReturnsFalseForPnioRw)
IsCmError returns false for a PNIORW error.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusRmpmError)
Verify creating
PNIOError
for RMPM connect error (unknown blocks).
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusInvalidApi)
Verify creating
PNIOError
from ArgsStatus for invalid API.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusInvalidIndex)
Verify creating
PNIOError
from ArgsStatus for invalid index.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusInvalidSubslot)
Verify creating
PNIOError
from ArgsStatus for invalid subslot.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusInvalidSlot)
Verify creating
PNIOError
from ArgsStatus for invalid slot.
Member
profinet::TEST
(PNIOErrorTests, CustomValues)
Verify custom error code values set upon construction.
Member
profinet::TEST
(PNIOErrorTests, DefaultValues)
Verify default error code values when constructed directly.
Member
profinet::TEST
(PNIOErrorTests, PnioErrorInheritsRpcError)
Verify
PNIOError
inherits from
RPCError
.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwUnknownErrorCode1)
CreateFromCodes uses the PNIORW default branch for an unsupported ErrorCode1.
Member
profinet::TEST
(PNIOErrorTests, IsCmErrorReturnsTrueForPnioCm)
IsCmError returns true for a PNIO-CM error.
Member
profinet::TEST
(PNIOErrorTests, IsCmErrorReturnsFalseForPnio)
IsCmError returns false for a general PNIO error.
Member
profinet::TEST
(PNIOErrorTests, IsCmErrorReturnsFalseForUnknownDecode)
IsCmError returns false for an unknown ErrorDecode value.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsArBlock)
BlockName returns the PNIO-CM block name for an AR error.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsIocrBlock)
BlockName returns the PNIO-CM block name for an IOCR error.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsArResponseBlock)
BlockName returns the PNIO-CM response block name.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsUnknownForUnknownCmErrorCode1)
BlockName returns an unknown name for an unsupported PNIO-CM ErrorCode1.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsEmptyForPnioRwError)
BlockName returns an empty string for a non-PNIO-CM error.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsEmptyForPnioError)
BlockName returns an empty string for a general PNIO error.
Member
profinet::TEST
(PNIOErrorTests, BlockNameReturnsEmptyForUnknownDecode)
BlockName returns an empty string for an unknown error decode.
Member
profinet::TEST
(PNIOErrorTests, DirectConstructionPreservesMessageAndCodes)
PNIOError
direct construction preserves the supplied message and raw codes.
Member
profinet::TEST
(PNIOErrorTests, DirectConstructionIsCmError)
PNIOError
direct construction reports PNIO-CM status through IsCmError.
Member
profinet::TEST
(PNIOErrorTests, DirectConstructionIsNotCmError)
PNIOError
direct construction reports a non-PNIO-CM status through IsCmError.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesPnioRwApplication)
CreateFromCodes decodes a PNIORW Application error.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusDecodesPnioCmError)
FromArgsStatus preserves a meaningful PNIO-CM error after byte swapping.
Member
profinet::TEST
(PNIOErrorTests, FromArgsStatusReversesByteOrder)
FromArgsStatus reverses the little-endian ArgsStatus representation into PNIO error bytes.
Member
profinet::TEST
(PNIOErrorTests, FromBytesUsesExpectedByteOrder)
FromBytes interprets the four bytes in ErrorCode/ErrorDecode/ErrorCode1/ErrorCode2 order.
Member
profinet::TEST
(PNIOErrorTests, FromBytesPreservesAllRawErrorBytes)
FromBytes preserves all four raw PNIO error bytes.
Member
profinet::TEST
(PNIOErrorTests, CreateFromCodesUnknownErrorDecode)
CreateFromCodes uses the default branch for an unknown ErrorDecode.
Member
profinet::TEST_F
(
AlarmListenerTests
, ControllerMacDefaultsToZero)
Verifies that the default controller MAC address consists of zeros.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, InvalidAlarmPayloadIsNotAcknowledged)
Verify that an invalid
AlarmNotification
does not generate an acknowledgement.
Member
profinet::TEST_F
(
AlarmListenerRtaIntegrationTest
, TwoAlarmNotificationsAreDispatched)
Verify that two independently received alarms are both dispatched.
Member
profinet::TEST_F
(
AlarmListenerCallbackTest
, CallbackExceptionDoesNotPreventOtherCallbacks)
Verify that an exception in one callback does not prevent later callbacks.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, WrongRtaVersionIsIgnored)
Verify that an RTA frame with the wrong version is rejected.
Member
profinet::TEST_F
(
AlarmListenerCallbackTest
, EmptyCallbackIsIgnored)
Verify that an empty callback is ignored safely.
Member
profinet::TEST_F
(
AlarmListenerCallbackTest
, MultipleCallbacksAreInvoked)
Verify that multiple registered callbacks are all invoked.
Member
profinet::TEST_F
(
AlarmListenerCallbackTest
, ReceivedAlarmInvokesCallback)
Verify that every received valid alarm is dispatched to callbacks.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, AlarmAckEchoesReceivedSequenceNumber)
Verify that the AlarmAck echoes the received sequence number.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, AlarmAckUsesDeviceEndpointAsDestination)
Verify that the AlarmAck uses the device alarm endpoint as destination.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, AlarmAckUsesDataPdu)
Verify that the transmitted AlarmAck contains a DATA PDU.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, AlarmAckIsPriorityVlanTagged)
Verify that the transmitted AlarmAck is priority VLAN tagged.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, ShortEthernetFrameIsIgnored)
Verify that a short Ethernet frame is ignored.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, WrongDestinationReferenceIsIgnored)
Verify that an alarm for another controller endpoint is ignored.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, WrongSourceMacIsIgnored)
Verify that an alarm from an unexpected device is ignored.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, NonProfinetEtherTypeIsIgnored)
Verify that a non-PROFINET EtherType is ignored.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, HighPriorityAlarmUsesHighFrameId)
Verify that high-priority alarms use FrameID 0xFC01.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, VlanTaggedAlarmFrameIsProcessed)
Verify that a VLAN-tagged alarm frame is processed.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, UntaggedAlarmFrameIsProcessed)
Verify that an untagged alarm frame is parsed and acknowledged.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorNoMemory)
GetPnioCmErrorMessage decodes the no-memory error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorNoAlarmResources)
GetPnioCmErrorMessage decodes the no-alarm-resources error.
Member
profinet::TEST_F
(
AlarmListenerTests
, AcceptsCustomControllerMac)
Verifies that a custom controller MAC address is accepted.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorArUuidConflict)
GetPnioCmErrorMessage decodes the AR-UUID-conflict error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorInvalidSessionKey)
GetPnioCmErrorMessage decodes the invalid-session-key error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorResource)
DecodePnioRWError decodes a Resource error.
Member
profinet::TEST_F
(AlarmNotificationTest, ReservedBit15IsNotArDiagnosis)
Verify that reserved bit 15 does not indicate AR diagnosis.
Member
profinet::TEST_F
(AlarmNotificationTest, ArDiagnosisIsBit14)
Verify that AlarmSpecifier bit 14 represents AR diagnosis state.
Member
profinet::TEST_F
(AlarmNotificationTest, EthernetPaddingIsNotParsedAsItems)
Verify that Ethernet padding is not parsed as alarm items.
Member
profinet::TEST_F
(AlarmNotificationTest, ChannelDiagnosisItemIsDecoded)
Verify that a channel diagnosis alarm item is decoded correctly.
Member
profinet::TEST_F
(AlarmNotificationTest, ItemLessAlarmIsAccepted)
Verify that an item-less
AlarmNotification
has a 20-byte body.
Member
profinet::TEST_F
(
AlarmListenerUdpTest
, StopBeforeStartIsSafe)
Verifies that
Stop()
can be called before
Start()
.
Member
profinet::TEST_F
(
AlarmListenerUdpTest
, StartWhileRunningDoesNothing)
Verifies that
Start()
is idempotent while the listener is already running.
Member
profinet::TEST_F
(
AlarmListenerUdpTest
, IgnoresTooShortUdpPayload)
Verifies that a UDP packet shorter than the minimum
AlarmNotification
size is ignored.
Member
profinet::TEST_F
(
AlarmListenerUdpTest
, ReceivesAlarmAndSendsAckToSource)
Verifies that a UDP
AlarmNotification
is received and acknowledged to the exact datagram source endpoint.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, DataWithoutTackIsIgnored)
Verify that DATA without TACK is not processed as a notification.
Member
profinet::TEST_F
(
RtaErrorTests
, NonRtaStatusIsNotProtocolError)
Verify that a non-RTA PNIO status is not classified as an RTA protocol error.
Member
profinet::TEST_F
(
RtaErrorTests
, SequenceErrorIsNotAbort)
Verify that a sequence-number RTA protocol error is not classified as an abort.
Member
profinet::TEST_F
(
RtaErrorTests
, RejectsTruncatedStatus)
Verify that a truncated four-byte PNIO status is rejected.
Member
profinet::TEST_F
(
RtaErrorTests
, RejectsWrongVariablePartLength)
Verify that an RTA ERR-PDU with the wrong variable length is rejected.
Member
profinet::TEST_F
(
RtaErrorTests
, RejectsNonErrRtaPdu)
Verify that a non-ERR RTA PDU is rejected.
Member
profinet::TEST_F
(
RtaErrorTests
, IgnoresEthernetPaddingAfterStatus)
Verify that Ethernet padding after the four-byte status is ignored.
Member
profinet::TEST_F
(
RtaErrorTests
, ParsesAumaReleaseIndReceivedError)
Verify that the AUMA CF81FD0F RTA error is decoded correctly.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, FirstAlarmAckUsesInitialSequenceNumber)
Verify that the first output sequence number starts at 0xFFFF.
Member
profinet::TEST_F
(
AlarmListenerRtaTest
, DISABLED_OutOfSequenceNotificationIsRejected)
Verify that an out-of-sequence DATA notification is not delivered.
Member
profinet::TEST_F
(
AlarmListenerRtaIntegrationTest
, DISABLED_DuplicateNotificationIsNotDispatchedTwice)
Verify that a duplicate DATA notification is not delivered twice.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmAlarmCr)
Direct call to CreateFromCodes decodes a PNIO-CM AlarmCR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwResource)
Direct call to CreateFromCodes decodes a PNIORW Resource error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwWriteLength)
Direct call to CreateFromCodes decodes a PNIORW WriteLength error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwInvalidIndex)
Direct call to CreateFromCodes decodes a PNIORW InvalidIndex error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioUnknownErrorCode1)
Direct call to CreateFromCodes uses the PNIO fallback for an unknown ErrorCode1.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioPrmServer)
Direct call to CreateFromCodes decodes a PNIO Parameter Server error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRmpm)
Direct call to CreateFromCodes decodes a PNIO RMPM error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmUnknownErrorCode1)
Direct call to CreateFromCodes uses the PNIO-CM fallback for an unknown ErrorCode1.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmFaultyBlock)
Direct call to CreateFromCodes decodes a PNIO-CM faulty block error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmDevice)
Direct call to CreateFromCodes decodes a PNIO-CM device error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmExpectedSubmodule)
Direct call to CreateFromCodes decodes a PNIO-CM ExpectedSubmodule error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmAlarmCrResponse)
Direct call to CreateFromCodes decodes a PNIO-CM AlarmCR response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwAccess)
Direct call to CreateFromCodes decodes a PNIORW Access error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmIocrResponse)
Direct call to CreateFromCodes decodes a PNIO-CM IOCR response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmIocr)
Direct call to CreateFromCodes decodes a PNIO-CM IOCR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmArResponse)
Direct call to CreateFromCodes decodes a PNIO-CM AR response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmAr)
Direct call to CreateFromCodes decodes a PNIO-CM AR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorApplication)
DecodePnioRWError decodes an Application error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorUnknownCode1)
DecodePnioRWError returns an unknown message for an unsupported PNIO RW error code.
Member
profinet::TEST_F
(SkipVlanTagsTest, ShortFrameReturnsEthernetHeaderLength)
Verify that a truncated Ethernet frame returns the safe offset.
Member
profinet::TEST_F
(SkipVlanTagsTest, DoubleTaggedQinQFrameReturnsOffset20)
Verify that a QinQ frame with two VLAN tags returns offset 20.
Member
profinet::TEST_F
(SkipVlanTagsTest, Single8021QTagReturnsOffset16)
Verify that one 802.1Q VLAN tag increases the EtherType offset to 16.
Member
profinet::TEST_F
(SkipVlanTagsTest, UntaggedFrameReturnsOffset12)
Verify that an untagged Ethernet frame has an EtherType offset of 12.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorNoProviderResources)
GetPnioCmErrorMessage decodes the no-provider-resources error.
Member
profinet::TEST_F
(
AlarmListenerTests
, IsRunningInitiallyFalse)
Tests the initial running state of
AlarmListener
.
Member
profinet::TEST_F
(
AlarmListenerTests
, RemoveEmptyCallbackDoesNothing)
Tests removal of an empty callback.
Member
profinet::TEST_F
(
AlarmListenerTests
, RemoveNonexistentCallbackDoesNotThrow)
Tests removal of a callback that was never registered.
Member
profinet::TEST_F
(
AlarmListenerTests
, RemoveCallback)
Tests removal of a previously registered callback.
Member
profinet::TEST_F
(
AlarmListenerTests
, AddEmptyCallbackDoesNothing)
Tests that an empty callback is ignored by AddCallback.
Member
profinet::TEST_F
(
AlarmListenerTests
, AddCallbackRegistersCallback)
Verifies that a callback can be registered.
Member
profinet::TEST_F
(
AlarmListenerTests
, AddLambaCallbackRegistersCallback)
Verifies that a callback can be registered.
Member
profinet::TEST_F
(
AlarmListenerTests
, InitializesWithoutCallbacks)
Verifies that a newly constructed
AlarmListener
has no registered callbacks.
Member
profinet::TEST_F
(
AlarmListenerTests
, InitializesWithEndpoint)
Verifies that
AlarmListener
initializes with the supplied endpoint and is not running.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorNoConsumerResources)
GetPnioCmErrorMessage decodes the no-consumer-resources error.
Member
profinet::TEST_F
(
AlarmListenerTests
, IsRunningReflectsState)
Verifies that the listener reports a running state after
Start()
.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorNoArResources)
GetPnioCmErrorMessage decodes the no-AR-resources error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorArActiveResponse)
DecodePnioCmError decodes an AR active response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorArActive)
DecodePnioCmError decodes an AR active error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorArResponse)
DecodePnioCmError decodes an AR response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorAr)
DecodePnioCmError decodes an AR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioPreservesRawCodes)
Direct call to CreateFromCodes preserves all raw error-code fields for PNIO.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwPreservesRawCodes)
Direct call to CreateFromCodes preserves all raw error-code fields for PNIORW.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioCmPreservesRawCodes)
Direct call to CreateFromCodes preserves all raw error-code fields for PNIO-CM.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwUnknownErrorCode1)
Direct call to CreateFromCodes uses the PNIORW fallback for an unknown ErrorCode1.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DirectCreateFromCodesPnioRwApplication)
Direct call to CreateFromCodes decodes a PNIORW Application error.
Member
profinet::TEST_F
(
IndicesTest
, CriticalIndicesReturnsExpectedEntries)
CriticalIndices contains all critical indices in the expected order.
Member
profinet::TEST_F
(
IndicesTest
, GetModuleStateNameFallsBackForUnknownState)
GetModuleStateName returns a formatted fallback for an unsupported state.
Member
profinet::TEST_F
(
IndicesTest
, GetSubmoduleStateNameResolvesEveryKnownState)
GetSubmoduleStateName resolves every supported submodule state.
Member
profinet::TEST_F
(
IndicesTest
, GetSubmoduleStateNameFallsBackForUnknownState)
GetSubmoduleStateName returns a formatted fallback for an unsupported state.
Member
profinet::TEST_F
(
IndicesTest
, GetPeModeNameResolvesFixedModes)
GetPeModeName resolves the fixed PROFIenergy modes.
Member
profinet::TEST_F
(
IndicesTest
, GetPeModeNameResolvesEnergySavingRange)
GetPeModeName resolves the complete PROFIenergy energy-saving mode range.
Member
profinet::TEST_F
(
IndicesTest
, GetPeModeNameReturnsReservedForValueBetweenEnergySavingAndOperate)
GetPeModeName returns the reserved fallback for values between the energy-saving range and operate mode.
Member
profinet::TEST_F
(
IndicesTest
, GetPeModeNameReturnsReservedForValueBetweenOperateAndSleepMode)
GetPeModeName returns the reserved fallback for values between operate and sleep mode.
Member
profinet::TEST_F
(
IndicesTest
, GetPeModeNameReturnsReservedForValueBetweenSleepModeAndReadyToOperate)
GetPeModeName returns the reserved fallback for values between sleep mode and ready-to-operate.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsSubslotTable)
DiagnosisIndices returns the expected subslot diagnosis table.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsSlotTable)
DiagnosisIndices returns the expected slot diagnosis table.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsArTable)
DiagnosisIndices returns the expected application-relation diagnosis table.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsApiTable)
DiagnosisIndices returns the expected API diagnosis table.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsDeviceTable)
DiagnosisIndices returns the expected device diagnosis table.
Member
profinet::TEST_F
(
IndicesTest
, DiagnosisIndicesReturnsEmptyTableForUnknownScopes)
DiagnosisIndices returns an empty table for every unsupported scope.
Member
profinet::TEST_F
(
IndicesTest
, GetModuleStateNameResolvesEveryKnownState)
GetModuleStateName resolves every supported module state.
Member
profinet::TEST_F
(
IndicesTest
, ImIndicesReturnsAllImEntries)
ImIndices contains all I&M indices from I&M0 through I&M15.
Member
profinet::TEST_F
(
IndicesTest
, PortIndicesReturnsExpectedEntries)
PortIndices contains all currently defined port indices.
Member
profinet::TEST_F
(
IndicesTest
, InterfaceIndicesReturnsExpectedEntries)
InterfaceIndices contains all currently defined interface indices.
Member
profinet::TEST_F
(
IndicesTest
, DeviceIndicesReturnsExpectedEntries)
DeviceIndices contains all currently defined device indices.
Member
profinet::TEST_F
(
IndicesTest
, AllStandardIndicesContainsAllStandardCategories)
AllStandardIndices contains entries from every standard index category.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUserSpecificIndices)
GetIndexName classifies user-specific indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredImIndices)
GetIndexName classifies I&M indices that are not explicitly registered.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredSubslotIndices)
GetIndexName classifies unregistered subslot indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredSlotIndices)
GetIndexName classifies unregistered slot indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredArIndices)
GetIndexName classifies unregistered application-relation indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredApiIndices)
GetIndexName classifies unregistered API indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameClassifiesUnregisteredDeviceIndices)
GetIndexName classifies unregistered device indices.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameReturnsUnknownForUnclassifiedIndices)
GetIndexName returns the unknown fallback for indices outside all defined ranges.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorIocr)
DecodePnioCmError decodes an IOCR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorAccess)
DecodePnioRWError decodes an Access error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorWriteLength)
DecodePnioRWError decodes a Write Length error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioRwErrorInvalidIndex)
DecodePnioRWError decodes an Invalid Index error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioErrorUnknownCode1)
DecodePnioError returns an unknown message for an unsupported PNIO error code.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioErrorPrmServer)
DecodePnioError decodes a Parameter Server error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioErrorRmpm)
DecodePnioError decodes an RMPM error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorUnknownCode1)
DecodePnioCmError returns an unknown message for an unsupported CM error code.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorFaultyBlock)
DecodePnioCmError decodes a faulty block error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorDevice)
DecodePnioCmError decodes a CM device error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorExpectedSubmodule)
DecodePnioCmError decodes an Expected Submodule error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorAlarmCrResponse)
DecodePnioCmError decodes an Alarm CR response error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorAlarmCr)
DecodePnioCmError decodes an Alarm CR error.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmErrorIocrResponse)
DecodePnioCmError decodes an IOCR response error.
Member
profinet::TEST_F
(
IndicesTest
, GetIndexNameResolvesAllStandardCategories)
GetIndexName resolves every explicitly registered standard index category.
Member
profinet::TEST_F
(
PNIOErrorDirectTests
, DecodePnioCmArErrorUnknownCode2)
GetPnioCmErrorMessage returns an unknown message for an unsupported AR error code.
Member
profinet::TEST_F
(
IndicesTest
, GetBlockTypeNameResolvesEveryKnownBlockType)
GetBlockTypeName resolves every explicitly supported block type.
Member
profinet::TEST_F
(
IndicesTest
, GetBlockTypeNameFallsBackForUnknownTypes)
GetBlockTypeName returns the formatted fallback for an unknown block type.
Member
profinet::TEST_F
(
IndicesTest
, GetAlarmTypeNameResolvesEveryKnownAlarmType)
GetAlarmTypeName resolves every explicitly supported alarm type.
Member
profinet::TEST_F
(
IndicesTest
, GetAlarmTypeNameFallsBackForUnknownType)
GetAlarmTypeName returns Unknown for an unsupported alarm type.
Member
profinet::TEST_F
(
IndicesTest
, GetIocrTypeNameResolvesEveryKnownType)
GetIocrTypeName resolves every explicitly supported IOCR type.
Member
profinet::TEST_F
(
IndicesTest
, GetIocrTypeNameFallsBackForUnknownType)
GetIocrTypeName returns a formatted fallback for an unsupported IOCR type.
Member
profinet::TEST_F
(
IndicesTest
, GetIocrRtClassNameResolvesUdp)
GetIocrRtClassName resolves the supported UDP RT class.
Member
profinet::TEST_F
(
IndicesTest
, GetIocrRtClassNameFallsBackForUnknownType)
GetIocrRtClassName returns a formatted fallback for an unsupported RT class.
Member
profinet::TEST_F
(
IndicesTest
, GetUsiNameResolvesEveryKnownUsi)
GetUsiName resolves every explicitly supported USI.
Member
profinet::TEST_F
(
IndicesTest
, GetUsiNameClassifiesManufacturerSpecificValues)
GetUsiName classifies manufacturer-specific values in the low range.
Member
profinet::TEST_F
(
IndicesTest
, GetUsiNameClassifiesProfileSpecificValues)
GetUsiName classifies profile-specific values in the profile range.
Member
profinet::TEST_F
(
IndicesTest
, GetUsiNameClassifiesReservedValues)
GetUsiName classifies values outside manufacturer and profile ranges as reserved.
Member
profinet::TEST_F
(
IndicesTest
, GetScopeReturnsUnknownForUnclassifiedRanges)
GetScope returns unknown for ranges not assigned to a supported scope.
Member
profinet::TEST_F
(
IndicesTest
, GetScopeClassifiesAllSupportedScopes)
GetScope classifies every supported addressing scope.
Member
profinet::TEST_P
(
RtaErrorsTests
, EveryDefinedReasonIsDecoded)
Verify that every defined RTA ErrorCode2 decodes correctly.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianU32)
Verifies that PutBigEndian serializes a 32-bit value most-significant byte first.
Member
profinet::wire::TEST
(WireReaderTest, ReaderFixedArray)
Reader
returns a fixed-size byte array and advances its position.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianU64)
Verifies that PutBigEndian serializes a 64-bit value most-significant byte first.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianZero)
Verifies that PutBigEndian serializes zero as all zero bytes.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianMaximumU32)
Verifies that PutBigEndian serializes the maximum 32-bit value.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianAppends)
Verifies that PutBigEndian appends to existing data without modifying the prefix.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianU8)
Verifies that PutLittleEndian appends an 8-bit value unchanged.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianU16)
Verifies that PutLittleEndian serializes a 16-bit value least-significant byte first.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianU32)
Verifies that PutLittleEndian serializes a 32-bit value least-significant byte first.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianU64)
Verifies that PutLittleEndian serializes a 64-bit value least-significant byte first.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianZero)
Verifies that PutLittleEndian serializes zero as all zero bytes.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianMaximumU32)
Verifies that PutLittleEndian serializes the maximum 32-bit value.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianAppends)
Verifies that PutLittleEndian appends to existing data without modifying the prefix.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianPointerU16)
Verifies that the pointer overload of PutLittleEndian writes a 16-bit value into an existing buffer.
Member
profinet::wire::TEST
(WireWriterTest, PutLittleEndianPointerU32)
Verifies that the pointer overload of PutLittleEndian writes a 32-bit value without modifying bytes outside the destination range.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadBytesZeroLength)
Reader
supports a zero-length ReadBytes call without moving the cursor.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsReadBytesPastEnd)
Reader
rejects a byte-range read when the requested range exceeds the remaining data.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianZero)
Verifies direct little-endian decoding of zero.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsConsecutiveLittleEndianValues)
Reader
supports consecutive little-endian reads without requiring explicit repositioning.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianMaximumU32)
Verifies direct little-endian decoding of the maximum 32-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsU8)
Reader
reads a single byte and advances its position.
Member
profinet::wire::TEST
(WireReaderTest, ReaderEmptyVector)
Reader
constructed from an empty vector starts with no remaining bytes.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsU8PastEnd)
Reader
rejects an 8-bit read when no bytes remain.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsBigEndianU16)
Reader
decodes a 16-bit value in big-endian order and advances exactly two bytes.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsBigEndianU32)
Reader
decodes a 32-bit value in big-endian order and advances exactly four bytes.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsLittleEndianU16)
Reader
decodes a 16-bit value in little-endian order and advances exactly two bytes.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadsLittleEndianU32)
Reader
decodes a 32-bit value in little-endian order and advances exactly four bytes.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianU16)
Verifies that PutBigEndian serializes a 16-bit value most-significant byte first.
Member
profinet::wire::TEST
(WireReaderTest, ReaderMixesEndianReads)
Reader
supports mixing big-endian and little-endian reads while maintaining one cursor.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsLittleEndianU16PastEnd)
Reader
rejects a 16-bit little-endian read when fewer than two bytes remain and leaves its position unchanged.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsLittleEndianU32PastEnd)
Reader
rejects a 32-bit little-endian read when fewer than four bytes remain and leaves its position unchanged.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsU16PastEnd)
Reader
rejects a 16-bit big-endian read when fewer than two bytes remain and leaves its position unchanged.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsU32PastEnd)
Reader
rejects a 32-bit big-endian read when fewer than four bytes remain and leaves its position unchanged.
Member
profinet::wire::TEST
(WireReaderTest, ReaderReadBytes)
Reader
returns the requested number of bytes and advances its position.
Member
profinet::wire::TEST
(WireWriterTest, PutBigEndianU8)
Verifies that PutBigEndian appends an 8-bit value unchanged.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedVector)
Verifies that PutFixed copies a non-empty byte vector.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianZero)
Verifies direct big-endian decoding of zero.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianU64)
Verifies direct big-endian decoding of a 64-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianU32)
Verifies direct big-endian decoding of a 32-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianU16)
Verifies direct big-endian decoding of a 16-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianU8)
Verifies direct big-endian decoding of an 8-bit value.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedEmptyString)
Verifies that PutFixed supports an empty string without adding data.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedString)
Verifies that PutFixed copies string bytes without adding a terminating null byte.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedEmptyVector)
Verifies that PutFixed supports an empty byte vector.
Member
profinet::wire::TEST
(WireReaderTest, ReadBigEndianMaximumU32)
Verifies direct big-endian decoding of the maximum 32-bit value.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedEmptyArray)
Verifies that PutFixed supports an empty fixed-size array.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianU64)
Verifies direct little-endian decoding of a 64-bit value.
Member
profinet::wire::TEST
(WireWriterTest, PutFixedArray)
Verifies that PutFixed copies a non-empty fixed-size array.
Member
profinet::wire::TEST
(WireWriterTest, PutBytesZeroLength)
Verifies that PutBytes with a zero length leaves the destination unchanged.
Member
profinet::wire::TEST
(WireWriterTest, PutBytes)
Verifies that PutBytes appends an arbitrary byte range.
Member
profinet::wire::TEST
(WireWriterTest, PutU32)
Verifies that PutU32 is equivalent to big-endian 32-bit serialization.
Member
profinet::wire::TEST
(WireWriterTest, PutU16)
Verifies that PutU16 is equivalent to big-endian 16-bit serialization.
Member
profinet::wire::TEST
(WireWriterTest, PutU8)
Verifies that PutU8 appends exactly one byte.
Member
profinet::wire::TEST
(WireReaderTest, ReaderNeedExactRemaining)
Reader
Need succeeds when exactly the requested number of bytes remain.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsFixedArrayPastEnd)
Reader
rejects a fixed-size extraction when fewer bytes remain and leaves its position unchanged.
Member
profinet::wire::TEST
(WireReaderTest, ReaderSkip)
Reader
skips a prefix so parsing can start at a specific byte index.
Member
profinet::wire::TEST
(WireReaderTest, ReaderSkipZero)
Reader
supports a zero-distance Skip without moving the cursor.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsSkipPastEnd)
Reader
rejects a skip operation when the requested distance exceeds the remaining data.
Member
profinet::wire::TEST
(WireReaderTest, ReaderSkipTo)
Reader
moves to an absolute byte offset before reading.
Member
profinet::wire::TEST
(WireReaderTest, ReaderSkipToMovesBackwards)
Reader
can move backwards with SkipTo because the offset is absolute.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRejectsSkipToPastEnd)
Reader
rejects an absolute offset beyond the end of the buffer.
Member
profinet::wire::TEST
(WireReaderTest, ReaderAllowsSkipToEnd)
Reader
allows moving exactly to the end of the buffer.
Member
profinet::wire::TEST
(WireReaderTest, ReaderFixedEmptyArray)
Reader
supports a zero-length Fixed extraction without moving the cursor.
Member
profinet::wire::TEST
(WireReaderTest, ReaderNeedZero)
Reader
Need succeeds for a zero-byte requirement.
Member
profinet::wire::TEST
(WireReaderTest, ReaderCursorPointsToCurrentPosition)
Reader
exposes the current unread byte through Cursor.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRemainingTracksPosition)
Reader
reports the correct remaining byte count after mixed cursor operations.
Member
profinet::wire::TEST
(WireReaderTest, ReaderRawPointerConstructor)
Reader
constructed from a raw pointer and length reads the supplied byte range.
Member
profinet::wire::TEST
(WireReaderTest, ReaderSpanConstructor)
Reader
constructed from a span reads the supplied bytes.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianU32)
Verifies direct little-endian decoding of a 32-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianU16)
Verifies direct little-endian decoding of a 16-bit value.
Member
profinet::wire::TEST
(WireReaderTest, ReadLittleEndianU8)
Verifies direct little-endian decoding of an 8-bit value.
Member
TEST
(EthernetVLANHeaderTests, RejectsTruncatedHeader)
Rejects every truncated 802.1Q VLAN header before parsing fields.
Member
TEST
(SanitizerConcurrencyTest, DestructionAfterWorkerActivityIsClean)
Controller destruction after worker activity does not leave live threads.
Member
TEST
(SanitizerConcurrencyTest, RepeatedStartStopJoinsWorkers)
Repeated start and stop cycles cleanly join all worker threads.
Member
TEST
(SanitizerConcurrencyTest, ConcurrentOutputDataWritersAreRaceFree)
Concurrent output-data writers do not race with each other.
Member
TEST
(SanitizerConcurrencyTest, ConcurrentStatisticsSnapshotIsRaceFree)
Concurrent statistics snapshots remain race-free while workers update statistics.
Member
TEST
(PlatformTests, GetInterfaceMacRejectsEmptyInterface)
Verifies that an empty interface name is rejected.
Member
TEST
(PlatformTests, GetInterfaceMacRejectsUnknownInterface)
Verifies that an unknown interface name is rejected.
Member
TEST
(PlatformTests, GetInterfaceMacReturnsSixByteAddress)
Verifies that the configured interface exposes a six-byte MAC address.
Member
TEST
(PlatformTests, MacAddressProviderUsesPortableInterfaceLookup)
Verifies that
MacAddressProvider
delegates to
GetInterfaceMac()
.
Member
TEST
(PlatformTests, GetExecutableDirectoryIsStable)
Verifies that repeated executable-directory lookups remain stable.
Member
TEST
(PlatformTests, GetExecutableDirectoryReturnsExistingAbsoluteDirectory)
Verifies that the executable directory is absolute and exists.
Member
TEST
(EthernetVLANHeaderTests, AcceptsCompleteHeader)
Accepts the complete minimum-sized VLAN header.
Member
TEST_F
(UtilMoreTests, MaxTimeoutHandlesPastDeadline)
Verify
MaxTimeout
reports a near-zero timeout as elapsed when started in the past.
Member
TEST_F
(BlocksMoreTests, ParseRealIdentificationDataAcceptsRecognizedHeader)
Verify ParseRealIdentificationData accepts a recognized v1.1 header.
Member
TEST_F
(UtilMoreTests, MaxTimeoutRemainingIsZeroAfterExpiry)
Verify
MaxTimeout::Remaining
returns zero after expiration.
Member
TEST_F
(UtilMoreTests, MaxTimeoutRemainingIsPositiveBeforeExpiry)
Verify
MaxTimeout::Remaining
is positive before expiration.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsHandlesTripleTaggedFrame)
Verify SkipVlanTags can walk several stacked VLAN tags.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsLeavesOrdinaryEtherTypeUntouched)
Verify SkipVlanTags does not skip unrelated EtherTypes.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsHandlesTruncatedTag)
Verify SkipVlanTags stops safely on truncated VLAN tags.
Member
TEST_F
(UtilMoreTests, Ip2StringRejectsExtraComponents)
Verify Ip2String rejects extra IPv4 components.
Member
TEST_F
(UtilMoreTests, String2IpRejectsInvalidLength)
Verify String2Ip rejects lengths other than four bytes.
Member
TEST_F
(UtilMoreTests, IpConversionHandlesBoundaryAddresses)
Verify IPv4 conversion accepts zero and broadcast addresses.
Member
TEST_F
(UtilMoreTests, String2MacRejectsMalformedVariants)
Verify MAC parsing rejects malformed component counts and lengths.
Member
TEST_F
(UtilMoreTests, String2MacAcceptsCanonicalHexDigits)
Verify MAC parsing accepts uppercase and mixed separators consistently.
Member
TEST_F
(UtilMoreTests, DecodeBytesPreservesEmbeddedNul)
Verify DecodeBytes decodes an embedded NUL but removes trailing NUL padding.
Member
TEST_F
(UtilMoreTests, ToHexHandlesRawPointerAndEmptyInput)
Verify ToHex handles a raw pointer as well as an empty buffer.
Member
TEST_F
(UtilMoreTests, ToVecConvertsStringBytes)
Verify ToVec converts every input character to one byte.
Member
TEST_F
(UtilMoreTests, HexFormattersHandleBoundaries)
Verify hexadecimal formatters preserve leading zeroes and case.
Member
TEST_F
(
VendorsTest
, KnownVendorIdResolvesToName)
known vendor id resolves to a name
Member
TEST_F
(UtilMoreTests, DecodeBytesPreservesNonPaddedData)
Verify DecodeBytes preserves data when no trailing NUL exists.
Member
TEST_F
(UtilMoreTests, DecodeBytesHandlesAllNuls)
Verify DecodeBytes reduces an all-zero buffer to an empty string.
Member
TEST_F
(UtilMoreTests, String2IpHandlesExactAndExtendedInput)
Verify String2Ip accepts exactly four bytes and ignores additional bytes.
Member
TEST_F
(UtilMoreTests, Mac2StringRejectsInvalidLength)
Verify Mac2String rejects buffers that are not exactly six bytes.
Member
TEST_F
(UtilMoreTests, String2MacRejectsWhitespace)
Verify String2Mac rejects whitespace and other non-hex characters.
Member
TEST_F
(UtilMoreTests, String2MacRejectsWrongDelimiterPosition)
Verify String2Mac rejects a valid-length address containing a misplaced delimiter.
Member
TEST_F
(UtilMoreTests, String2MacHandlesBoundaryValues)
Verify String2Mac accepts all-zero and all-FF MAC addresses.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsHandlesIncompleteVlanHeader)
Verify SkipVlanTags handles a frame ending exactly at the minimum VLAN header.
Member
TEST_F
(UtilMoreTests, GetExecutableDirectoryReturnsExistingDirectory)
Verify GetExecutableDirectory returns an existing absolute directory.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSwapWithoutChangesPreservesData)
Verify CyclicDataBuilder Swap leaves an already clean buffer unchanged.
Member
TEST_F
(
VendorsTest
, UnknownVendorIdReturnsNulloptOrFallbackString)
unknown vendor id returns nullopt / fallback string
Member
TEST_F
(UtilMoreTests, SkipVlanTagsHandlesShortFrame)
Verify SkipVlanTags returns the Ethernet EtherType offset for an empty frame.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsStopsAfterSupportedTag)
Verify SkipVlanTags stops after a complete VLAN tag followed by a normal EtherType.
Member
TEST_F
(UtilMoreTests, SkipVlanTagsRecognizesSupportedTpids)
Verify SkipVlanTags recognizes each supported VLAN TPID.
Member
TEST_F
(UtilMoreTests, GetMacReadsLoopbackInterface)
Verify GetMac returns six bytes for the loopback interface.
Member
TEST_F
(UtilMoreTests, GetMacRejectsUnknownInterface)
Verify GetMac rejects an interface that does not exist.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetDataRejectsUnknownSlotSubslot)
Verify CyclicDataBuilder SetData rejects an unknown slot/subslot.
Member
TEST_F
(BlocksMoreTests, WriteMultipleResultSuccessReflectsStatus)
Verify WriteMultipleResult::Success distinguishes zero and non-zero status.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleBlockReqCoversAllSubmoduleTypes)
Verify ExpectedSubmoduleBlockReq creates the correct data description for every submodule type.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleBlockReqReusesExistingApiAndSlot)
Verify AddSubmodule reuses an existing API and existing slot.
Member
TEST_F
(BlocksMoreTests, ParseModuleDiffBlockHandlesHeaderWithoutBody)
Verify ParseModuleDiffBlock returns an empty block when no API count is present.
Member
TEST_F
(BlocksMoreTests, ParseModuleDiffBlockStopsOnTruncatedApi)
Verify ParseModuleDiffBlock stops safely when an API header is truncated.
Member
TEST_F
(BlocksMoreTests, ParseModuleDiffBlockStopsOnTruncatedModule)
Verify ParseModuleDiffBlock stops safely when a module header is truncated.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderConfigReturnsConfiguration)
Verify CyclicDataBuilder exposes its configured IOCR.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSwapPromotesDirtyBuffer)
Verify CyclicDataBuilder Swap promotes a dirty write buffer.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleBlockReqBuildsOutputOnlySubmodule)
Verify ExpectedSubmoduleBlockReq writes the distinct descriptions for output-only data.
Member
TEST_F
(RtMoreTests, BuildIocrConfigsUsesCalculatedSizeWhenLarger)
Verify BuildIocrConfigs preserves a calculated size larger than cSduLength.
Member
TEST_F
(RtMoreTests, BuildIocrConfigsUsesMinimumCSduLength)
Verify BuildIocrConfigs uses cSduLength when it exceeds the calculated input/output size.
Member
TEST_F
(RtMoreTests, BuildIocrConfigsCoversInputAndOutputBranches)
Verify BuildIocrConfigs covers data, IOCS-only, and bidirectional submodule paths for both input and output IOCRs.
Member
TEST_F
(RtMoreTests, BuildIocrConfigsHandlesEmptySlotList)
Verify BuildIocrConfigs handles the empty-slot case using the CSdu minimum.
Member
TEST_F
(RtMoreTests, IOCRTypePredicatesCoverBothDirections)
Verify IOCR type predicates cover input and output configurations.
Member
TEST_F
(RtMoreTests, IOCRTimingHelpersCalculateCycleAndWatchdog)
Verify IOCR timing helpers use the configured reduction and send-clock factors.
Member
TEST_F
(AlarmItemTest, ParseChannelDiagnosis)
parse_alarm_item: ChannelDiagnosis (USI 0x8000)
Member
TEST_F
(BlocksMoreTests, ParseRealIdentificationDataFallsBackToRawBody)
Verify ParseRealIdentificationData falls back to raw v1.0 bodies.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleBlockReqCreatesSeparateApis)
Verify ExpectedSubmoduleBlockReq creates separate APIs when API values differ.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleAPISerializes)
Verify ExpectedSubmoduleAPI serializes a slot list.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleSlotSerializes)
Verify ExpectedSubmoduleSlot serializes a slot containing a submodule.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleSerializes)
Verify ExpectedSubmodule serializes its header and descriptions.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleSubmoduleTypeMasksLowBits)
Verify ExpectedSubmodule::SubmoduleType masks properties correctly.
Member
TEST_F
(BlocksMoreTests, ExpectedSubmoduleDataDescriptionSerializes)
Verify ExpectedSubmoduleDataDescription serializes its six wire bytes.
Member
TEST_F
(BlocksMoreTests, ParseWriteMultipleResponseHandlesMinimalResponse)
Verify ParseWriteMultipleResponse ignores an empty 64-byte response.
Member
TEST_F
(BlocksMoreTests, ParseWriteMultipleResponseRejectsShortInput)
Verify ParseWriteMultipleResponse safely rejects undersized input.
Member
TEST_F
(BlocksMoreTests, IODWriteMultipleBuilderStoresApiAndMultipleWrites)
Verify AddWrite accepts a custom API and multiple records.
Member
TEST_F
(BlocksMoreTests, IODWriteMultipleBuilderBuildsEmptyPacket)
Verify IODWriteMultipleBuilder can build an empty write list.
Member
TEST_F
(BlocksMoreTests, ModuleDiffBlockReportsAllMismatches)
Verify ModuleDiffBlock reports every improper module and submodule.
Member
TEST_F
(BlocksMoreTests, ModuleDiffModuleEvaluatesState)
Verify ModuleDiffModule evaluates proper and improper module states.
Member
TEST_F
(BlocksMoreTests, ModuleDiffSubmoduleStateNameCoversValues)
Verify ModuleDiffSubmodule state decoding covers representative and unknown values.
Member
TEST_F
(BlocksMoreTests, ParsePortStatisticsSupportsOffset)
Verify ParsePortStatistics honors a non-zero offset.
Member
TEST_F
(BlocksMoreTests, ParseRealIdentificationDataHandlesTruncatedEntry)
Verify ParseRealIdentificationData rejects an incomplete slot entry safely.
Member
TEST_F
(BlocksTest, ExpectedSubmoduleBlockReqBuildsInputBlock)
ExpectedSubmoduleBlockReq builds well-formed INPUT block
Member
TEST_F
(BlocksTest, Align4)
align4 rounds up correctly
Member
TEST_F
(BlocksTest, ParseModuleDiffBlockAllOk)
parse_module_diff_block: all OK
Member
TEST_F
(BlocksTest, ParseModuleDiffBlockWrongSubmodule)
parse_module_diff_block: wrong submodule reports mismatch
Member
TEST_F
(BlocksTest, ParseModuleDiffBlockRejectsWrongBlockType)
parse_module_diff_block: wrong block type throws
Member
TEST_F
(BlocksTest, ParseModuleDiffBlockTooShortReturnsEmpty)
parse_module_diff_block: too-short data returns empty block
Member
TEST_F
(BlocksTest, ParseRealIdentificationDataV10)
parse_real_identification_data v1.0 parses slot/subslot structure
Member
TEST_F
(BlocksTest, ParseRealIdentificationDataTooShortReturnsEmpty)
parse_real_identification_data returns empty on too-short data
Member
TEST_F
(BlocksTest, IODWriteMultipleBuilderBuildsValidPacket)
IODWriteMultipleBuilder builds a valid multi-write packet
Member
TEST_F
(BlocksTest, ParseBlockHeaderRejectsTooShortData)
parse_block_header rejects too-short data
Member
TEST_F
(BlocksTest, ExpectedSubmoduleBlockReqInputOutputIncludesTwoDataDescriptions)
ExpectedSubmoduleBlockReq INPUT_OUTPUT includes two DataDescriptions
Member
TEST_F
(BlocksTest, ExpectedSubmoduleBlockReqNoIoProducesOneDataDescription)
ExpectedSubmoduleBlockReq NO_IO produces exactly one DataDescription
Member
TEST_F
(BlocksTest, ParsePortStatistics)
parse_port_statistics parses a 26-byte body
Member
TEST_F
(BlocksTest, ParsePortStatisticsTooShortReturnsNullopt)
parse_port_statistics returns nullopt on too-short data
Member
TEST_F
(BlocksTest, ParsePdPortDataRealParsesSlotAndSubslot)
ParsePdPortDataReal parses the slot and subslot from the payload.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealDecodesAsciiPortId)
ParsePdPortDataReal decodes an ASCII port ID.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealDecodesExtendedLatin1PortId)
ParsePdPortDataReal converts extended Latin-1 port ID bytes to UTF-8.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealParsesPeer)
ParsePdPortDataReal parses a peer port, chassis ID and MAC address.
Member
TEST_F
(AsioEthernetSocketTests, RecvReturnsEmptyFrameOnTimeout)
Verifies that Recv returns an empty frame when its configured receive timeout expires.
Member
TEST_F
(AlarmItemTest, ParseExtChannelDiagnosis)
parse_alarm_item: ExtChannelDiagnosis (USI 0x8002) includes ext fields
Member
TEST_F
(AlarmItemTest, ParsePEAlarmItem)
parse_alarm_item: PE_AlarmItem (USI 0x8310)
Member
TEST_F
(AlarmItemTest, ParseUnknownUSI)
parse_alarm_item: unknown USI falls back to generic
AlarmItem
Member
TEST_F
(AlarmItemTest, RejectsTruncatedData)
parse_alarm_item rejects truncated data
Member
TEST_F
(AsioEthernetSocketTests, ConstructorRejectsUnknownInterface)
Verifies that an unknown network interface is rejected.
Member
TEST_F
(AsioEthernetSocketTests, ConstructorAcceptsEthernetInterface)
Verifies that a configured Ethernet interface can be opened.
Member
TEST_F
(AsioEthernetSocketTests, ConstructorAcceptsSpecificEtherType)
Verifies that a specific EtherType can be configured.
Member
TEST_F
(AsioEthernetSocketTests, SetTimeoutAcceptsFiniteDuration)
Verifies that SetTimeout configures a finite receive timeout without performing socket I/O immediately.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealDecodesExtendedLatin1PeerIds)
ParsePdPortDataReal converts extended Latin-1 peer IDs to UTF-8.
Member
TEST_F
(AsioEthernetSocketTests, RecvUsesExternallyDrivenIoContext)
Verifies that Recv uses an externally driven Asio execution context rather than running the context itself.
Member
TEST_F
(AsioEthernetSocketTests, InjectedEthernetFrameCanBeCapturedByPeer)
Verifies that an injected Ethernet frame can be captured by a peer.
Member
TEST_F
(AsioEthernetSocketTests, EtherTypeFilterAcceptsVlanTaggedFrame)
Verifies that an EtherType filter is applied after VLAN tags.
Member
TEST_F
(AsioEthernetSocketTests, UnicastFrameCanBeReceivedByPeer)
Verifies that a complete unicast Ethernet frame sent through one AF_PACKET socket can be received by another socket on the test interface.// Kan weg?
Member
TEST_F
(AsioEthernetSocketTests, ConcurrentUnicastFrameCanBeReceivedByPeer)
Verifies that a frame can be received concurrently while another thread sends through a second AF_PACKET socket.//kan weg?
Member
TEST_F
(AsioEthernetSocketTests, PeerCanReceiveAndRespondToController)
Verifies that a controller can send a frame to a peer and receive the peer's response through the Ethernet transport.
Member
TEST_F
(BlocksTest, ParseBlockHeader)
parse_block_header parses a 6-byte header
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesMissingPortLength)
Verify ParsePdPortDataReal handles a payload ending after slot/subslot.
Member
TEST_F
(BlocksMoreTests, ParseMultipleBlockHeaderParsesAllFields)
Verify ParseMultipleBlockHeader decodes padding, API, slot and subslot.
Member
TEST_F
(BlocksMoreTests, ParseMultipleBlockHeaderRejectsTruncatedInput)
Verify ParseMultipleBlockHeader rejects truncated input.
Member
TEST_F
(BlocksMoreTests, ParsePdInterfaceDataRealParsesCompleteData)
Verify ParsePdInterfaceDataReal decodes chassis, MAC and IP configuration.
Member
TEST_F
(BlocksMoreTests, ParsePdInterfaceDataRealRejectsMissingChassisLength)
Verify ParsePdInterfaceDataReal rejects a missing chassis-length byte.
Member
TEST_F
(BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedChassis)
Verify ParsePdInterfaceDataReal rejects a truncated chassis identifier.
Member
TEST_F
(BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedMac)
Verify ParsePdInterfaceDataReal rejects a truncated MAC address.
Member
TEST_F
(BlocksMoreTests, ParsePdInterfaceDataRealRejectsTruncatedIpConfiguration)
Verify ParsePdInterfaceDataReal rejects truncated IP configuration.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealKeepsSuppliedLocationForEmptyInput)
Verify ParsePdPortDataReal handles a payload containing no fields.
Member
TEST_F
(BlocksMoreTests, ParseBlockHeaderRejectsTruncatedOffset)
Verify ParseBlockHeader rejects a truncated header at a non-zero offset.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesMissingPeerCount)
Verify ParsePdPortDataReal handles a port ID without peer-count data.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesMissingPeerMac)
Verify ParsePdPortDataReal handles a peer record without a MAC address.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesMissingMau)
Verify ParsePdPortDataReal returns defaults when MAU data is absent.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteBoundaries)
Verify ParsePdPortDataReal handles an incomplete boundary section.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteLinkState)
Verify ParsePdPortDataReal handles an incomplete link-state section.
Member
TEST_F
(BlocksMoreTests, ParsePdPortDataRealHandlesIncompleteMediaType)
Verify ParsePdPortDataReal handles an incomplete media-type section.
Member
TEST_F
(BlocksMoreTests, ParsePdRealDataCollectsMultipleHeaderContent)
Verify ParsePdRealData collects nested blocks and raw block data.
Member
TEST_F
(BlocksMoreTests, ParsePdRealDataSkipsNonMultipleBlock)
Verify ParsePdRealData ignores a non-multiple top-level block safely.
Member
TEST_F
(BlocksMoreTests, BlockHeaderBodyLengthHandlesLengthsBelowTwo)
Verify BlockHeader::BodyLength never underflows for zero or one.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealParsesMauType)
ParsePdPortDataReal parses the MAU type.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealParsesPortProperties)
ParsePdPortDataReal parses boundaries, link state and media type.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealParsesCompletePortData)
ParsePdPortDataReal parses a complete PD port data structure.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealHandlesEmptyData)
ParsePdPortDataReal returns the supplied slot and subslot for empty data.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealHandlesMissingPortIdLength)
ParsePdPortDataReal handles data ending after slot and subslot.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealHandlesTruncatedPortId)
ParsePdPortDataReal handles a port ID whose declared length exceeds the data.
Member
TEST_F
(BlocksTest, ParsePdPortDataRealHandlesMissingPeerCount)
ParsePdPortDataReal handles data ending immediately after the port ID.
Member
TEST_F
(BlocksTest, DISABLED_ParsePdPortDataRealHandlesTruncatedPeerPortId)
ParsePdPortDataReal stops when a peer port ID is truncated.
Member
TEST_F
(BlocksMoreTests, ParsePdRealDataIgnoresMalformedMultipleHeader)
Verify ParsePdRealData survives a truncated multiple-header body.
Member
TEST_F
(BlocksMoreTests, BlockHeaderTypeNameHandlesUnknownType)
Verify an unknown block type falls back to its generic name.
Member
TEST_F
(BlocksMoreTests, SlotInfoToStringFormatsSubslot)
Verify SlotInfo::ToString uses the documented hexadecimal subslot format.
Member
TEST_F
(BlocksMoreTests, PeerInfoMacStrFormatsAddress)
Verify PeerInfo::MacStr delegates to the canonical MAC formatter.
Member
TEST_F
(BlocksMoreTests, PortInfoMauTypeNameCoversKnownAndUnknownValues)
Verify every documented MAU-name mapping and the unknown fallback.
Member
TEST_F
(BlocksMoreTests, PortInfoLinkStateCoversAllBranches)
Verify every link-state switch branch, including the fallback.
Member
TEST_F
(BlocksMoreTests, InterfaceInfoFormattingHelpers)
Verify InterfaceInfo formatting helpers expose all stored addresses.
Member
TEST_F
(BlocksMoreTests, ParseBlockHeaderSupportsOffset)
Verify ParseBlockHeader accepts a non-zero starting offset.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStoresQualifiedDiagnosis)
Verify ParseDiagnosisBlock stores qualified diagnosis details.
Member
TEST_F
(DiagnosisMoreTests, ChannelPropertiesFromUint16RetainsRawValue)
Verify ChannelProperties::FromUint16 retains raw input and decodes defaults.
Member
TEST_F
(DiagnosisMoreTests, AnyChannelDiagnosisUsiClassification)
Verify standard and qualified diagnosis entries are distinguished by USI.
Member
TEST_F
(DiagnosisMoreTests, DiagnosisDataMaintenanceFlagsAreFalseWhenClear)
Verify DiagnosisData reports no maintenance flags when entries are clear.
Member
TEST_F
(DiagnosisMoreTests, DiagnosisDataDetectsMaintenanceDemanded)
Verify DiagnosisData detects a maintenance-demanded flag.
Member
TEST_F
(DiagnosisMoreTests, DecodeChannelErrorTypeCoversAdditionalRanges)
Verify DecodeChannelErrorType covers additional well-known and fallback ranges.
Member
TEST_F
(DiagnosisMoreTests, DecodeExtChannelErrorTypeHandlesUnknownValues)
Verify DecodeExtChannelErrorType falls back for an unknown extended value.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockAcceptsUsiZero)
Verify ParseDiagnosisBlock parses a standard entry with USI zero.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStoresExtendedDiagnosis)
Verify ParseDiagnosisBlock stores extended diagnosis details.
Member
TEST_F
(DiagnosisMoreTests, DirectionNamesCoverAllValues)
Verify ChannelProperties names cover all legal channel directions.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStopsOnTruncatedEntry)
Verify ParseDiagnosisBlock rejects a truncated standard diagnosis entry.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStopsOnZeroEntry)
Verify ParseDiagnosisBlock ignores a zero-filled entry.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockAcceptsAlternativeBlockTypes)
Verify ParseDiagnosisBlock accepts all documented diagnosis block types.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockAcceptsRawEntry)
Verify ParseDiagnosisBlock handles raw diagnosis data without a block header.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisSimpleStopsOnIncompleteEntry)
Verify ParseDiagnosisSimple handles an incomplete trailing record.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisSimplePreservesLocation)
Verify ParseDiagnosisSimple handles an all-zero sentinel after valid data.
Member
TEST_F
(DiagnosisMoreTests, ChannelPropertiesFromUint16CoversAllValidFields)
Verify ChannelProperties::FromUint16 decodes every valid field encoding.
Member
TEST_F
(DiagnosisMoreTests, ChannelPropertiesFromUint16UsesFallbacks)
Verify invalid ChannelProperties encodings fall back to their documented defaults.
Member
TEST_F
(
DiagnosisTest
, ParseDiagnosisBlockParsesExtChannelDiagnosisEntry)
parse_diagnosis_block parses ExtChannelDiagnosis entry
Member
TEST_F
(DcpAsioIntegrationTests, ReadResponseParsesAsioEthernetFrame)
Verifies that DCP ReadResponse parses a response received through the real Asio raw Ethernet transport.
Member
TEST_F
(DcpAsioIntegrationTests, ReadResponseParsesVlanTaggedAsioEthernetFrame)
Verifies that DCP ReadResponse accepts a priority-tagged VLAN response received through the real Asio raw Ethernet transport.
Member
TEST_F
(DcpAsioIntegrationTests, GetParamPerformsAsioRoundTrip)
Verifies that GetParam performs a complete DCP GET request and response exchange using two real Asio raw Ethernet transports.
Member
TEST_F
(
DiagnosisTest
, ChannelPropertiesFromUint16DecodesAllBitFields)
ChannelProperties::from_uint16 decodes all bit fields
Member
TEST_F
(
DiagnosisTest
, ChannelPropertiesFromUint16HandlesZeroValue)
ChannelProperties::from_uint16 handles zero value
Member
TEST_F
(
DiagnosisTest
, DecodeChannelErrorTypeResolvesKnownAndRangeBasedFallbacks)
decode_channel_error_type resolves known and range-based fallbacks
Member
TEST_F
(
DiagnosisTest
, DecodeExtChannelErrorTypeUsesContextSpecificTables)
decode_ext_channel_error_type uses context-specific tables
Member
TEST_F
(
DiagnosisTest
, ParseDiagnosisBlockParsesSingleChannelDiagnosisEntry)
parse_diagnosis_block parses a single ChannelDiagnosis entry with block header
Member
TEST_F
(DiagnosisMoreTests, ChannelDiagnosisDetectsSubmoduleLevel)
Verify ChannelDiagnosis detects submodule-level channel number 0x8000.
Member
TEST_F
(
DiagnosisTest
, ParseDiagnosisBlockLocationHeaderUpdatesLocation)
parse_diagnosis_block with API/Slot/Subslot location header updates location
Member
TEST_F
(
DiagnosisTest
, ParseDiagnosisBlockReturnsEmptyForTooShortData)
parse_diagnosis_block returns empty result for too-short data
Member
TEST_F
(
DiagnosisTest
, ParseDiagnosisSimpleStopsOnZeroFilledSentinelEntry)
parse_diagnosis_simple stops on zero-filled sentinel entry
Member
TEST_F
(
DiagnosisTest
, DiagnosisDataMaintenanceFlagsReflectEntryFlags)
DiagnosisData::has_maintenance_required / demanded reflect entry flags
Member
TEST_F
(
DiagnosisTest
, DiagnosisDataGetByChannelFiltersEntries)
DiagnosisData::get_by_channel filters entries
Member
TEST_F
(DiagnosisMoreTests, ChannelTypeNamesCoverAllValues)
Verify ChannelProperties names cover all legal channel types.
Member
TEST_F
(DiagnosisMoreTests, SpecifierNamesCoverAllValues)
Verify ChannelProperties names cover all legal specifiers.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, LinuxPacketReadinessReceivesFrame)
Verifies that the Linux packet-readiness path receives an injected frame.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterAcceptsSingleVlanTaggedFrame)
Verifies that one 802.1Q tag is skipped before EtherType matching.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterAcceptsQinQFrame)
Verifies that two stacked VLAN tags are skipped before EtherType matching.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterAcceptsLegacyDoubleTaggedFrame)
Verifies that legacy 0x9100 VLAN tagging is skipped before EtherType matching.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterRejectsFrameShorterThanHeader)
Verifies that a frame shorter than an Ethernet header cannot match a filter.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterRejectsTruncatedVlanFrame)
Verifies that a frame containing only an incomplete VLAN tag is rejected.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, ZeroEtherTypeAcceptsCompleteFrame)
Verifies that an EtherType value of zero accepts a complete frame.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, RecvReturnsEmptyFrameOnTimeout)
Verifies that Recv returns an empty frame when the configured timeout expires.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, RecvSkipsNonMatchingTraffic)
Verifies that non-matching captured traffic is ignored until a matching frame arrives.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterRejectsNonMatchingUntaggedFrame)
Verifies that a non-matching untagged EtherType is rejected.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, LinuxPacketReadinessTimesOut)
Verifies that the Linux packet-readiness path completes a finite receive timeout.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, WindowsPacketReadinessReceivesFrame)
Verifies that the Windows packet-readiness path receives an injected frame.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, WindowsPacketReadinessTimesOut)
Verifies that the Windows packet-readiness path completes a finite receive timeout.
Member
TEST_F
(
ProtocolTest
, PNDCPHeaderRoundTrips)
PNDCPHeader
round-trips
Member
TEST_F
(
ProtocolTest
, PNDCPBlockParsesStatusAndPayload)
PNDCPBlock
parses status+payload with -2 offset convention
Member
TEST_F
(
ProtocolTest
, EthernetHeaderRoundTrips)
EthernetHeader
round-trips
Member
TEST_F
(
ProtocolTest
, PacketStructFixedSizesMatchExpectedSizes)
packet struct fixed sizes
Member
TEST_F
(
ProtocolTest
, PNRPCHeaderInterfaceUUIDMatchesExpectedPrefix)
PNRPCHeader
interface UUIDs match expected PROFINET prefix
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockRejectsTooShortInput)
Verify ParseDiagnosisBlock returns empty data for a buffer shorter than a block header.
Member
TEST_F
(DiagnosisMoreTests, DiagnosisDataGetByChannelFiltersAllMatchingEntries)
Verify DiagnosisData::GetByChannel returns every matching entry and none for misses.
Member
TEST_F
(DiagnosisMoreTests, DiagnosisDataHasErrorsReflectsEntries)
Verify DiagnosisData::HasErrors distinguishes empty and populated diagnosis data.
Member
TEST_F
(DiagnosisMoreTests, DecodeChannelErrorTypeCoversAllFallbackRanges)
Verify DecodeChannelErrorType covers every fallback range.
Member
TEST_F
(DiagnosisMoreTests, DecodeExtChannelErrorTypeCoversFallbackRanges)
Verify DecodeExtChannelErrorType covers general and fallback ranges.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockConsumesLocationHeader)
Verify ParseDiagnosisBlock consumes and applies an API/slot/subslot location header.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockHandlesUnknownUsi)
Verify ParseDiagnosisBlock treats an unknown USI as a minimal channel diagnosis.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStopsOnTruncatedExtendedDiagnosis)
Verify ParseDiagnosisBlock stops when an extended diagnosis payload is truncated.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisBlockStopsOnTruncatedQualifiedDiagnosis)
Verify ParseDiagnosisBlock stops when a qualified diagnosis payload is truncated.
Member
TEST_F
(DcpAsioIntegrationTests, SendDiscoverTransmitsIdentifyRequest)
Verifies that DCP SendDiscover transmits a valid Identify request through the real Asio raw Ethernet transport.
Member
TEST_F
(DiagnosisMoreTests, ParseDiagnosisSimpleRejectsTooShortInput)
Verify ParseDiagnosisSimple returns empty data when no six-byte header is available.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, ConstructorRejectsEmptyInterface)
Verifies that an empty interface name is rejected before packet access.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, ConstructorRejectsUnknownInterface)
Verifies that an unknown interface name is rejected.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, ConstructorAcceptsConfiguredInterface)
Verifies that the configured Ethernet interface can be opened.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, SendAcceptsMinimumEthernetFrame)
Verifies that a complete minimum-size Ethernet frame can be sent.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, SendRejectsShortEthernetFrame)
Verifies that frames shorter than the Ethernet header are rejected.
Member
TEST_F
(
EthernetPacketBackendTestFixture
, EtherTypeFilterAcceptsMatchingUntaggedFrame)
Verifies that an untagged frame with the configured EtherType matches.
Member
TEST_F
(
RTTest
, RTFrameRejectsTooShortData)
RTFrame::from_bytes rejects too-short data
Member
TEST_F
(BlocksMoreTests, ParsePortStatisticsRejectsTruncatedOffset)
Verify ParsePortStatistics returns nullopt for a truncated payload at an offset.
Member
TEST_F
(BlocksMoreTests, ParseRealIdentificationDataParsesV11ApiGroupedLayout)
Verify ParseRealIdentificationData parses the API-grouped v1.1 layout.
Member
TEST_F
(BlocksMoreTests, ParseWriteMultipleResponseParsesSuccessfulResult)
Verify ParseWriteMultipleResponse decodes a successful result block.
Member
TEST_F
(
RTTest
, DISABLED_BuildIocrConfigsComputesExpectedFrameOffsets)
build_iocr_configs computes frame offsets matching RPCCon's IOCR block builder
Member
TEST_F
(
RTTest
, CyclicDataBuilderRejectsUnknownSlotSubslot)
CyclicDataBuilder rejects unknown slot/subslot
Member
TEST_F
(
RTTest
, CyclicDataBuilderSetGetDataRoundTripsThroughSwap)
CyclicDataBuilder set/get data round-trips through swap
Member
TEST_F
(
RTTest
, ParseEthernetFrameRejectsNonProfinetEthertype)
parse_ethernet_frame rejects non-PROFINET ethertype
Member
TEST_F
(
RTTest
, BuildAndParseEthernetFrameRoundTrips)
build_ethernet_frame / parse_ethernet_frame round-trip
Member
TEST_F
(RtMoreTests, RTFrameStatusAccessorsCoverAllBits)
Verify RTFrame accessors independently evaluate every status bit.
Member
TEST_F
(
RTTest
, RTFrameRoundTrips)
RTFrame round-trips through to_bytes/from_bytes
Member
TEST_F
(
RpcTransportTests
, ReceiveUsesExternallyDrivenIoContext)
Verifies that
RpcTransport::Receive()
relies on an externally driven Asio execution context and does not run the context itself.
Member
TEST_F
(
RpcTransportTests
, IsOpenReturnsFalseForClosedTransport)
IsOpen reports false after the UDP socket has been closed.
Member
TEST_F
(
RpcTransportTests
, IsOpenReturnsTrueForOpenTransport)
IsOpen reports true after the UDP socket has been successfully opened.
Member
TEST_F
(
RpcTransportTests
, CloseOnClosedTransportDoesNothing)
Close is safe to call on an already closed transport.
Member
TEST_F
(
RpcTransportTests
, CloseIsIdempotent)
Close is safe to call repeatedly.
Member
TEST_F
(
RpcTransportTests
, CloseClosesSocket)
Close closes an open UDP socket.
Member
TEST_F
(
RpcTransportTests
, SendFailsWhenTransportIsClosed)
Send rejects calls when the transport has not been opened.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetIocsUpdatesIocsOnlyObject)
Verify CyclicDataBuilder SetIocs updates IOCS-only objects.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderGetDataRejectsUnknownSlotSubslot)
Verify CyclicDataBuilder GetData rejects an unknown slot/subslot.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderLoadTruncatesLongPayload)
Verify CyclicDataBuilder Load truncates a payload larger than the configured buffer.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderLoadCopiesAndClearsRemainder)
Verify CyclicDataBuilder Load copies a shorter payload and clears the remainder.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderClearResetsBuffers)
Verify CyclicDataBuilder Clear resets the cyclic buffers to zero.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetAllIocsUpdatesAllIocs)
Verify CyclicDataBuilder SetAllIocs updates every configured IOCS position.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetAllIopsUpdatesAllDataObjects)
Verify CyclicDataBuilder SetAllIops updates every data-bearing object.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetIocsUpdatesDataObject)
Verify CyclicDataBuilder SetIocs updates ordinary data objects as well.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetIopsIgnoresIocsOnlyObject)
Verify CyclicDataBuilder SetIops ignores an IOCS-only object without an IOPS byte.
Member
TEST_F
(
RpcTransportTests
, SendTransmitsDatagramWithoutWaiting)
Send transmits a UDP datagram without waiting for a response.
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetIopsUpdatesDataObject)
Verify CyclicDataBuilder SetIops updates IOPS for data-bearing objects.
Member
TEST_F
(RtMoreTests, ParseEthernetFrameRejectsVlanNonProfinet)
Verify ParseEthernetFrame rejects a VLAN-tagged frame with a non-PROFINET EtherType.
Member
TEST_F
(RtMoreTests, ParseEthernetFrameAcceptsPriorityVlan)
Verify ParseEthernetFrame accepts a single priority VLAN tag.
Member
TEST_F
(RtMoreTests, ParseEthernetFrameRejectsShortFrames)
Verify ParseEthernetFrame rejects packets shorter than an Ethernet header.
Member
TEST_F
(RtMoreTests, RTFrameToStringIsNonEmpty)
Verify RTFrame::ToString provides a stable non-empty diagnostic string.
Member
TEST_F
(RtMoreTests, RTFrameFromBytesRejectsShortBuffers)
Verify RTFrame parsing rejects every length below the fixed header size.
Member
TEST_F
(RtMoreTests, RTFrameSerializationPreservesAllFields)
Verify RTFrame serialization retains transfer status as well as payload.
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyIgnoresNonControlRequest)
ApplicationReadyIgnoresNonControlRequest
Member
TEST_F
(RtMoreTests, CyclicDataBuilderSetDataTruncatesOversizedData)
Verify CyclicDataBuilder SetData truncates data larger than the mapped object.
Member
TEST_F
(
RpcTransportTests
, OpenRejectsInvalidIpv4Address)
Open rejects an invalid IPv4 address before attempting to open the UDP socket.
Member
TEST_F
(
RpcTransportTests
, OpenListenerBindsRequestedPort)
Open binds a UDP socket to the requested local endpoint when listener mode is enabled.
Member
TEST_F
(
RpcTransportTests
, OpenCreatesUdpSocket)
Open creates a UDP socket for a valid IPv4 client endpoint.
Member
TEST_F
(
RpcTransportTests
, ConstructorCreatesClosedTransport)
A transport can be constructed with an Asio execution context.
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyAcceptsUnexpectedControlCommand)
ApplicationReadyAcceptsUnexpectedControlCommand
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyIgnoresOtherControlBlock)
ApplicationReadyIgnoresOtherControlBlock
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyIgnoresRpcResponse)
ApplicationReadyIgnoresRpcResponse
Member
TEST_F
(
RpcTransportTests
, OpenListenerRejectsOccupiedPort)
Open reports a bind failure when listener mode targets an occupied UDP port.
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyTimesOut)
ApplicationReadyTimesOut
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyResponseHasSuccessfulNrdStatus)
ApplicationReadyResponseHasSuccessfulNrdStatus
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyResponseMatchesRequest)
ApplicationReadyResponseMatchesRequest
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReadyReceivesCorrectRequest)
ApplicationReadyReceivesCorrectRequest
Member
TEST_F
(
RpcConIntegrationTest
, ApplicationReady)
ApplicationReady
Member
TEST_F
(BlocksMoreTests, ParseWriteMultipleResponseParsesFailedResult)
Verify ParseWriteMultipleResponse preserves a failed write status.
Member
TEST_F
(BlocksMoreTests, ParseWriteMultipleResponseStopsOnUnexpectedBlockType)
Verify ParseWriteMultipleResponse stops when a nested block has the wrong type.
Member
TEST_F
(BlocksMoreTests, IODWriteMultipleBuilderSerializesWriteDetails)
Verify IODWriteMultipleBuilder serializes multiple writes with distinct sequence numbers.
Member
TEST_F
(
RpcTransportTests
, SendToReportsUnderlyingSocketError)
SendTo reports the underlying UDP send error when the destination uses the wrong IP address family.
Member
TEST_F
(
RpcTransportTests
, SendReceiveThrowsSystemErrorWhenSocketIsCancelled)
SendReceive converts socket cancellation into std::system_error when the cancellation was not caused by the timeout timer.
Member
TEST_F
(
RpcTransportTests
, SendReceiveRejectsNegativeTimeout)
SendReceive rejects a negative timeout before sending the request.
Member
TEST_F
(
RpcTransportTests
, SendReceiveRejectsZeroTimeout)
SendReceive rejects a zero timeout before sending the request.
Member
TEST_F
(
RpcTransportTests
, SendReceiveFailsWhenTransportIsClosed)
SendReceive throws std::system_error when the transport socket is closed.
Member
TEST_F
(
RpcTransportTests
, SendReceiveThrowsOnTimeout)
SendReceive throws
RPCTimeoutError
when the destination receives the request but sends no response.
Member
TEST_F
(
RpcTransportTests
, SendReceiveUsesExternallyDrivenIoContext)
Verifies that
RpcTransport::SendReceive()
completes when its Asio execution context is driven externally.
Member
TEST_F
(
RpcTransportTests
, SendReceiveReturnsEchoResponse)
SendReceive sends a datagram and returns the echoed response.
Member
TEST_F
(
RpcTransportTests
, OpenUpdatesEndpointWhenTransportIsAlreadyOpen)
Open updates the client destination when called again after the socket is already open.
Member
TEST_F
(
RpcTransportTests
, SendToFailsWhenTransportIsClosed)
SendTo rejects calls when the transport socket is closed.
Member
TEST_F
(
RpcTransportTests
, SendToTransmitsDatagramToSuppliedEndpoint)
SendTo sends exactly the supplied datagram to the supplied destination endpoint.
Member
TEST_F
(
RpcTransportTests
, ReceiveThrowsSystemErrorWhenSocketIsCancelled)
Receive converts socket cancellation into std::system_error when the cancellation was not caused by the timeout timer.
Member
TEST_F
(
RpcTransportTests
, ReceiveThrowsOnTimeout)
Receive throws
RPCTimeoutError
when no datagram arrives before the timeout.
Member
TEST_F
(
RpcTransportTests
, ReceiveRejectsNegativeTimeout)
Receive rejects a negative timeout before starting asynchronous operations.
Member
TEST_F
(
RpcTransportTests
, ReceiveRejectsZeroTimeout)
Receive rejects a zero timeout before starting asynchronous operations.
Member
TEST_F
(
RpcTransportTests
, ReceiveFailsWhenTransportIsClosed)
Receive rejects calls when the transport socket is closed.
Member
TEST_F
(
RpcTransportTests
, ReceiveReturnsDatagramAndSenderEndpoint)
Receive returns the datagram and captures the sender endpoint in listener mode.
File
test_gsdml_real_device.cpp
All tests are offline and do not require a physical PROFINET device.
Generated on Fri Oct 2 2026 23:15:11 for PROFINET IO Controller Stack by
1.9.8