diff options
-rw-r--r-- | src/profiling/ActivateTimelineReportingCommandHandler.cpp | 13 | ||||
-rw-r--r-- | tests/profiling/gatordmock/tests/GatordMockTests.cpp | 4 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/profiling/ActivateTimelineReportingCommandHandler.cpp b/src/profiling/ActivateTimelineReportingCommandHandler.cpp index 614417c6de..6d5f32faa4 100644 --- a/src/profiling/ActivateTimelineReportingCommandHandler.cpp +++ b/src/profiling/ActivateTimelineReportingCommandHandler.cpp @@ -41,15 +41,18 @@ void ActivateTimelineReportingCommandHandler::operator()(const arm::pipe::Packet + " id = " + std::to_string(packet.GetPacketId())); } - m_SendTimelinePacket.SendTimelineMessageDirectoryPackage(); + if(!m_TimelineReporting) + { + m_SendTimelinePacket.SendTimelineMessageDirectoryPackage(); - TimelineUtilityMethods::SendWellKnownLabelsAndEventClasses(m_SendTimelinePacket); + TimelineUtilityMethods::SendWellKnownLabelsAndEventClasses(m_SendTimelinePacket); - m_TimelineReporting = true; + m_TimelineReporting = true; - m_ReportStructure.value().ReportStructure(); + m_ReportStructure.value().ReportStructure(); - m_BackendNotifier.NotifyBackendsForTimelineReporting(); + m_BackendNotifier.NotifyBackendsForTimelineReporting(); + } break; default: diff --git a/tests/profiling/gatordmock/tests/GatordMockTests.cpp b/tests/profiling/gatordmock/tests/GatordMockTests.cpp index 941e284928..303a36a71a 100644 --- a/tests/profiling/gatordmock/tests/GatordMockTests.cpp +++ b/tests/profiling/gatordmock/tests/GatordMockTests.cpp @@ -477,6 +477,10 @@ BOOST_AUTO_TEST_CASE(GatorDMockTimeLineActivation) WaitFor([&](){return mockBackEndProfilingContext->TimelineReportingEnabled();}, "Timeline packets were not activated"); + // Once TimelineReporting is Enabled additional activateTimelinePackets should be ignored + mockService.SendActivateTimelinePacket(); + mockService.SendActivateTimelinePacket(); + // Once timeline packets have been reactivated the ActivateTimelineReportingCommandHandler will resend the // SendWellKnownLabelsAndEventClasses and then send the structure of any loaded networks WaitFor([&](){return timelineDecoder.GetModel().m_Labels.size() >= 24;}, |