diff --git a/.gitattributes b/.gitattributes index 8686fde556da068984f27aa0d3962c9810b73cfd..c1bf198f589cb5c31c58192eb1ed9c08e4c5d3bc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -138,7 +138,6 @@ MAC/APL/PAC/_VirtualTelescope/pvss/testPanel.pnl -text svneol=native#application MAC/APL/PAC/_VirtualTelescope/src/LogicalDeviceServer.conf.in -text svneol=native#application/octet-stream MAC/APL/PAC/_VirtualTelescope/src/LogicalDevice_Protocol.prot -text svneol=native#application/octet-stream MAC/APL/PAC/_VirtualTelescope/src/Makefile.am -text svneol=native#application/octet-stream -MAC/APL/PAC/_VirtualTelescope/src/log4cplus.properties.in -text svneol=native#application/octet-stream MAC/APL/PAC/_VirtualTelescope/test/DEPENDENCIES -text svneol=native#application/octet-stream MAC/APL/PAC/_VirtualTelescope/test/Makefile.am -text svneol=native#application/octet-stream MAC/APL/PAC/_VirtualTelescope/test/README -text svneol=native#application/octet-stream diff --git a/MAC/APL/PAC/_VirtualTelescope/src/AVTLogicalDeviceScheduler.cc b/MAC/APL/PAC/_VirtualTelescope/src/AVTLogicalDeviceScheduler.cc index 584b024721941a63bed545ebf4bc0f0cf40d5956..01787ea33830f9cd8a4035299c562c883b72ef8e 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/AVTLogicalDeviceScheduler.cc +++ b/MAC/APL/PAC/_VirtualTelescope/src/AVTLogicalDeviceScheduler.cc @@ -219,12 +219,13 @@ bool AVTLogicalDeviceScheduler::submitSchedule(const unsigned long scheduleId,co { stopTime = curUTCtime + stopDelay; } - LOG_DEBUG(formatString("(%s)\ncurrent time: %sscheduled preparetime: %s\nscheduled starttime: %s\nscheduled stoptime: %s\n",__func__,posix_time::to_simple_string(curUTCtime).c_str(),posix_time::to_simple_string(prepareTime).c_str(),posix_time::to_simple_string(startTime).c_str(),posix_time::to_simple_string(stopTime).c_str())); + LOG_DEBUG(formatString("(%s)\ncurrent time: %s\nscheduled preparetime: %s\nscheduled starttime: %s\nscheduled stoptime: %s\n",__func__,posix_time::to_simple_string(curUTCtime).c_str(),posix_time::to_simple_string(prepareTime).c_str(),posix_time::to_simple_string(startTime).c_str(),posix_time::to_simple_string(stopTime).c_str())); // check if the schedule already exists LogicalDeviceScheduleIterT schIt = m_logicalDeviceSchedule.find(scheduleId); if(schIt != m_logicalDeviceSchedule.end()) { + LOG_DEBUG(formatString("(%s) Schedule %d already exists. Changing parameters",__func__,scheduleId)); // it exists. if(prepareTime < curUTCtime) { @@ -236,10 +237,12 @@ bool AVTLogicalDeviceScheduler::submitSchedule(const unsigned long scheduleId,co schIt->second.parameters = scheduleParameters; // cancel current prepare timer and create a new one clientPort->cancelTimer(schIt->second.prepareTimerId); + LOG_DEBUG(formatString("(%s) PrepareTimer %d cancelled",__func__,schIt->second.prepareTimerId)); boost::posix_time::time_duration delay; delay = prepareTime - curUTCtime; schIt->second.prepareTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the prepareTimer + LOG_DEBUG(formatString("(%s) PrepareTimer %d created",__func__,schIt->second.prepareTimerId)); } if(startTime < curUTCtime) { @@ -250,10 +253,12 @@ bool AVTLogicalDeviceScheduler::submitSchedule(const unsigned long scheduleId,co schIt->second.startTime = rawStartTime; // cancel current start timer and create a new one clientPort->cancelTimer(schIt->second.startTimerId); + LOG_DEBUG(formatString("(%s) StartTimer %d cancelled",__func__,schIt->second.startTimerId)); boost::posix_time::time_duration delay; delay = startTime - curUTCtime; schIt->second.startTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the startTimer + LOG_DEBUG(formatString("(%s) StartTimer %d created",__func__,schIt->second.startTimerId)); } if(stopTime < curUTCtime) { @@ -264,14 +269,17 @@ bool AVTLogicalDeviceScheduler::submitSchedule(const unsigned long scheduleId,co schIt->second.stopTime = rawStopTime; // cancel current stop timer and create a new one clientPort->cancelTimer(schIt->second.stopTimerId); + LOG_DEBUG(formatString("(%s) StopTimer %d cancelled",__func__,schIt->second.stopTimerId)); boost::posix_time::time_duration delay; delay = stopTime - curUTCtime; schIt->second.stopTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the stopTimer + LOG_DEBUG(formatString("(%s) StopTimer %d created",__func__,schIt->second.stopTimerId)); } } else { + LOG_DEBUG(formatString("(%s) Creating Schedule %d",__func__,scheduleId)); // create the schedule entry LogicalDeviceScheduleInfoT vtSchedule; @@ -284,12 +292,15 @@ bool AVTLogicalDeviceScheduler::submitSchedule(const unsigned long scheduleId,co boost::posix_time::time_duration delay; delay = prepareTime - curUTCtime; vtSchedule.prepareTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the prepareTimer + LOG_DEBUG(formatString("(%s) PrepareTimer %d created",__func__,vtSchedule.prepareTimerId)); delay = startTime - curUTCtime; vtSchedule.startTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the startTimer + LOG_DEBUG(formatString("(%s) StartTimer %d created",__func__,vtSchedule.startTimerId)); delay = stopTime - curUTCtime; vtSchedule.stopTimerId = clientPort->setTimer(static_cast<long int>(delay.total_seconds())); // set the stopTimer + LOG_DEBUG(formatString("(%s) StopTimer %d created",__func__,vtSchedule.stopTimerId)); m_logicalDeviceSchedule[scheduleId] = vtSchedule; } @@ -431,21 +442,21 @@ GCFEvent::TResult AVTLogicalDeviceScheduler::initial_state(GCFEvent& event, GCFP list<TPropertyInfo> requiredResources; getRequiredResources(requiredResources,1,1,1,1,1); - receptors.push_back(addReceptor(string("RCU1"),requiredResources)); + receptors.push_back(addReceptor(string("SR1"),requiredResources)); getRequiredResources(requiredResources,1,1,1,1,2); - receptors.push_back(addReceptor(string("RCU2"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,2,1); - receptors.push_back(addReceptor(string("RCU3"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,2,2); - receptors.push_back(addReceptor(string("RCU4"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,3,1); - receptors.push_back(addReceptor(string("RCU5"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,3,2); - receptors.push_back(addReceptor(string("RCU6"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,4,1); - receptors.push_back(addReceptor(string("RCU7"),requiredResources)); - getRequiredResources(requiredResources,1,1,1,4,2); - receptors.push_back(addReceptor(string("RCU8"),requiredResources)); + receptors.push_back(addReceptor(string("SR2"),requiredResources)); + getRequiredResources(requiredResources,2,1,1,1,1); + receptors.push_back(addReceptor(string("SR3"),requiredResources)); + getRequiredResources(requiredResources,2,1,1,1,2); + receptors.push_back(addReceptor(string("SR4"),requiredResources)); + getRequiredResources(requiredResources,3,1,1,1,1); + receptors.push_back(addReceptor(string("SR5"),requiredResources)); + getRequiredResources(requiredResources,3,1,1,1,2); + receptors.push_back(addReceptor(string("SR6"),requiredResources)); + getRequiredResources(requiredResources,4,1,1,1,1); + receptors.push_back(addReceptor(string("SR7"),requiredResources)); + getRequiredResources(requiredResources,4,1,1,1,2); + receptors.push_back(addReceptor(string("SR8"),requiredResources)); // create receptor groups vector<shared_ptr<AVTStationReceptor> > receptorsSRG1; @@ -545,6 +556,17 @@ GCFEvent::TResult AVTLogicalDeviceScheduler::initial_state(GCFEvent& event, GCFP LogicalDeviceMapIterT it = findClientPort(port); if(it!=m_logicalDeviceMap.end()) { + // get the corresponding schedule: + LogicalDeviceScheduleIterT scheduleIt = m_logicalDeviceSchedule.find(it->second.currentSchedule); + // cancel current timers of this LD + if(scheduleIt != m_logicalDeviceSchedule.end()) + { + it->second.clientPort->cancelTimer(scheduleIt->second.prepareTimerId); + it->second.clientPort->cancelTimer(scheduleIt->second.startTimerId); + it->second.clientPort->cancelTimer(scheduleIt->second.stopTimerId); + LOG_DEBUG(formatString("(%s) Schedule %d cancelled. timers %d, %d and %d also cancelled.",__func__,scheduleIt->first,scheduleIt->second.prepareTimerId,scheduleIt->second.startTimerId,scheduleIt->second.stopTimerId)); + m_logicalDeviceSchedule.erase(scheduleIt); + } // check if the LD can be deleted if no more schedules exist if(!it->second.permanent) { @@ -580,6 +602,7 @@ GCFEvent::TResult AVTLogicalDeviceScheduler::initial_state(GCFEvent& event, GCFP if(checkPrepareTimer(it->first,timerEvent.id)) { port.cancelTimer(timerEvent.id); + LOG_DEBUG(formatString("(%s) PrepareTimer %d triggered and cancelled",__func__,timerEvent.id)); // this is a prepare timer for the schedule of a logical device. claim the device LOGICALDEVICEClaimEvent claimEvent; port.send(claimEvent); @@ -589,6 +612,7 @@ GCFEvent::TResult AVTLogicalDeviceScheduler::initial_state(GCFEvent& event, GCFP else if(checkStartTimer(it->first,timerEvent.id)) { port.cancelTimer(timerEvent.id); + LOG_DEBUG(formatString("(%s) StartTimer %d triggered and cancelled",__func__,timerEvent.id)); // this is a start timer for the schedule of a logical device. resume the device LOGICALDEVICEResumeEvent resumeEvent; port.send(resumeEvent); @@ -596,6 +620,7 @@ GCFEvent::TResult AVTLogicalDeviceScheduler::initial_state(GCFEvent& event, GCFP else if(checkStopTimer(it->first,timerEvent.id)) { port.cancelTimer(timerEvent.id); + LOG_DEBUG(formatString("(%s) StopTimer %d triggered and cancelled",__func__,timerEvent.id)); // this is a stop timer for the schedule of a logical device. suspend the device LOGICALDEVICESuspendEvent suspendEvent; port.send(suspendEvent); @@ -885,6 +910,7 @@ void AVTLogicalDeviceScheduler::handlePropertySetAnswer(GCFEvent& answer) ldIt->second.clientPort->cancelTimer(scheduleIt->second.prepareTimerId); ldIt->second.clientPort->cancelTimer(scheduleIt->second.startTimerId); ldIt->second.clientPort->cancelTimer(scheduleIt->second.stopTimerId); + LOG_DEBUG(formatString("(%s) Schedule %d cancelled. timers %d, %d and %d also cancelled.",__func__,scheduleId,scheduleIt->second.prepareTimerId,scheduleIt->second.startTimerId,scheduleIt->second.stopTimerId)); m_logicalDeviceSchedule.erase(scheduleIt); } else @@ -929,6 +955,7 @@ void AVTLogicalDeviceScheduler::handlePropertySetAnswer(GCFEvent& answer) // schedule exists already. cancel timers, remove from schedule m_timerPort.cancelTimer(it->second.startTimerId); m_timerPort.cancelTimer(it->second.stopTimerId); + LOG_DEBUG(formatString("(%s) Maintenance schedule %d cancelled. timers %d and %d also cancelled.",__func__,scheduleId,it->second.startTimerId,it->second.stopTimerId)); it->second.pMaintenanceProperty.reset(); m_maintenanceSchedule.erase(it); } @@ -953,8 +980,10 @@ void AVTLogicalDeviceScheduler::handlePropertySetAnswer(GCFEvent& answer) boost::posix_time::time_duration delay; delay = startTime - curUTCtime; scheduleInfo.startTimerId = m_timerPort.setTimer(static_cast<long int>(delay.total_seconds())); // set the startTimer + LOG_DEBUG(formatString("(%s) MaintenanceStartTimer %d created",__func__,scheduleInfo.startTimerId)); delay = stopTime - curUTCtime; scheduleInfo.stopTimerId = m_timerPort.setTimer(static_cast<long int>(delay.total_seconds())); // set the startTimer + LOG_DEBUG(formatString("(%s) MaintenanceStopTimer %d created",__func__,scheduleInfo.stopTimerId)); m_maintenanceSchedule[scheduleId] = scheduleInfo; } diff --git a/MAC/APL/PAC/_VirtualTelescope/src/AVTPropertyDefines.h b/MAC/APL/PAC/_VirtualTelescope/src/AVTPropertyDefines.h index 016f6fbbfd771255cd11525a9c572cb1234e16ee..56e4cf0a9c987d7fab160a3b889d2410d7798aa2 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/AVTPropertyDefines.h +++ b/MAC/APL/PAC/_VirtualTelescope/src/AVTPropertyDefines.h @@ -68,7 +68,7 @@ const string TYPE_LCU_PIC_RCU = "TLcuPicRCU"; const string TYPE_LCU_PAC = "TLcuPac"; const string TYPE_LCU_PAC_LogicalDevice = "TLcuPacLogicalDevice"; const string TYPE_LCU_PAC_VT = "TLcuPacVT"; -const string TYPE_LCU_PAC_BF = "TLcuPacBF"; +const string TYPE_LCU_PAC_BF = "TLcuPacSBF"; const string TYPE_LCU_PAC_SRG = "TLcuPacSRG"; const string TYPE_LCU_PAC_SR = "TLcuPacSR"; const string TYPE_LCU_PAC_LogicalDeviceScheduler = "TLcuPacLogicalDeviceScheduler"; diff --git a/MAC/APL/PAC/_VirtualTelescope/src/AVTStationBeamformer.cc b/MAC/APL/PAC/_VirtualTelescope/src/AVTStationBeamformer.cc index 27343bfd300916d65db991b599a1f13e46993391..53c081b61cb5b19641fc7426a84995f45e29e699 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/AVTStationBeamformer.cc +++ b/MAC/APL/PAC/_VirtualTelescope/src/AVTStationBeamformer.cc @@ -65,6 +65,7 @@ AVTStationBeamformer::AVTStationBeamformer(string& taskName, registerProtocol(ABS_PROTOCOL, ABS_PROTOCOL_signalnames); LOG_DEBUG(formatString("AVTStationBeamformer(%s)::%s",getName().c_str(),__func__)); + m_beamServer.setRemoteAddr(getName(),beamServerPortName); } diff --git a/MAC/APL/PAC/_VirtualTelescope/src/AVTStationReceptor.cc b/MAC/APL/PAC/_VirtualTelescope/src/AVTStationReceptor.cc index 63af6a194f0f9e7590b9cb690c2c95a9a74a470a..5d17e9806ea7ae8efb44fb7c49378c5ac96222a8 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/AVTStationReceptor.cc +++ b/MAC/APL/PAC/_VirtualTelescope/src/AVTStationReceptor.cc @@ -273,12 +273,20 @@ void AVTStationReceptor::handlePropertySetAnswer(GCFEvent& answer) GCFPropValueEvent* pPropAnswer=static_cast<GCFPropValueEvent*>(&answer); // is it a required resource status? - map<string,bool>::iterator it=m_requiredResourcesStatus.find(string(pPropAnswer->pPropName)); - if(it != m_requiredResourcesStatus.end()) + string propName(pPropAnswer->pPropName); + bool found=false; + map<string,bool>::iterator it=m_requiredResourcesStatus.begin(); + while(!found && it != m_requiredResourcesStatus.end()) { - GCFPVUnsigned unsignedValue; - unsignedValue.copy(*pPropAnswer->pValue); - it->second = (unsignedValue.getValue() == 0); // true if status is OK + string resName(it->first); + found = (string::npos != propName.find(resName));// propName may include something like System1: + if(found) + { + GCFPVUnsigned unsignedValue; + unsignedValue.copy(*pPropAnswer->pValue); + it->second = (unsignedValue.getValue() == 0); // true if status is OK + } + ++it; } break; } diff --git a/MAC/APL/PAC/_VirtualTelescope/src/AVTVirtualTelescope.cc b/MAC/APL/PAC/_VirtualTelescope/src/AVTVirtualTelescope.cc index c86f579da5fd4ee5f6a5843c63fc1a94482e9116..dc3c211e37f1f0b179d29800ae1e02ed7e43d9e6 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/AVTVirtualTelescope.cc +++ b/MAC/APL/PAC/_VirtualTelescope/src/AVTVirtualTelescope.cc @@ -354,7 +354,7 @@ GCFEvent::TResult AVTVirtualTelescope::concrete_active_state(GCFEvent& event, GC } default: - LOG_DEBUG(formatString("AVTVirtualTelescope(%s)::concrete_preparing_state, default",getName().c_str())); + LOG_DEBUG(formatString("AVTVirtualTelescope(%s)::concrete_active_state, default",getName().c_str())); status = GCFEvent::NOT_HANDLED; break; } diff --git a/MAC/APL/PAC/_VirtualTelescope/src/LogicalDeviceServer.conf.in b/MAC/APL/PAC/_VirtualTelescope/src/LogicalDeviceServer.conf.in index 53168f438ee802c9f3f62896df6812187925b1c0..9af01474ea165ca67a1b4db05601047aaf674dff 100644 --- a/MAC/APL/PAC/_VirtualTelescope/src/LogicalDeviceServer.conf.in +++ b/MAC/APL/PAC/_VirtualTelescope/src/LogicalDeviceServer.conf.in @@ -1,8 +1,8 @@ mac.ns.AVTTest.BeamServer.type=TCP mac.ns.AVTTestMAC2.timerPort.type=TCP mac.ns.LogicalDeviceScheduler.timerPort.type=TCP -mac.top.LogicalDeviceScheduler.BeamServer.remoteservice=ABS:client -#mac.top.LogicalDeviceServer.BeamServer.remoteservice=AVTTest:BeamServer +#mac.top.LogicalDeviceScheduler.BeamServer.remoteservice=ABS:client +mac.top.LogicalDeviceServer.BeamServer.remoteservice=AVTTest:BeamServer mac.top.AVTLogicalDeviceScheduler.client.remoteservice=AVTTestVT1:server mac.top.AVTTestVT1.client.remoteservice=AVTTestBF1:server @@ -13,7 +13,7 @@ mac.LogicalDeviceServer.pvss.cmdline=-proj MAC mac.apl.avt.PREPARETIME=5 mac.apl.avt.BEAMSERVERPORT=BeamServer # number of resources used by a station receptor that may be unavailable -mac.apl.avt.MAX_SR_RESOURCES_UNAVAILABLE=1 +mac.apl.avt.MAX_SR_RESOURCES_UNAVAILABLE=0 # number of station receptors used by a station receptor group that may be unavailable mac.apl.avt.MAX_SRG_RESOURCES_UNAVAILABLE=1 mac.apl.avt.APC_VT1=ApcStationBeamformer_VT1 @@ -36,6 +36,22 @@ mac.ns.BF5.BF5_server.type=TCP mac.ns.BF6.BF6_server.type=TCP mac.ns.BF7.BF7_server.type=TCP mac.ns.BF8.BF8_server.type=TCP +mac.ns.BF1.BeamServer.type=TCP +mac.ns.BF2.BeamServer.type=TCP +mac.ns.BF3.BeamServer.type=TCP +mac.ns.BF4.BeamServer.type=TCP +mac.ns.BF5.BeamServer.type=TCP +mac.ns.BF6.BeamServer.type=TCP +mac.ns.BF7.BeamServer.type=TCP +mac.ns.BF8.BeamServer.type=TCP +mac.top.BF1.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF2.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF3.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF4.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF5.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF6.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF7.BeamServer.remoteservice=AVTTest:BeamServer +mac.top.BF8.BeamServer.remoteservice=AVTTest:BeamServer mac.ns.SRG1.SRG1_server.type=TCP mac.ns.SRG2.SRG2_server.type=TCP @@ -46,259 +62,259 @@ mac.ns.SRG6.SRG6_server.type=TCP mac.ns.SRG7.SRG7_server.type=TCP mac.ns.SRG8.SRG8_server.type=TCP -mac.ns.RCU1.RCU1_server.type=TCP -mac.ns.RCU2.RCU2_server.type=TCP -mac.ns.RCU3.RCU3_server.type=TCP -mac.ns.RCU4.RCU4_server.type=TCP -mac.ns.RCU5.RCU5_server.type=TCP -mac.ns.RCU6.RCU6_server.type=TCP -mac.ns.RCU7.RCU7_server.type=TCP -mac.ns.RCU8.RCU8_server.type=TCP -mac.ns.RCU9.RCU9_server.type=TCP -mac.ns.RCU10.RCU10_server.type=TCP -mac.ns.RCU11.RCU11_server.type=TCP -mac.ns.RCU12.RCU12_server.type=TCP -mac.ns.RCU13.RCU13_server.type=TCP -mac.ns.RCU14.RCU14_server.type=TCP -mac.ns.RCU15.RCU15_server.type=TCP -mac.ns.RCU16.RCU16_server.type=TCP -mac.ns.RCU17.RCU17_server.type=TCP -mac.ns.RCU18.RCU18_server.type=TCP -mac.ns.RCU19.RCU19_server.type=TCP -mac.ns.RCU20.RCU20_server.type=TCP -mac.ns.RCU21.RCU21_server.type=TCP -mac.ns.RCU22.RCU22_server.type=TCP -mac.ns.RCU23.RCU23_server.type=TCP -mac.ns.RCU24.RCU24_server.type=TCP -mac.ns.RCU25.RCU25_server.type=TCP -mac.ns.RCU26.RCU26_server.type=TCP -mac.ns.RCU27.RCU27_server.type=TCP -mac.ns.RCU28.RCU28_server.type=TCP -mac.ns.RCU29.RCU29_server.type=TCP -mac.ns.RCU30.RCU30_server.type=TCP -mac.ns.RCU31.RCU31_server.type=TCP -mac.ns.RCU32.RCU32_server.type=TCP -mac.ns.RCU33.RCU33_server.type=TCP -mac.ns.RCU34.RCU34_server.type=TCP -mac.ns.RCU35.RCU35_server.type=TCP -mac.ns.RCU36.RCU36_server.type=TCP -mac.ns.RCU37.RCU37_server.type=TCP -mac.ns.RCU38.RCU38_server.type=TCP -mac.ns.RCU39.RCU39_server.type=TCP -mac.ns.RCU40.RCU40_server.type=TCP -mac.ns.RCU41.RCU41_server.type=TCP -mac.ns.RCU42.RCU42_server.type=TCP -mac.ns.RCU43.RCU43_server.type=TCP -mac.ns.RCU44.RCU44_server.type=TCP -mac.ns.RCU45.RCU45_server.type=TCP -mac.ns.RCU46.RCU46_server.type=TCP -mac.ns.RCU47.RCU47_server.type=TCP -mac.ns.RCU48.RCU48_server.type=TCP -mac.ns.RCU49.RCU49_server.type=TCP -mac.ns.RCU50.RCU50_server.type=TCP -mac.ns.RCU51.RCU51_server.type=TCP -mac.ns.RCU52.RCU52_server.type=TCP -mac.ns.RCU53.RCU53_server.type=TCP -mac.ns.RCU54.RCU54_server.type=TCP -mac.ns.RCU55.RCU55_server.type=TCP -mac.ns.RCU56.RCU56_server.type=TCP -mac.ns.RCU57.RCU57_server.type=TCP -mac.ns.RCU58.RCU58_server.type=TCP -mac.ns.RCU59.RCU59_server.type=TCP -mac.ns.RCU60.RCU60_server.type=TCP -mac.ns.RCU61.RCU61_server.type=TCP -mac.ns.RCU62.RCU62_server.type=TCP -mac.ns.RCU63.RCU63_server.type=TCP -mac.ns.RCU64.RCU64_server.type=TCP -mac.ns.RCU65.RCU65_server.type=TCP -mac.ns.RCU66.RCU66_server.type=TCP -mac.ns.RCU67.RCU67_server.type=TCP -mac.ns.RCU68.RCU68_server.type=TCP -mac.ns.RCU69.RCU69_server.type=TCP -mac.ns.RCU70.RCU70_server.type=TCP -mac.ns.RCU71.RCU71_server.type=TCP -mac.ns.RCU72.RCU72_server.type=TCP -mac.ns.RCU73.RCU73_server.type=TCP -mac.ns.RCU74.RCU74_server.type=TCP -mac.ns.RCU75.RCU75_server.type=TCP -mac.ns.RCU76.RCU76_server.type=TCP -mac.ns.RCU77.RCU77_server.type=TCP -mac.ns.RCU78.RCU78_server.type=TCP -mac.ns.RCU79.RCU79_server.type=TCP -mac.ns.RCU80.RCU80_server.type=TCP -mac.ns.RCU81.RCU81_server.type=TCP -mac.ns.RCU82.RCU82_server.type=TCP -mac.ns.RCU83.RCU83_server.type=TCP -mac.ns.RCU84.RCU84_server.type=TCP -mac.ns.RCU85.RCU85_server.type=TCP -mac.ns.RCU86.RCU86_server.type=TCP -mac.ns.RCU87.RCU87_server.type=TCP -mac.ns.RCU88.RCU88_server.type=TCP -mac.ns.RCU89.RCU89_server.type=TCP -mac.ns.RCU90.RCU90_server.type=TCP -mac.ns.RCU91.RCU91_server.type=TCP -mac.ns.RCU92.RCU92_server.type=TCP -mac.ns.RCU93.RCU93_server.type=TCP -mac.ns.RCU94.RCU94_server.type=TCP -mac.ns.RCU95.RCU95_server.type=TCP -mac.ns.RCU96.RCU96_server.type=TCP -mac.ns.RCU97.RCU97_server.type=TCP -mac.ns.RCU98.RCU98_server.type=TCP -mac.ns.RCU99.RCU99_server.type=TCP -mac.ns.RCU100.RCU100_server.type=TCP -mac.ns.RCU101.RCU101_server.type=TCP -mac.ns.RCU102.RCU102_server.type=TCP -mac.ns.RCU103.RCU103_server.type=TCP -mac.ns.RCU104.RCU104_server.type=TCP -mac.ns.RCU105.RCU105_server.type=TCP -mac.ns.RCU106.RCU106_server.type=TCP -mac.ns.RCU107.RCU107_server.type=TCP -mac.ns.RCU108.RCU108_server.type=TCP -mac.ns.RCU109.RCU109_server.type=TCP -mac.ns.RCU110.RCU110_server.type=TCP -mac.ns.RCU111.RCU111_server.type=TCP -mac.ns.RCU112.RCU112_server.type=TCP -mac.ns.RCU113.RCU113_server.type=TCP -mac.ns.RCU114.RCU114_server.type=TCP -mac.ns.RCU115.RCU115_server.type=TCP -mac.ns.RCU116.RCU116_server.type=TCP -mac.ns.RCU117.RCU117_server.type=TCP -mac.ns.RCU118.RCU118_server.type=TCP -mac.ns.RCU119.RCU119_server.type=TCP -mac.ns.RCU120.RCU120_server.type=TCP -mac.ns.RCU121.RCU121_server.type=TCP -mac.ns.RCU122.RCU122_server.type=TCP -mac.ns.RCU123.RCU123_server.type=TCP -mac.ns.RCU124.RCU124_server.type=TCP -mac.ns.RCU125.RCU125_server.type=TCP -mac.ns.RCU126.RCU126_server.type=TCP -mac.ns.RCU127.RCU127_server.type=TCP -mac.ns.RCU128.RCU128_server.type=TCP -mac.ns.RCU129.RCU129_server.type=TCP -mac.ns.RCU130.RCU130_server.type=TCP -mac.ns.RCU131.RCU131_server.type=TCP -mac.ns.RCU132.RCU132_server.type=TCP -mac.ns.RCU133.RCU133_server.type=TCP -mac.ns.RCU134.RCU134_server.type=TCP -mac.ns.RCU135.RCU135_server.type=TCP -mac.ns.RCU136.RCU136_server.type=TCP -mac.ns.RCU137.RCU137_server.type=TCP -mac.ns.RCU138.RCU138_server.type=TCP -mac.ns.RCU139.RCU139_server.type=TCP -mac.ns.RCU140.RCU140_server.type=TCP -mac.ns.RCU141.RCU141_server.type=TCP -mac.ns.RCU142.RCU142_server.type=TCP -mac.ns.RCU143.RCU143_server.type=TCP -mac.ns.RCU144.RCU144_server.type=TCP -mac.ns.RCU145.RCU145_server.type=TCP -mac.ns.RCU146.RCU146_server.type=TCP -mac.ns.RCU147.RCU147_server.type=TCP -mac.ns.RCU148.RCU148_server.type=TCP -mac.ns.RCU149.RCU149_server.type=TCP -mac.ns.RCU150.RCU150_server.type=TCP -mac.ns.RCU151.RCU151_server.type=TCP -mac.ns.RCU152.RCU152_server.type=TCP -mac.ns.RCU153.RCU153_server.type=TCP -mac.ns.RCU154.RCU154_server.type=TCP -mac.ns.RCU155.RCU155_server.type=TCP -mac.ns.RCU156.RCU156_server.type=TCP -mac.ns.RCU157.RCU157_server.type=TCP -mac.ns.RCU158.RCU158_server.type=TCP -mac.ns.RCU159.RCU159_server.type=TCP -mac.ns.RCU160.RCU160_server.type=TCP -mac.ns.RCU161.RCU161_server.type=TCP -mac.ns.RCU162.RCU162_server.type=TCP -mac.ns.RCU163.RCU163_server.type=TCP -mac.ns.RCU164.RCU164_server.type=TCP -mac.ns.RCU165.RCU165_server.type=TCP -mac.ns.RCU166.RCU166_server.type=TCP -mac.ns.RCU167.RCU167_server.type=TCP -mac.ns.RCU168.RCU168_server.type=TCP -mac.ns.RCU169.RCU169_server.type=TCP -mac.ns.RCU170.RCU170_server.type=TCP -mac.ns.RCU171.RCU171_server.type=TCP -mac.ns.RCU172.RCU172_server.type=TCP -mac.ns.RCU173.RCU173_server.type=TCP -mac.ns.RCU174.RCU174_server.type=TCP -mac.ns.RCU175.RCU175_server.type=TCP -mac.ns.RCU176.RCU176_server.type=TCP -mac.ns.RCU177.RCU177_server.type=TCP -mac.ns.RCU178.RCU178_server.type=TCP -mac.ns.RCU179.RCU179_server.type=TCP -mac.ns.RCU180.RCU180_server.type=TCP -mac.ns.RCU181.RCU181_server.type=TCP -mac.ns.RCU182.RCU182_server.type=TCP -mac.ns.RCU183.RCU183_server.type=TCP -mac.ns.RCU184.RCU184_server.type=TCP -mac.ns.RCU185.RCU185_server.type=TCP -mac.ns.RCU186.RCU186_server.type=TCP -mac.ns.RCU187.RCU187_server.type=TCP -mac.ns.RCU188.RCU188_server.type=TCP -mac.ns.RCU189.RCU189_server.type=TCP -mac.ns.RCU190.RCU190_server.type=TCP -mac.ns.RCU191.RCU191_server.type=TCP -mac.ns.RCU192.RCU192_server.type=TCP -mac.ns.RCU193.RCU193_server.type=TCP -mac.ns.RCU194.RCU194_server.type=TCP -mac.ns.RCU195.RCU195_server.type=TCP -mac.ns.RCU196.RCU196_server.type=TCP -mac.ns.RCU197.RCU197_server.type=TCP -mac.ns.RCU198.RCU198_server.type=TCP -mac.ns.RCU199.RCU199_server.type=TCP -mac.ns.RCU200.RCU200_server.type=TCP -mac.ns.RCU201.RCU201_server.type=TCP -mac.ns.RCU202.RCU202_server.type=TCP -mac.ns.RCU203.RCU203_server.type=TCP -mac.ns.RCU204.RCU204_server.type=TCP -mac.ns.RCU205.RCU205_server.type=TCP -mac.ns.RCU206.RCU206_server.type=TCP -mac.ns.RCU207.RCU207_server.type=TCP -mac.ns.RCU208.RCU208_server.type=TCP -mac.ns.RCU209.RCU209_server.type=TCP -mac.ns.RCU210.RCU210_server.type=TCP -mac.ns.RCU211.RCU211_server.type=TCP -mac.ns.RCU212.RCU212_server.type=TCP -mac.ns.RCU213.RCU213_server.type=TCP -mac.ns.RCU214.RCU214_server.type=TCP -mac.ns.RCU215.RCU215_server.type=TCP -mac.ns.RCU216.RCU216_server.type=TCP -mac.ns.RCU217.RCU217_server.type=TCP -mac.ns.RCU218.RCU218_server.type=TCP -mac.ns.RCU219.RCU219_server.type=TCP -mac.ns.RCU220.RCU220_server.type=TCP -mac.ns.RCU221.RCU221_server.type=TCP -mac.ns.RCU222.RCU222_server.type=TCP -mac.ns.RCU223.RCU223_server.type=TCP -mac.ns.RCU224.RCU224_server.type=TCP -mac.ns.RCU225.RCU225_server.type=TCP -mac.ns.RCU226.RCU226_server.type=TCP -mac.ns.RCU227.RCU227_server.type=TCP -mac.ns.RCU228.RCU228_server.type=TCP -mac.ns.RCU229.RCU229_server.type=TCP -mac.ns.RCU230.RCU230_server.type=TCP -mac.ns.RCU231.RCU231_server.type=TCP -mac.ns.RCU232.RCU232_server.type=TCP -mac.ns.RCU233.RCU233_server.type=TCP -mac.ns.RCU234.RCU234_server.type=TCP -mac.ns.RCU235.RCU235_server.type=TCP -mac.ns.RCU236.RCU236_server.type=TCP -mac.ns.RCU237.RCU237_server.type=TCP -mac.ns.RCU238.RCU238_server.type=TCP -mac.ns.RCU239.RCU239_server.type=TCP -mac.ns.RCU240.RCU240_server.type=TCP -mac.ns.RCU241.RCU241_server.type=TCP -mac.ns.RCU242.RCU242_server.type=TCP -mac.ns.RCU243.RCU243_server.type=TCP -mac.ns.RCU244.RCU244_server.type=TCP -mac.ns.RCU245.RCU245_server.type=TCP -mac.ns.RCU246.RCU246_server.type=TCP -mac.ns.RCU247.RCU247_server.type=TCP -mac.ns.RCU248.RCU248_server.type=TCP -mac.ns.RCU249.RCU249_server.type=TCP -mac.ns.RCU250.RCU250_server.type=TCP -mac.ns.RCU251.RCU251_server.type=TCP -mac.ns.RCU252.RCU252_server.type=TCP -mac.ns.RCU253.RCU253_server.type=TCP -mac.ns.RCU254.RCU254_server.type=TCP -mac.ns.RCU255.RCU255_server.type=TCP -mac.ns.RCU256.RCU256_server.type=TCP +mac.ns.SR1.SR1_server.type=TCP +mac.ns.SR2.SR2_server.type=TCP +mac.ns.SR3.SR3_server.type=TCP +mac.ns.SR4.SR4_server.type=TCP +mac.ns.SR5.SR5_server.type=TCP +mac.ns.SR6.SR6_server.type=TCP +mac.ns.SR7.SR7_server.type=TCP +mac.ns.SR8.SR8_server.type=TCP +mac.ns.SR9.SR9_server.type=TCP +mac.ns.SR10.SR10_server.type=TCP +mac.ns.SR11.SR11_server.type=TCP +mac.ns.SR12.SR12_server.type=TCP +mac.ns.SR13.SR13_server.type=TCP +mac.ns.SR14.SR14_server.type=TCP +mac.ns.SR15.SR15_server.type=TCP +mac.ns.SR16.SR16_server.type=TCP +mac.ns.SR17.SR17_server.type=TCP +mac.ns.SR18.SR18_server.type=TCP +mac.ns.SR19.SR19_server.type=TCP +mac.ns.SR20.SR20_server.type=TCP +mac.ns.SR21.SR21_server.type=TCP +mac.ns.SR22.SR22_server.type=TCP +mac.ns.SR23.SR23_server.type=TCP +mac.ns.SR24.SR24_server.type=TCP +mac.ns.SR25.SR25_server.type=TCP +mac.ns.SR26.SR26_server.type=TCP +mac.ns.SR27.SR27_server.type=TCP +mac.ns.SR28.SR28_server.type=TCP +mac.ns.SR29.SR29_server.type=TCP +mac.ns.SR30.SR30_server.type=TCP +mac.ns.SR31.SR31_server.type=TCP +mac.ns.SR32.SR32_server.type=TCP +mac.ns.SR33.SR33_server.type=TCP +mac.ns.SR34.SR34_server.type=TCP +mac.ns.SR35.SR35_server.type=TCP +mac.ns.SR36.SR36_server.type=TCP +mac.ns.SR37.SR37_server.type=TCP +mac.ns.SR38.SR38_server.type=TCP +mac.ns.SR39.SR39_server.type=TCP +mac.ns.SR40.SR40_server.type=TCP +mac.ns.SR41.SR41_server.type=TCP +mac.ns.SR42.SR42_server.type=TCP +mac.ns.SR43.SR43_server.type=TCP +mac.ns.SR44.SR44_server.type=TCP +mac.ns.SR45.SR45_server.type=TCP +mac.ns.SR46.SR46_server.type=TCP +mac.ns.SR47.SR47_server.type=TCP +mac.ns.SR48.SR48_server.type=TCP +mac.ns.SR49.SR49_server.type=TCP +mac.ns.SR50.SR50_server.type=TCP +mac.ns.SR51.SR51_server.type=TCP +mac.ns.SR52.SR52_server.type=TCP +mac.ns.SR53.SR53_server.type=TCP +mac.ns.SR54.SR54_server.type=TCP +mac.ns.SR55.SR55_server.type=TCP +mac.ns.SR56.SR56_server.type=TCP +mac.ns.SR57.SR57_server.type=TCP +mac.ns.SR58.SR58_server.type=TCP +mac.ns.SR59.SR59_server.type=TCP +mac.ns.SR60.SR60_server.type=TCP +mac.ns.SR61.SR61_server.type=TCP +mac.ns.SR62.SR62_server.type=TCP +mac.ns.SR63.SR63_server.type=TCP +mac.ns.SR64.SR64_server.type=TCP +mac.ns.SR65.SR65_server.type=TCP +mac.ns.SR66.SR66_server.type=TCP +mac.ns.SR67.SR67_server.type=TCP +mac.ns.SR68.SR68_server.type=TCP +mac.ns.SR69.SR69_server.type=TCP +mac.ns.SR70.SR70_server.type=TCP +mac.ns.SR71.SR71_server.type=TCP +mac.ns.SR72.SR72_server.type=TCP +mac.ns.SR73.SR73_server.type=TCP +mac.ns.SR74.SR74_server.type=TCP +mac.ns.SR75.SR75_server.type=TCP +mac.ns.SR76.SR76_server.type=TCP +mac.ns.SR77.SR77_server.type=TCP +mac.ns.SR78.SR78_server.type=TCP +mac.ns.SR79.SR79_server.type=TCP +mac.ns.SR80.SR80_server.type=TCP +mac.ns.SR81.SR81_server.type=TCP +mac.ns.SR82.SR82_server.type=TCP +mac.ns.SR83.SR83_server.type=TCP +mac.ns.SR84.SR84_server.type=TCP +mac.ns.SR85.SR85_server.type=TCP +mac.ns.SR86.SR86_server.type=TCP +mac.ns.SR87.SR87_server.type=TCP +mac.ns.SR88.SR88_server.type=TCP +mac.ns.SR89.SR89_server.type=TCP +mac.ns.SR90.SR90_server.type=TCP +mac.ns.SR91.SR91_server.type=TCP +mac.ns.SR92.SR92_server.type=TCP +mac.ns.SR93.SR93_server.type=TCP +mac.ns.SR94.SR94_server.type=TCP +mac.ns.SR95.SR95_server.type=TCP +mac.ns.SR96.SR96_server.type=TCP +mac.ns.SR97.SR97_server.type=TCP +mac.ns.SR98.SR98_server.type=TCP +mac.ns.SR99.SR99_server.type=TCP +mac.ns.SR100.SR100_server.type=TCP +mac.ns.SR101.SR101_server.type=TCP +mac.ns.SR102.SR102_server.type=TCP +mac.ns.SR103.SR103_server.type=TCP +mac.ns.SR104.SR104_server.type=TCP +mac.ns.SR105.SR105_server.type=TCP +mac.ns.SR106.SR106_server.type=TCP +mac.ns.SR107.SR107_server.type=TCP +mac.ns.SR108.SR108_server.type=TCP +mac.ns.SR109.SR109_server.type=TCP +mac.ns.SR110.SR110_server.type=TCP +mac.ns.SR111.SR111_server.type=TCP +mac.ns.SR112.SR112_server.type=TCP +mac.ns.SR113.SR113_server.type=TCP +mac.ns.SR114.SR114_server.type=TCP +mac.ns.SR115.SR115_server.type=TCP +mac.ns.SR116.SR116_server.type=TCP +mac.ns.SR117.SR117_server.type=TCP +mac.ns.SR118.SR118_server.type=TCP +mac.ns.SR119.SR119_server.type=TCP +mac.ns.SR120.SR120_server.type=TCP +mac.ns.SR121.SR121_server.type=TCP +mac.ns.SR122.SR122_server.type=TCP +mac.ns.SR123.SR123_server.type=TCP +mac.ns.SR124.SR124_server.type=TCP +mac.ns.SR125.SR125_server.type=TCP +mac.ns.SR126.SR126_server.type=TCP +mac.ns.SR127.SR127_server.type=TCP +mac.ns.SR128.SR128_server.type=TCP +mac.ns.SR129.SR129_server.type=TCP +mac.ns.SR130.SR130_server.type=TCP +mac.ns.SR131.SR131_server.type=TCP +mac.ns.SR132.SR132_server.type=TCP +mac.ns.SR133.SR133_server.type=TCP +mac.ns.SR134.SR134_server.type=TCP +mac.ns.SR135.SR135_server.type=TCP +mac.ns.SR136.SR136_server.type=TCP +mac.ns.SR137.SR137_server.type=TCP +mac.ns.SR138.SR138_server.type=TCP +mac.ns.SR139.SR139_server.type=TCP +mac.ns.SR140.SR140_server.type=TCP +mac.ns.SR141.SR141_server.type=TCP +mac.ns.SR142.SR142_server.type=TCP +mac.ns.SR143.SR143_server.type=TCP +mac.ns.SR144.SR144_server.type=TCP +mac.ns.SR145.SR145_server.type=TCP +mac.ns.SR146.SR146_server.type=TCP +mac.ns.SR147.SR147_server.type=TCP +mac.ns.SR148.SR148_server.type=TCP +mac.ns.SR149.SR149_server.type=TCP +mac.ns.SR150.SR150_server.type=TCP +mac.ns.SR151.SR151_server.type=TCP +mac.ns.SR152.SR152_server.type=TCP +mac.ns.SR153.SR153_server.type=TCP +mac.ns.SR154.SR154_server.type=TCP +mac.ns.SR155.SR155_server.type=TCP +mac.ns.SR156.SR156_server.type=TCP +mac.ns.SR157.SR157_server.type=TCP +mac.ns.SR158.SR158_server.type=TCP +mac.ns.SR159.SR159_server.type=TCP +mac.ns.SR160.SR160_server.type=TCP +mac.ns.SR161.SR161_server.type=TCP +mac.ns.SR162.SR162_server.type=TCP +mac.ns.SR163.SR163_server.type=TCP +mac.ns.SR164.SR164_server.type=TCP +mac.ns.SR165.SR165_server.type=TCP +mac.ns.SR166.SR166_server.type=TCP +mac.ns.SR167.SR167_server.type=TCP +mac.ns.SR168.SR168_server.type=TCP +mac.ns.SR169.SR169_server.type=TCP +mac.ns.SR170.SR170_server.type=TCP +mac.ns.SR171.SR171_server.type=TCP +mac.ns.SR172.SR172_server.type=TCP +mac.ns.SR173.SR173_server.type=TCP +mac.ns.SR174.SR174_server.type=TCP +mac.ns.SR175.SR175_server.type=TCP +mac.ns.SR176.SR176_server.type=TCP +mac.ns.SR177.SR177_server.type=TCP +mac.ns.SR178.SR178_server.type=TCP +mac.ns.SR179.SR179_server.type=TCP +mac.ns.SR180.SR180_server.type=TCP +mac.ns.SR181.SR181_server.type=TCP +mac.ns.SR182.SR182_server.type=TCP +mac.ns.SR183.SR183_server.type=TCP +mac.ns.SR184.SR184_server.type=TCP +mac.ns.SR185.SR185_server.type=TCP +mac.ns.SR186.SR186_server.type=TCP +mac.ns.SR187.SR187_server.type=TCP +mac.ns.SR188.SR188_server.type=TCP +mac.ns.SR189.SR189_server.type=TCP +mac.ns.SR190.SR190_server.type=TCP +mac.ns.SR191.SR191_server.type=TCP +mac.ns.SR192.SR192_server.type=TCP +mac.ns.SR193.SR193_server.type=TCP +mac.ns.SR194.SR194_server.type=TCP +mac.ns.SR195.SR195_server.type=TCP +mac.ns.SR196.SR196_server.type=TCP +mac.ns.SR197.SR197_server.type=TCP +mac.ns.SR198.SR198_server.type=TCP +mac.ns.SR199.SR199_server.type=TCP +mac.ns.SR200.SR200_server.type=TCP +mac.ns.SR201.SR201_server.type=TCP +mac.ns.SR202.SR202_server.type=TCP +mac.ns.SR203.SR203_server.type=TCP +mac.ns.SR204.SR204_server.type=TCP +mac.ns.SR205.SR205_server.type=TCP +mac.ns.SR206.SR206_server.type=TCP +mac.ns.SR207.SR207_server.type=TCP +mac.ns.SR208.SR208_server.type=TCP +mac.ns.SR209.SR209_server.type=TCP +mac.ns.SR210.SR210_server.type=TCP +mac.ns.SR211.SR211_server.type=TCP +mac.ns.SR212.SR212_server.type=TCP +mac.ns.SR213.SR213_server.type=TCP +mac.ns.SR214.SR214_server.type=TCP +mac.ns.SR215.SR215_server.type=TCP +mac.ns.SR216.SR216_server.type=TCP +mac.ns.SR217.SR217_server.type=TCP +mac.ns.SR218.SR218_server.type=TCP +mac.ns.SR219.SR219_server.type=TCP +mac.ns.SR220.SR220_server.type=TCP +mac.ns.SR221.SR221_server.type=TCP +mac.ns.SR222.SR222_server.type=TCP +mac.ns.SR223.SR223_server.type=TCP +mac.ns.SR224.SR224_server.type=TCP +mac.ns.SR225.SR225_server.type=TCP +mac.ns.SR226.SR226_server.type=TCP +mac.ns.SR227.SR227_server.type=TCP +mac.ns.SR228.SR228_server.type=TCP +mac.ns.SR229.SR229_server.type=TCP +mac.ns.SR230.SR230_server.type=TCP +mac.ns.SR231.SR231_server.type=TCP +mac.ns.SR232.SR232_server.type=TCP +mac.ns.SR233.SR233_server.type=TCP +mac.ns.SR234.SR234_server.type=TCP +mac.ns.SR235.SR235_server.type=TCP +mac.ns.SR236.SR236_server.type=TCP +mac.ns.SR237.SR237_server.type=TCP +mac.ns.SR238.SR238_server.type=TCP +mac.ns.SR239.SR239_server.type=TCP +mac.ns.SR240.SR240_server.type=TCP +mac.ns.SR241.SR241_server.type=TCP +mac.ns.SR242.SR242_server.type=TCP +mac.ns.SR243.SR243_server.type=TCP +mac.ns.SR244.SR244_server.type=TCP +mac.ns.SR245.SR245_server.type=TCP +mac.ns.SR246.SR246_server.type=TCP +mac.ns.SR247.SR247_server.type=TCP +mac.ns.SR248.SR248_server.type=TCP +mac.ns.SR249.SR249_server.type=TCP +mac.ns.SR250.SR250_server.type=TCP +mac.ns.SR251.SR251_server.type=TCP +mac.ns.SR252.SR252_server.type=TCP +mac.ns.SR253.SR253_server.type=TCP +mac.ns.SR254.SR254_server.type=TCP +mac.ns.SR255.SR255_server.type=TCP +mac.ns.SR256.SR256_server.type=TCP diff --git a/MAC/APL/PAC/_VirtualTelescope/src/log4cplus.properties.in b/MAC/APL/PAC/_VirtualTelescope/src/log4cplus.properties.in deleted file mode 100644 index 756f84c7dbca2cee3feef2ebb4ae15cd94ff842a..0000000000000000000000000000000000000000 --- a/MAC/APL/PAC/_VirtualTelescope/src/log4cplus.properties.in +++ /dev/null @@ -1,45 +0,0 @@ -# VirtualTelescope log4cplus configuration - -log4cplus.rootLogger=INFO, STDOUT -log4cplus.additivity.ASTRON=FALSE -log4cplus.logger.ASTRON.LOFAR.MAC.APL.PAC.VirtualTelescope.Logger=TRACE, STDOUT, APL_ROLFILE -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.CoreComps.TM.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.CoreComps.SAL.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.CoreComps.PML.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.CoreComps.PA.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.Services.PI.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.Services.SS.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.GCF.Services.PMLlite.Logger=FATAL, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.ExampleLogger=TRACE, EXAMPLEROLFILE -log4cplus.logger.ASTRON.LOFAR.MAC.ExampleLogger2=WARN, STDOUT -log4cplus.logger.ASTRON.LOFAR.MAC.PVSS_Test=INFO, PVSS_TEST_ROLFILE - -log4cplus.appender.STDOUT=log4cplus::ConsoleAppender -log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout -log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%d-%m-%y %H:%M:%S} %-5p %c{2} - %m [%l]%n - -log4cplus.additivity.MAC=FALSE -log4cplus.logger.MAC=TRACE, STDOUT - -log4cplus.appender.APL_ROLFILE=log4cplus::RollingFileAppender -log4cplus.appender.APL_ROLFILE.File=apl_output.log -log4cplus.appender.APL_ROLFILE.MaxFileSize=5MB -#log4cplus.appender.APL_ROLFILE.MaxFileSize=500KB -log4cplus.appender.APL_ROLFILE.MaxBackupIndex=5 -log4cplus.appender.APL_ROLFILE.layout=log4cplus::PatternLayout -log4cplus.appender.APL_ROLFILE.layout.ConversionPattern=%d{%d-%m-%y %H:%M:%S} %-5p %c{2} - %m [%l]%n - -log4cplus.appender.EXAMPLEROLFILE=log4cplus::RollingFileAppender -log4cplus.appender.EXAMPLEROLFILE.File=output_${ENV_VAR}.log -log4cplus.appender.EXAMPLEROLFILE.MaxFileSize=5MB -#log4cplus.appender.EXAMPLEROLFILE.MaxFileSize=500KB -log4cplus.appender.EXAMPLEROLFILE.MaxBackupIndex=5 -log4cplus.appender.EXAMPLEROLFILE.layout=log4cplus::TTCCLayout - -log4cplus.appender.PVSS_TEST_ROLFILE=log4cplus::RollingFileAppender -log4cplus.appender.PVSS_TEST_ROLFILE.File=pvss_test_output_${ENV_VAR}.log -log4cplus.appender.PVSS_TEST_ROLFILE.MaxFileSize=5MB -#log4cplus.appender.PVSS_TEST_ROLFILE.MaxFileSize=500KB -log4cplus.appender.PVSS_TEST_ROLFILE.MaxBackupIndex=5 -log4cplus.appender.PVSS_TEST_ROLFILE.layout=log4cplus::PatternLayout -log4cplus.appender.PVSS_TEST_ROLFILE.layout.ConversionPattern=%d{%m/%d/%y %H:%M:%S},%m%n diff --git a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.cc b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.cc index c02e43aee6f581e7a89041080836746dd59ffec3..9a99a9d82c8a563a68719889eb47a93239775889 100644 --- a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.cc +++ b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.cc @@ -24,8 +24,8 @@ #define SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance "PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance" #define SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance "PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance" #define SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1 "PIC_Rack1_SubRack1_Board1_AP1_RCU1" -#define SCOPE_PIC_Rack1_SubRack1_Board1_AP2_RCU1 "PIC_Rack1_SubRack1_Board1_AP2_RCU1" -#define SCOPE_PIC_Rack1_SubRack1_Board1_AP3_RCU1 "PIC_Rack1_SubRack1_Board1_AP3_RCU1" +#define SCOPE_PIC_Rack2_SubRack1_Board1_AP1_RCU1 "PIC_Rack2_SubRack1_Board1_AP1_RCU1" +#define SCOPE_PIC_Rack3_SubRack1_Board1_AP1_RCU1 "PIC_Rack3_SubRack1_Board1_AP1_RCU1" #define SCOPE_PAC_VT1 "PAC_VT1" #define SCOPE_PAC_VT2 "PAC_VT2" #define SCOPE_PAC_VT3 "PAC_VT3" @@ -115,6 +115,16 @@ using namespace std; TESTTRAN(tempIt); \ } +typedef struct +{ + GCFFsm::State target; + const char* targetName; + const char* testNum; + const char* description; +} TTranTarget; + +std::vector<TTranTarget> g_testSequence; +std::vector<TTranTarget>::iterator g_testSequenceIt; string AVTTestMAC2Task::m_taskName("AVTTestMAC2"); string g_timerPortName("timerPort"); @@ -122,8 +132,6 @@ string g_timerPortName("timerPort"); AVTTestMAC2Task::AVTTestMAC2Task() : GCFTask((State)&AVTTestMAC2Task::initial, m_taskName), Test(m_taskName), - m_testSequence(), - m_testSequenceIt(), m_answer(), m_timerPort(*this, g_timerPortName, GCFPortInterface::SPP, LOGICALDEVICE_PROTOCOL), m_propertysetLDS(SCOPE_PAC_LogicalDeviceScheduler,TYPE_LCU_PAC_LogicalDeviceScheduler.c_str(),&m_answer), @@ -131,35 +139,37 @@ AVTTestMAC2Task::AVTTestMAC2Task() : m_propertysetAP1RCU1Maintenance(SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance,TYPE_LCU_PIC_Maintenance.c_str(),&m_answer), m_propertysetAP1RCU2Maintenance(SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance,TYPE_LCU_PIC_Maintenance.c_str(),&m_answer), m_propertysetAP1RCU1(SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1,TYPE_LCU_PIC_RCU.c_str(),&m_answer), - m_propertysetAP2RCU1(SCOPE_PIC_Rack1_SubRack1_Board1_AP2_RCU1,TYPE_LCU_PIC_RCU.c_str(),&m_answer), - m_propertysetAP3RCU1(SCOPE_PIC_Rack1_SubRack1_Board1_AP3_RCU1,TYPE_LCU_PIC_RCU.c_str(),&m_answer), + m_propertysetAP2RCU1(SCOPE_PIC_Rack2_SubRack1_Board1_AP1_RCU1,TYPE_LCU_PIC_RCU.c_str(),&m_answer), + m_propertysetAP3RCU1(SCOPE_PIC_Rack3_SubRack1_Board1_AP1_RCU1,TYPE_LCU_PIC_RCU.c_str(),&m_answer), m_propertysetVT1(SCOPE_PAC_VT1,TYPE_LCU_PAC_VT.c_str(),&m_answer), m_propertysetVT2(SCOPE_PAC_VT2,TYPE_LCU_PAC_VT.c_str(),&m_answer), m_propertysetVT3(SCOPE_PAC_VT3,TYPE_LCU_PAC_VT.c_str(),&m_answer), m_maintenanceChangedCounter(0), - m_suspendedCounter(0) + m_suspendedCounter(0), + m_propsetLoadedCounter(0), + m_nrOfPropsets(0) { registerProtocol(LOGICALDEVICE_PROTOCOL, LOGICALDEVICE_PROTOCOL_signalnames); m_answer.setTask(this); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_1,1,"3_2_4_1: Start VT, all antennas in maintenance"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_2,2,"3_2_4_2: Start VT, too many antennas in maintenance"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_3,3,"3_2_4_3: Start VT, no antennas in maintenance"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_4,4,"3_2_4_3: Start VT, no antennas in maintenance"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_5,5,"3_2_4_5: Change antenna parameter using the first VT"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_6,6,"3_2_4_5: Change antenna parameter using the first VT"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_7,7,"3_2_4_7: Abort the first VT"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_4_8,8,"3_2_4_8: Change antenna parameter using the second VT"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_5_1,9,"3_2_5_2: Schedule the same VT at non-overlapping timespans"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_5_2,10,"3_2_5_3: Schedule the same VT at overlapping timespans"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_5_3,11,"3_2_5_4: Cancel a VT Schedule"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_5_4,12,"3_2_5_5: Schedule two VT's at the same time"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_5_5,13,"3_2_6_1: Display subband statistics of a running VT"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_6_1,14,"3_2_7_1: Antenna defect, no VT uses this antenna"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_7_1,15,"3_2_7_2: 1 antenna defect, VT keeps on running"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_7_2,16,"3_2_7_3: more antennas defect, VT stops"); - ADDTRANTARGET(m_testSequence,AVTTestMAC2Task::test_3_2_7_3,17,"3_2_7_3: more antennas defect, VT stops"); - m_testSequenceIt = m_testSequence.begin(); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_1,1,"3_2_4_1: Start VT, all antennas in maintenance"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_2,2,"3_2_4_2: Start VT, too many antennas in maintenance"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_3,3,"3_2_4_3: Start VT, no antennas in maintenance"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_4,4,"3_2_4_3: Start VT, no antennas in maintenance"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_5,5,"3_2_4_5: Change antenna parameter using the first VT"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_6,6,"3_2_4_5: Change antenna parameter using the first VT"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_7,7,"3_2_4_7: Abort the first VT"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_4_8,8,"3_2_4_8: Change antenna parameter using the second VT"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_5_1,9,"3_2_5_2: Schedule the same VT at non-overlapping timespans"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_5_2,10,"3_2_5_3: Schedule the same VT at overlapping timespans"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_5_3,11,"3_2_5_4: Cancel a VT Schedule"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_5_4,12,"3_2_5_5: Schedule two VT's at the same time"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_5_5,13,"3_2_6_1: Display subband statistics of a running VT"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_6_1,14,"3_2_7_1: Antenna defect, no VT uses this antenna"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_7_1,15,"3_2_7_2: 1 antenna defect, VT keeps on running"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_7_2,16,"3_2_7_3: more antennas defect, VT stops"); + ADDTRANTARGET(g_testSequence,AVTTestMAC2Task::test_3_2_7_3,17,"3_2_7_3: more antennas defect, VT stops"); + g_testSequenceIt = g_testSequence.begin(); } @@ -184,9 +194,36 @@ GCFEvent::TResult AVTTestMAC2Task::initial(GCFEvent& event, GCFPortInterface& /* break; case F_ENTRY: + { m_timerPort.open(); - NEXTTEST(m_testSequenceIt); + // load ext properties + m_nrOfPropsets=0; + m_propertysetLDS.load(); + m_nrOfPropsets++; + m_propertysetBoard1Maintenance.load(); + m_nrOfPropsets++; + m_propertysetAP1RCU1Maintenance.load(); + m_nrOfPropsets++; + m_propertysetAP1RCU2Maintenance.load(); + m_nrOfPropsets++; + m_propertysetAP1RCU1.load(); + m_nrOfPropsets++; + m_propertysetAP2RCU1.load(); + m_nrOfPropsets++; + m_propertysetAP3RCU1.load(); + m_nrOfPropsets++; + break; + } + + case F_EXTPS_LOADED: + { + m_propsetLoadedCounter++; + if(m_propsetLoadedCounter==m_nrOfPropsets) + { + NEXTTEST(g_testSequenceIt); + } break; + } default: LOG_DEBUG(formatString("AVTTestTask(%s)::%s, default",getName().c_str(),__func__)); @@ -219,7 +256,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac GCFPVUnsigned inMaintenance(1); if(!TESTC(GCF_NO_ERROR==m_propertysetBoard1Maintenance.setValue(PROPNAME_STATUS,inMaintenance))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -228,14 +265,24 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac { if(&p == &m_timerPort) { - if(GCF_NO_ERROR != m_propertysetVT1.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + m_propsetLoadedCounter=0; + m_nrOfPropsets=0; + m_propertysetVT1.load(); + m_nrOfPropsets++; } break; } + case F_EXTPS_LOADED: + { + m_propsetLoadedCounter++; + if(m_propsetLoadedCounter==m_nrOfPropsets) + { + m_propertysetVT1.subscribeProp(PROPNAME_STATUS); + } + break; + } + case F_VCHANGEMSG: { // check which property changed @@ -247,7 +294,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac LOG_INFO(formatString("Value of '%s': %d",pPropAnswer->pPropName,inMaintenance.getValue())); if(!TESTC( inMaintenance.getValue()!=0 )) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } else { @@ -263,10 +310,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR); - if(GCF_NO_ERROR != m_propertysetVT1.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + m_timerPort.setTimer(1.0); // wait a while until the LDS has enabled the VT1 property set } } else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT1)!=0) @@ -275,33 +319,11 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac GCFPVString status; status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); - if(TESTC( status.getValue() == string("Releasing") )) + bool releasing = status.getValue() == string("Releasing"); + if(releasing) { - NEXTTEST(m_testSequenceIt); - } - } - break; - } - - case F_VGETRESP: - { - // check which property changed - GCFPropValueEvent* pPropAnswer=static_cast<GCFPropValueEvent*>(&event); - - if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT1)!=0) - { - // display the value: - GCFPVString status; - status.copy(*pPropAnswer->pValue); - LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); - if( status.getValue() == string("Releasing") ) - { - TESTC(true); - NEXTTEST(m_testSequenceIt); - } - else - { - m_propertysetVT1.requestValue(PROPNAME_STATUS); + TESTC(releasing); + NEXTTEST(g_testSequenceIt); } } break; @@ -309,8 +331,6 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_1(GCFEvent& event, GCFPortInterfac case F_EXIT: { - GCFPVUnsigned outMaintenance(0); - m_propertysetBoard1Maintenance.setValue(PROPNAME_STATUS,outMaintenance); m_propertysetBoard1Maintenance.unsubscribeProp(PROPNAME_STATUS); m_propertysetVT1.unsubscribeProp(PROPNAME_STATUS); break; @@ -343,13 +363,16 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac // put AP1 in maintenance. m_maintenanceChangedCounter=0; + m_propertysetBoard1Maintenance.subscribeProp(PROPNAME_STATUS); m_propertysetAP1RCU1Maintenance.subscribeProp(PROPNAME_STATUS); m_propertysetAP1RCU2Maintenance.subscribeProp(PROPNAME_STATUS); + GCFPVUnsigned outMaintenance(0); GCFPVUnsigned inMaintenance(1); - if(!TESTC(GCF_NO_ERROR==m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,inMaintenance) && + if(!TESTC(GCF_NO_ERROR==m_propertysetBoard1Maintenance.setValue(PROPNAME_STATUS,outMaintenance) && + GCF_NO_ERROR==m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,inMaintenance) && GCF_NO_ERROR==m_propertysetAP1RCU2Maintenance.setValue(PROPNAME_STATUS,inMaintenance))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -371,7 +394,8 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac // check which property changed GCFPropValueEvent* pPropAnswer=static_cast<GCFPropValueEvent*>(&event); - if(strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 || + if(strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_Subrack1_Board1_Maintenance)!=0 || + strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 || strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0) { m_maintenanceChangedCounter++; @@ -379,11 +403,13 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac inMaintenance.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %d",pPropAnswer->pPropName,inMaintenance.getValue())); - if(!TESTC( inMaintenance.getValue()!=0 )) + if(!TESTC( (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_Subrack1_Board1_Maintenance)!=0 && inMaintenance.getValue()==0) || + (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 && inMaintenance.getValue()!=0) || + (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0 && inMaintenance.getValue()!=0) ) ) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } - else if(m_maintenanceChangedCounter==2) + else if(m_maintenanceChangedCounter==3) { // SCHEDULE <scheduleid>,VT,<vt_name>,<bf_name>,<srg_name>,<starttime>,<stoptime>, // <frequency>,<subbands>,<directiontype>,<angle1>,<angle2> @@ -396,7 +422,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+devices+times+freq+subbands+direction); if(!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } if(GCF_NO_ERROR != m_propertysetVT1.subscribeProp(PROPNAME_STATUS)) { @@ -410,11 +436,11 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac GCFPVString status; status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); - bool testOk = ( status.getValue() == string("Releasing") ); - if(testOk) + bool releasing = ( status.getValue() == string("Releasing") ); + if(releasing) { - TESTC(testOk); - NEXTTEST(m_testSequenceIt); + TESTC(releasing); + NEXTTEST(g_testSequenceIt); } } break; @@ -422,9 +448,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_2(GCFEvent& event, GCFPortInterfac case F_EXIT: { - GCFPVUnsigned outMaintenance(0); - m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,outMaintenance); - m_propertysetAP1RCU2Maintenance.setValue(PROPNAME_STATUS,outMaintenance); + m_propertysetBoard1Maintenance.unsubscribeProp(PROPNAME_STATUS); m_propertysetAP1RCU1Maintenance.unsubscribeProp(PROPNAME_STATUS); m_propertysetAP1RCU2Maintenance.unsubscribeProp(PROPNAME_STATUS); m_propertysetVT1.unsubscribeProp(PROPNAME_STATUS); @@ -452,6 +476,23 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_3(GCFEvent& event, GCFPortInterfac case F_INIT: break; + case F_ENTRY: + { + LOG_INFO("Test case 3_2_4_3: Start VT, no antennas in maintenance"); + + // put AP1 in maintenance. + m_maintenanceChangedCounter=0; + m_propertysetAP1RCU1Maintenance.subscribeProp(PROPNAME_STATUS); + m_propertysetAP1RCU2Maintenance.subscribeProp(PROPNAME_STATUS); + GCFPVUnsigned outMaintenance(0); + if(!TESTC(GCF_NO_ERROR==m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,outMaintenance) && + GCF_NO_ERROR==m_propertysetAP1RCU2Maintenance.setValue(PROPNAME_STATUS,outMaintenance))) + { + NEXTTEST(g_testSequenceIt); + } + break; + } + case F_TIMER: { if(&p == &m_timerPort) @@ -464,45 +505,55 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_3(GCFEvent& event, GCFPortInterfac break; } - case F_ENTRY: - { - LOG_INFO("Test case 3_2_4_3: Start VT, no antennas in maintenance"); - // SCHEDULE <scheduleid>,VT,<vt_name>,<bf_name>,<srg_name>,<starttime>,<stoptime>, - // <frequency>,<subbands>,<directiontype>,<angle1>,<angle2> - string cmd("SCHEDULE 3,VT,"); - string devices(string("VT1")+string(",")+string("BF1")+string(",")+string("SRG1")+string(",")); - string times("0,0,"); - string freq("110.0,"); - string subbands("0|1|2|3|4|5|6|7|8|9|10|11,"); - string direction("AZEL,0.0,0.0"); - GCFPVString command(cmd+devices+times+freq+subbands+direction); - if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) - { - NEXTTEST(m_testSequenceIt); - } - if(GCF_NO_ERROR != m_propertysetVT1.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } - break; - } - case F_VCHANGEMSG: { // check which property changed GCFPropValueEvent* pPropAnswer=static_cast<GCFPropValueEvent*>(&event); - if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT1)!=0) + if(strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 || + strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0) + { + m_maintenanceChangedCounter++; + GCFPVUnsigned inMaintenance; + inMaintenance.copy(*pPropAnswer->pValue); + LOG_INFO(formatString("Value of '%s': %d",pPropAnswer->pPropName,inMaintenance.getValue())); + + if(!TESTC( inMaintenance.getValue()==0 )) + { + NEXTTEST(g_testSequenceIt); + } + else if(m_maintenanceChangedCounter==2) + { + // SCHEDULE <scheduleid>,VT,<vt_name>,<bf_name>,<srg_name>,<starttime>,<stoptime>, + // <frequency>,<subbands>,<directiontype>,<angle1>,<angle2> + string cmd("SCHEDULE 3,VT,"); + string devices(string("VT1")+string(",")+string("BF1")+string(",")+string("SRG1")+string(",")); + string times("0,0,"); + string freq("110.0,"); + string subbands("0|1|2|3|4|5|6|7|8|9|10|11,"); + string direction("AZEL,0.0,0.0"); + GCFPVString command(cmd+devices+times+freq+subbands+direction); + if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) + { + NEXTTEST(g_testSequenceIt); + } + if(GCF_NO_ERROR != m_propertysetVT1.subscribeProp(PROPNAME_STATUS)) + { + m_timerPort.setTimer(1.0); + } + } + } + else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT1)!=0) { // the status of the Logical device scheduler has changed GCFPVString status; status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); - bool testOk = ( status.getValue() == string("Active") ); - if(testOk) + bool active = ( status.getValue() == string("Active") ); + if(active) { - TESTC(testOk); - NEXTTEST(m_testSequenceIt); + TESTC(active); + NEXTTEST(g_testSequenceIt); } } break; @@ -510,6 +561,8 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_3(GCFEvent& event, GCFPortInterfac case F_EXIT: { + m_propertysetAP1RCU1Maintenance.unsubscribeProp(PROPNAME_STATUS); + m_propertysetAP1RCU2Maintenance.unsubscribeProp(PROPNAME_STATUS); m_propertysetVT1.unsubscribeProp(PROPNAME_STATUS); break; } @@ -539,14 +592,24 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_4(GCFEvent& event, GCFPortInterfac { if(&p == &m_timerPort) { - if(GCF_NO_ERROR != m_propertysetVT2.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + m_propsetLoadedCounter=0; + m_nrOfPropsets=0; + m_propertysetVT2.load(); + m_nrOfPropsets++; } break; } + case F_EXTPS_LOADED: + { + m_propsetLoadedCounter++; + if(m_propsetLoadedCounter==m_nrOfPropsets) + { + m_propertysetVT2.subscribeProp(PROPNAME_STATUS); + } + break; + } + case F_ENTRY: { LOG_INFO("Test case 3_2_4_4: Start another VT, sharing resources with the first"); @@ -562,14 +625,10 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_4(GCFEvent& event, GCFPortInterfac string subbands("0|1|2|3|4|5|6|7|8|9|10|11,"); string direction("AZEL,0.2,0.0"); GCFPVString command(cmd+devices+times+freq+subbands+direction); - if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) - { - NEXTTEST(m_testSequenceIt); - } - if(GCF_NO_ERROR != m_propertysetVT2.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR); + + m_timerPort.setTimer(1.0); // wait a while until the LDS has enabled the VT2 property set + break; } @@ -587,7 +646,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_4(GCFEvent& event, GCFPortInterfac if(status.getValue() == string("Error")) { TESTC(false); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT2)!=0) @@ -600,7 +659,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_4(GCFEvent& event, GCFPortInterfac if(testOk) { TESTC(testOk); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -645,7 +704,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_5(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -675,7 +734,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_5(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+times+freq+subbands+direction); if (!TESTC(m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else @@ -686,14 +745,14 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_5(GCFEvent& event, GCFPortInterfac if (m_propertysetVT1.setValue(PROPNAME_COMMAND,command) != GCF_NO_ERROR) { TESTC(false); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } } else if(status.getValue() == string("Active")) { TESTC(true); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -738,7 +797,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_6(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -756,7 +815,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_6(GCFEvent& event, GCFPortInterfac LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); if(!TESTC(status.getValue() != string("Error"))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT2)!=0) @@ -779,7 +838,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_6(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+times+freq+subbands+direction); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else @@ -789,14 +848,14 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_6(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } } else if(status.getValue() == string("Active")) { TESTC(true); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -840,7 +899,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_7(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -863,13 +922,13 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_7(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else if(status.getValue() == string("Releasing")) { TESTC(true); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -914,7 +973,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_8(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -932,7 +991,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_8(GCFEvent& event, GCFPortInterfac LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); if(!TESTC(status.getValue() != string("Error"))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT2)!=0) @@ -955,7 +1014,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_8(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+times+freq+subbands+direction); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else @@ -965,14 +1024,14 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_4_8(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } } else if(status.getValue() == string("Active")) { TESTC(true); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -1050,7 +1109,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_1(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+devices+times+freq+subbands+direction); if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1067,7 +1126,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_1(GCFEvent& event, GCFPortInterfac status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); TESTC(status.getValue() != string("Error")); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1131,7 +1190,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_2(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+devices+times+freq+subbands+direction); if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1148,7 +1207,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_2(GCFEvent& event, GCFPortInterfac status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); TESTC(status.getValue() != string("Error")); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1212,7 +1271,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_3(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+devices+times+freq+subbands+direction); if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1228,8 +1287,8 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_3(GCFEvent& event, GCFPortInterfac GCFPVString status; status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); - TESTC(status.getValue() == string("Error")); // Error is good - NEXTTEST(m_testSequenceIt); + TESTC(status.getValue() == string("Error") && "This fails because this feature is not implemented yet"); // Error is good + NEXTTEST(g_testSequenceIt); } break; } @@ -1271,7 +1330,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_4(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd); if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1288,7 +1347,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_4(GCFEvent& event, GCFPortInterfac status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); TESTC(status.getValue() != string("Error")); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1352,7 +1411,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_5(GCFEvent& event, GCFPortInterfac GCFPVString command(cmd+devices+times+freq+subbands+direction); if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1369,7 +1428,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_5_5(GCFEvent& event, GCFPortInterfac status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); TESTC(status.getValue() != string("Error")); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } @@ -1413,8 +1472,8 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_6_1(GCFEvent& event, GCFPortInterfac case F_ENTRY: { LOG_INFO("Test case 3_2_6_1: Display subband statistics of a running VT"); - TESTC(false || "uh oh" ); - NEXTTEST(m_testSequenceIt); + TESTC(false && "This is tested in the RegisterAccess application" ); + NEXTTEST(g_testSequenceIt); break; } default: @@ -1442,14 +1501,24 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_1(GCFEvent& event, GCFPortInterfac { if(&p == &m_timerPort) { - if(GCF_NO_ERROR != m_propertysetVT3.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + m_propsetLoadedCounter=0; + m_nrOfPropsets=0; + m_propertysetVT3.load(); + m_nrOfPropsets++; } break; } + case F_EXTPS_LOADED: + { + m_propsetLoadedCounter++; + if(m_propsetLoadedCounter==m_nrOfPropsets) + { + m_propertysetVT3.subscribeProp(PROPNAME_STATUS); + } + break; + } + case F_ENTRY: { LOG_INFO("Test case 3_2_7_1: Antenna defect, no VT uses this antenna"); @@ -1461,21 +1530,17 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_1(GCFEvent& event, GCFPortInterfac // NOTE: SRG2 uses RCU1 .. RCU4 (= AP1_RCU1,AP1_RCU2,AP2_RCU1,AP2_RCU2) string cmd("SCHEDULE 11,VT,"); - string devices(string("VT3")+string(",")+string("BF3")+string(",")+string("SRG2")+string(",")); + string devices(string("VT3")+string(",")+string("BF3")+string(",")+string("SRG4")+string(",")); string times("0,0,"); string freq("110.0,"); string subbands("0|1|2|3|4|5|6|7|8|9|10|11,"); string direction("AZEL,0.2,0.0"); GCFPVString command(cmd+devices+times+freq+subbands+direction); - if (!TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR)) - { - NEXTTEST(m_testSequenceIt); - } - if(GCF_NO_ERROR != m_propertysetVT3.subscribeProp(PROPNAME_STATUS)) - { - m_timerPort.setTimer(1.0); - } + TESTC(m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR); + + m_timerPort.setTimer(1.0); // wait a while until the LDS has enabled the VT3 property set + break; } @@ -1492,7 +1557,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_1(GCFEvent& event, GCFPortInterfac LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); if(!TESTC(status.getValue() != string("Error"))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } else if(strstr(pPropAnswer->pPropName,SCOPE_PAC_VT3)!=0) @@ -1507,7 +1572,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_1(GCFEvent& event, GCFPortInterfac TESTC(true); GCFPVUnsigned inError(1); TESTC(GCF_NO_ERROR==m_propertysetAP3RCU1.setValue(PROPNAME_STATUS,inError)); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -1548,14 +1613,14 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_2(GCFEvent& event, GCFPortInterfac GCFPVUnsigned inError(1); if(!TESTC(GCF_NO_ERROR==m_propertysetAP1RCU1.setValue(PROPNAME_STATUS,inError))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } else { // get the status of VT3. it should be Active if(!TESTC(GCF_NO_ERROR==m_propertysetVT3.requestValue(PROPNAME_STATUS))) { - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } } break; @@ -1573,7 +1638,7 @@ GCFEvent::TResult AVTTestMAC2Task::test_3_2_7_2(GCFEvent& event, GCFPortInterfac status.copy(*pPropAnswer->pValue); LOG_INFO(formatString("Value of '%s': %s",pPropAnswer->pPropName,status.getValue().c_str())); TESTC(status.getValue() == string("Active")); - NEXTTEST(m_testSequenceIt); + NEXTTEST(g_testSequenceIt); } break; } diff --git a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.h b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.h index 11aeb18321a3c293ac49302b12c84af089f0cb21..78910226cbffb0b957dd2c3d46133ac7e1a7660f 100644 --- a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.h +++ b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestMAC2Task.h @@ -36,14 +36,6 @@ #include "AVTTestAnswer.h" -typedef struct -{ - GCFFsm::State target; - const char* targetName; - const char* testNum; - const char* description; -} TTranTarget; - // forward declaration class GCFEvent; namespace AVT @@ -85,8 +77,6 @@ namespace AVT static string m_taskName; - std::vector<TTranTarget> m_testSequence; - std::vector<TTranTarget>::iterator m_testSequenceIt; AVTTestAnswer m_answer; GCFPort m_timerPort; @@ -102,6 +92,9 @@ namespace AVT GCFExtPropertySet m_propertysetVT3; int m_maintenanceChangedCounter; int m_suspendedCounter; + int m_propsetLoadedCounter; + int m_nrOfPropsets; + }; }; diff --git a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestTask.cc b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestTask.cc index 04063530eced240eac6c43c491faaf13e27ccc7a..e7c707a75288c628a4682c28618d26828394cc7c 100644 --- a/MAC/APL/PAC/_VirtualTelescope/test/AVTTestTask.cc +++ b/MAC/APL/PAC/_VirtualTelescope/test/AVTTestTask.cc @@ -117,7 +117,6 @@ AVTTestTask::AVTTestTask() : m_extPropsetLDS.load(); m_extPropsetLDSWG.load(); - m_extPropsetSBF1.load(); } AVTTestTask::~AVTTestTask() @@ -157,12 +156,8 @@ GCFEvent::TResult AVTTestTask::initial(GCFEvent& event, GCFPortInterface& /*p*/) { m_propsetLDloaded = true; } - else if(strstr(pPropAnswer->pScope, "PAC_VT1_BF1") != 0) - { - m_propsetSBFloaded = true; - } } - if(m_propsetLDloaded && m_propsetLDWGloaded && m_propsetSBFloaded) + if(m_propsetLDloaded && m_propsetLDWGloaded) { if(m_sBeamServerOnly) { @@ -289,8 +284,8 @@ GCFEvent::TResult AVTTestTask::test2(GCFEvent& event, GCFPortInterface& p) LOG_DEBUG(formatString("AVTTestTask(%s)::test3 status changed (%s)",getName().c_str(),statusValue.c_str())); if(statusValue == string("Resumed")) { - TESTC(true); - NEXT_TEST(3,"initialize EPA waveform generator"); + // subscribe to PAC_VT1_BF1 + m_extPropsetSBF1.load(); } else if(statusValue != string("Claimed") && statusValue != string("Prepared")) @@ -302,6 +297,25 @@ GCFEvent::TResult AVTTestTask::test2(GCFEvent& event, GCFPortInterface& p) break; } + case F_EXTPS_LOADED: + { + GCFPropSetAnswerEvent* pPropAnswer=static_cast<GCFPropSetAnswerEvent*>(&event); + if(pPropAnswer->result == GCF_NO_ERROR) + { + if(strstr(pPropAnswer->pScope, "PAC_VT1_BF1") != 0) + { + m_propsetSBFloaded = true; + TESTC(true); + NEXT_TEST(3,"initialize EPA waveform generator"); + } + } + else + { + TESTC(false); + NEXT_TEST(3,"initialize EPA waveform generator"); + } + break; + } case F_DISCONNECTED: { TESTC(false); diff --git a/MAC/APL/PAC/_VirtualTelescope/test/avttest.conf.in b/MAC/APL/PAC/_VirtualTelescope/test/avttest.conf.in index 5055d5f481f02b0790d8e5f34d6388d0b0b0ee00..d7db9ff25510807cf982163d9931530451d59de4 100644 --- a/MAC/APL/PAC/_VirtualTelescope/test/avttest.conf.in +++ b/MAC/APL/PAC/_VirtualTelescope/test/avttest.conf.in @@ -1,5 +1,4 @@ mac.ns.AVTTest.BeamServer.type=TCP -mac.ns.AVTTestMAC2timerPort.type=TCP - +mac.ns.AVTTestMAC2.timerPort.type=TCP mac.avttest.pvss.cmdline=-proj MAC \ No newline at end of file diff --git a/MAC/APL/PAC/_VirtualTelescope/test/avttest_report.txt b/MAC/APL/PAC/_VirtualTelescope/test/avttest_report.txt new file mode 100644 index 0000000000000000000000000000000000000000..bedc4aa0937d8af604f2acef79062f50c2fbaada --- /dev/null +++ b/MAC/APL/PAC/_VirtualTelescope/test/avttest_report.txt @@ -0,0 +1,347 @@ +[blaakmeer@saturnus src]$ ../test/avttest -mac2 +041001 154643,286 [single] TRACE TRC - TRACE module activated +avttest (0), 2004.10.01 15:46:43.300, SYS, INFO, 1, Manager Start, PROJ, MAC, V 3.0 - not initialized +avttest (0), 2004.10.01 15:46:43.441, SYS, INFO, 3, Trying to connect to, (SYS: 0 Data -num 0 CONN: 1) @ localhost:4897 +avttest (0), 2004.10.01 15:46:43.579, SYS, INFO, 4, Connected to, (SYS: 0 Data -num 0 CONN: 1) @ localhost.localdomain +avttest (6), 2004.10.01 15:46:43.911, SYS, INFO, 6, Initialization by Data Manager finished +avttest (6), 2004.10.01 15:46:43.923, SYS, INFO, 3, Trying to connect to, (SYS: 1 Event -num 0 CONN: 1) @ localhost:4998 +avttest (6), 2004.10.01 15:46:44.061, SYS, INFO, 4, Connected to, (SYS: 1 Event -num 0 CONN: 1) @ localhost.localdomain +avttest (6), 2004.10.01 15:46:44.327, SYS, INFO, 102, Waiting for user names/passwords +avttest (6), 2004.10.01 15:46:44.352, SYS, INFO, 103, User names/passwords initialized +041001 154644,627 [single] TRACE2 TRC - data:>mac.top.GCF-PML.client.remoteservice=GCF-PA:provider< +041001 154644,723 [single] TRACE2 TRC - pair:[mac.top.GCF-PML.client.remoteservice][GCF-PA:provider] +041001 154644,865 [single] TRACE2 TRC - data:>mac.ns.GCF-PA.provider.type=TCP< +041001 154644,999 [single] TRACE2 TRC - pair:[mac.ns.GCF-PA.provider.type][TCP] +041001 154645,136 [single] TRACE2 TRC - data:>mac.controller.pvss.cmdline=-proj MAC< +041001 154645,272 [single] TRACE2 TRC - pair:[mac.controller.pvss.cmdline][-proj MAC] +041001 154645,418 [single] TRACE2 TRC - data:>mac.gcf.sb.host=saturnus< +041001 154645,548 [single] TRACE2 TRC - pair:[mac.gcf.sb.host][saturnus] +041001 154645,675 [single] TRACE2 TRC - data:>mac.gcf.sb.port=24000< +041001 154645,802 [single] TRACE2 TRC - pair:[mac.gcf.sb.port][24000] +041001 154645,941 [single] TRACE2 TRC - data:>mac.gcf.sb.range1.host=saturnus.solarsystem< +041001 154646,064 [single] TRACE2 TRC - pair:[mac.gcf.sb.range1.host][saturnus.solarsystem] +041001 154646,189 [single] TRACE2 TRC - data:>mac.gcf.sb.range1.firstPortNumber=24001< +041001 154646,311 [single] TRACE2 TRC - pair:[mac.gcf.sb.range1.firstPortNumber][24001] +041001 154646,434 [single] TRACE2 TRC - data:>mac.gcf.sb.range1.lastPortNumber=25000< +041001 154646,555 [single] TRACE2 TRC - pair:[mac.gcf.sb.range1.lastPortNumber][25000] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (F_INIT (IN)) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (unknown signal) [st/AVTTestMAC2Task.cc:180] +Start (sub)test AVTTestMAC2.1: 3_2_4_1: Start VT, all antennas in maintenance +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::initial (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:180] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::initial, default [st/AVTTestMAC2Task.cc:221] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:46 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_1: Start VT, all antennas in maintenance [:] +Test: (GCF_NO_ERROR==m_propertysetBoard1Maintenance.setValue(PROPNAME_STATUS,inMaintenance)) => succeed [AVTTestMAC2Task.cc:249] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_1, default [st/AVTTestMAC2Task.cc:332] +01-10-04 15:46:46 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:46 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_Maintenance.status': 1 [:] +Test: (inMaintenance.getValue()!=0) => succeed [AVTTestMAC2Task.cc:287] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:303] +01-10-04 15:46:47 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (F_TIMER (IN)) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:48 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:48 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:48 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_1, default [st/AVTTestMAC2Task.cc:332] +01-10-04 15:46:49 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:49 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Idle [:] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Claiming [:] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (unknown signal) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Releasing [:] +Test: (releasing) => succeed [AVTTestMAC2Task.cc:317] +Finish (sub)test AVTTestMAC2.1 Passed: 4 Failed: 0 +Start (sub)test AVTTestMAC2.2: 3_2_4_2: Start VT, too many antennas in maintenance +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_1 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:234] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_2: 7 antennas required, 2 in maintenance, so only 6 available [:] +Test: (GCF_NO_ERROR==m_propertysetBoard1Maintenance.setValue(PROPNAME_STATUS,outMaintenance) && GCF_NO_ERROR==m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,inMaintenance) && GCF_NO_ERROR==m_propertysetAP1RCU2Maintenance.setValue(PROPNAME_STATUS,inMaintenance)) => succeed [AVTTestMAC2Task.cc:365] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_2, default [st/AVTTestMAC2Task.cc:451] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_2, default [st/AVTTestMAC2Task.cc:451] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_2, default [st/AVTTestMAC2Task.cc:451] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_Maintenance.status': 0 [:] +Test: ((strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_Subrack1_Board1_Maintenance)!=0 && inMaintenance.getValue()==0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 && inMaintenance.getValue()!=0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0 && inMaintenance.getValue()!=0)) => succeed [AVTTestMAC2Task.cc:400] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance.status': 1 [:] +Test: ((strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_Subrack1_Board1_Maintenance)!=0 && inMaintenance.getValue()==0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 && inMaintenance.getValue()!=0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0 && inMaintenance.getValue()!=0)) => succeed [AVTTestMAC2Task.cc:400] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance.status': 1 [:] +Test: ((strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_Subrack1_Board1_Maintenance)!=0 && inMaintenance.getValue()==0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance)!=0 && inMaintenance.getValue()!=0) || (strstr(pPropAnswer->pPropName,SCOPE_PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance)!=0 && inMaintenance.getValue()!=0)) => succeed [AVTTestMAC2Task.cc:400] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:415] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:52 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_2, default [st/AVTTestMAC2Task.cc:451] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:57 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Claiming [:] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (unknown signal) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:57 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Releasing [:] +Test: (releasing) => succeed [AVTTestMAC2Task.cc:434] +Finish (sub)test AVTTestMAC2.2 Passed: 6 Failed: 0 +Start (sub)test AVTTestMAC2.3: 3_2_4_3: Start VT, no antennas in maintenance +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_2 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:344] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_3: Start VT, no antennas in maintenance [:] +Test: (GCF_NO_ERROR==m_propertysetAP1RCU1Maintenance.setValue(PROPNAME_STATUS,outMaintenance) && GCF_NO_ERROR==m_propertysetAP1RCU2Maintenance.setValue(PROPNAME_STATUS,outMaintenance)) => succeed [AVTTestMAC2Task.cc:481] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_3, default [st/AVTTestMAC2Task.cc:563] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_3, default [st/AVTTestMAC2Task.cc:563] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_AP1_RCU1_Maintenance.status': 0 [:] +Test: (inMaintenance.getValue()==0) => succeed [AVTTestMAC2Task.cc:513] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 INFO APL.PAC.VirtualTelescope - Value of 'System1:PIC_Rack1_SubRack1_Board1_AP1_RCU2_Maintenance.status': 0 [:] +Test: (inMaintenance.getValue()==0) => succeed [AVTTestMAC2Task.cc:513] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:528] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:46:57 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_3, default [st/AVTTestMAC2Task.cc:563] +01-10-04 15:47:02 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:02 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Claiming [:] +01-10-04 15:47:02 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:02 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Claimed [:] +01-10-04 15:47:02 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:02 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Preparing [:] +01-10-04 15:47:02 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:02 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Suspended [:] +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (unknown signal) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:07 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Active [:] +Test: (active) => succeed [AVTTestMAC2Task.cc:547] +Finish (sub)test AVTTestMAC2.3 Passed: 5 Failed: 0 +Start (sub)test AVTTestMAC2.4: 3_2_4_3: Start VT, no antennas in maintenance +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_3 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:463] +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:07 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_4: Start another VT, sharing resources with the first [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:620] +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_4, default [st/AVTTestMAC2Task.cc:668] +01-10-04 15:47:07 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:07 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +01-10-04 15:47:08 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (F_TIMER (IN)) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:08 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:08 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:08 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_4, default [st/AVTTestMAC2Task.cc:668] +01-10-04 15:47:09 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:09 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Idle [:] +01-10-04 15:47:12 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:12 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Claiming [:] +01-10-04 15:47:12 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:12 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Claimed [:] +01-10-04 15:47:12 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:12 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Preparing [:] +01-10-04 15:47:12 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:12 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Suspended [:] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (unknown signal) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Active [:] +Test: (testOk) => succeed [AVTTestMAC2Task.cc:653] +Finish (sub)test AVTTestMAC2.4 Passed: 2 Failed: 0 +Start (sub)test AVTTestMAC2.5: 3_2_4_5: Change antenna parameter using the first VT +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_4 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:575] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_5: Change antenna parameter using the first VT [:] +Test: (m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:697] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (unknown signal) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_5, default [st/AVTTestMAC2Task.cc:760] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (unknown signal) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Suspended [:] +Test: (m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:727] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (unknown signal) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Preparing [:] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (unknown signal) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Suspended [:] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (unknown signal) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Active [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:746] +Finish (sub)test AVTTestMAC2.5 Passed: 3 Failed: 0 +Start (sub)test AVTTestMAC2.6: 3_2_4_5: Change antenna parameter using the first VT +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_5 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:680] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_6: Change antenna parameter using the second VT [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:790] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_6, default [st/AVTTestMAC2Task.cc:864] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_6, default [st/AVTTestMAC2Task.cc:864] +01-10-04 15:47:17 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:17 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Suspended [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:831] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Preparing [:] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Suspended [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:841] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (unknown signal) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Active [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:849] +Finish (sub)test AVTTestMAC2.6 Passed: 4 Failed: 0 +Start (sub)test AVTTestMAC2.7: 3_2_4_7: Abort the first VT +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_6 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:772] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_7 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:876] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_7: Abort the first VT [:] +Test: (m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:892] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_7 (unknown signal) [st/AVTTestMAC2Task.cc:876] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_7, default [st/AVTTestMAC2Task.cc:936] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_7 (unknown signal) [st/AVTTestMAC2Task.cc:876] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Suspended [:] +Test: (m_propertysetVT1.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:915] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_7 (unknown signal) [st/AVTTestMAC2Task.cc:876] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT1.status': Releasing [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:922] +Finish (sub)test AVTTestMAC2.7 Passed: 3 Failed: 0 +Start (sub)test AVTTestMAC2.8: 3_2_4_8: Change antenna parameter using the second VT +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_7 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:876] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (F_ENTRY (IN)) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Test case 3_2_4_8: Change antenna parameter using the second VT [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:966] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_8, default [t/AVTTestMAC2Task.cc:1052] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_4_8, default [t/AVTTestMAC2Task.cc:1052] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Suspended [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1007] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Preparing [:] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Suspended [:] +Test: (m_propertysetVT2.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1017] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (unknown signal) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT2.status': Active [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:1025] +Finish (sub)test AVTTestMAC2.8 Passed: 4 Failed: 0 +Start (sub)test AVTTestMAC2.9: 3_2_5_2: Schedule the same VT at non-overlapping timespans +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_4_8 (F_EXIT (IN)) [st/AVTTestMAC2Task.cc:948] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_1 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1064] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Test case 3_2_5_1: Schedule VT [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1102] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_1 (unknown signal) [t/AVTTestMAC2Task.cc:1064] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_5_1, default [t/AVTTestMAC2Task.cc:1133] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_1 (unknown signal) [t/AVTTestMAC2Task.cc:1064] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1120] +Finish (sub)test AVTTestMAC2.9 Passed: 2 Failed: 0 +Start (sub)test AVTTestMAC2.10: 3_2_5_3: Schedule the same VT at overlapping timespans +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_1 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1064] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_2 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1145] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Test case 3_2_5_2: Schedule the same VT at non-overlapping timespans [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1183] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_2 (unknown signal) [t/AVTTestMAC2Task.cc:1145] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_5_2, default [t/AVTTestMAC2Task.cc:1214] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_2 (unknown signal) [t/AVTTestMAC2Task.cc:1145] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1201] +Finish (sub)test AVTTestMAC2.10 Passed: 2 Failed: 0 +Start (sub)test AVTTestMAC2.11: 3_2_5_4: Cancel a VT Schedule +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_2 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1145] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_3 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1226] +01-10-04 15:47:18 INFO APL.PAC.VirtualTelescope - Test case 3_2_5_3: Schedule the same VT at overlapping timespans [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1264] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_3 (unknown signal) [t/AVTTestMAC2Task.cc:1226] +01-10-04 15:47:18 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_5_3, default [t/AVTTestMAC2Task.cc:1295] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_3 (unknown signal) [t/AVTTestMAC2Task.cc:1226] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() == string("Error") && "This fails because this feature is not implemented yet") => FAILED!!! [AVTTestMAC2Task.cc:1282] +Finish (sub)test AVTTestMAC2.11 Passed: 1 Failed: 1 +Start (sub)test AVTTestMAC2.12: 3_2_5_5: Schedule two VT's at the same time +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_3 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1226] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_4 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1307] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Test case 3_2_5_4: Cancel a VT Schedule [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1323] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_4 (unknown signal) [t/AVTTestMAC2Task.cc:1307] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_5_4, default [t/AVTTestMAC2Task.cc:1354] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_4 (unknown signal) [t/AVTTestMAC2Task.cc:1307] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1341] +Finish (sub)test AVTTestMAC2.12 Passed: 2 Failed: 0 +Start (sub)test AVTTestMAC2.13: 3_2_6_1: Display subband statistics of a running VT +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_4 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1307] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_5 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1366] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Test case 3_2_5_5: Schedule two VT's at the same time [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1404] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_5 (unknown signal) [t/AVTTestMAC2Task.cc:1366] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_5_5, default [t/AVTTestMAC2Task.cc:1444] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_5 (unknown signal) [t/AVTTestMAC2Task.cc:1366] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1422] +Finish (sub)test AVTTestMAC2.13 Passed: 2 Failed: 0 +Start (sub)test AVTTestMAC2.14: 3_2_7_1: Antenna defect, no VT uses this antenna +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_5_5 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1366] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_6_1 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1456] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Test case 3_2_6_1: Display subband statistics of a running VT [:] +Test: (false && "This is tested in the RegisterAccess application") => FAILED!!! [AVTTestMAC2Task.cc:1467] +Finish (sub)test AVTTestMAC2.14 Passed: 0 Failed: 1 +Start (sub)test AVTTestMAC2.15: 3_2_7_2: 1 antenna defect, VT keeps on running +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_6_1 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1456] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_6_1, default [t/AVTTestMAC2Task.cc:1472] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Test case 3_2_7_1: Antenna defect, no VT uses this antenna [:] +Test: (m_propertysetLDS.setValue(PROPNAME_COMMAND,command) == GCF_NO_ERROR) => succeed [AVTTestMAC2Task.cc:1532] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_7_1, default [t/AVTTestMAC2Task.cc:1581] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1550] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1550] +01-10-04 15:47:19 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:19 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_LogicalDeviceScheduler.status': OK [:] +Test: (status.getValue() != string("Error")) => succeed [AVTTestMAC2Task.cc:1550] +01-10-04 15:47:20 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (F_TIMER (IN)) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:20 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:20 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:20 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_7_1, default [t/AVTTestMAC2Task.cc:1581] +01-10-04 15:47:21 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:21 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Idle [:] +01-10-04 15:47:24 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:24 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Claiming [:] +01-10-04 15:47:24 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:24 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Claimed [:] +01-10-04 15:47:24 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:24 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Preparing [:] +01-10-04 15:47:24 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:24 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Suspended [:] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (unknown signal) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:29 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Active [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:1564] +Test: (GCF_NO_ERROR==m_propertysetAP3RCU1.setValue(PROPNAME_STATUS,inError)) => succeed [AVTTestMAC2Task.cc:1566] +Finish (sub)test AVTTestMAC2.15 Passed: 6 Failed: 0 +Start (sub)test AVTTestMAC2.16: 3_2_7_3: more antennas defect, VT stops +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_1 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1484] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_2 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1593] +01-10-04 15:47:29 INFO APL.PAC.VirtualTelescope - Test case 3_2_7_2: 1 antenna defect, VT keeps on running [:] +Test: (GCF_NO_ERROR==m_propertysetAP1RCU1.setValue(PROPNAME_STATUS,inError)) => succeed [AVTTestMAC2Task.cc:1606] +Test: (GCF_NO_ERROR==m_propertysetVT3.requestValue(PROPNAME_STATUS)) => succeed [AVTTestMAC2Task.cc:1613] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_2 (unknown signal) [t/AVTTestMAC2Task.cc:1593] +01-10-04 15:47:29 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Active [:] +Test: (status.getValue() == string("Active")) => succeed [AVTTestMAC2Task.cc:1632] +Finish (sub)test AVTTestMAC2.16 Passed: 3 Failed: 0 +Start (sub)test AVTTestMAC2.17: 3_2_7_3: more antennas defect, VT stops +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_2 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1593] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_3 (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1656] +01-10-04 15:47:29 INFO APL.PAC.VirtualTelescope - Test case 3_2_7_3: more antennas defect, VT stops [:] +Test: (GCF_NO_ERROR==m_propertysetAP2RCU1.setValue(PROPNAME_STATUS,inError)) => succeed [AVTTestMAC2Task.cc:1670] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_3 (unknown signal) [t/AVTTestMAC2Task.cc:1656] +01-10-04 15:47:29 DEBUG APL.PAC.VirtualTelescope - AVTTestTask(AVTTestMAC2)::test_3_2_7_3, default [t/AVTTestMAC2Task.cc:1704] +01-10-04 15:47:34 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_3 (unknown signal) [t/AVTTestMAC2Task.cc:1656] +01-10-04 15:47:34 INFO APL.PAC.VirtualTelescope - Value of 'System1:PAC_VT3.status': Suspended [:] +Test: (true) => succeed [AVTTestMAC2Task.cc:1690] +Finish (sub)test AVTTestMAC2.17 Passed: 2 Failed: 0 +01-10-04 15:47:34 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::test_3_2_7_3 (F_EXIT (IN)) [t/AVTTestMAC2Task.cc:1656] +01-10-04 15:47:34 DEBUG APL.PAC.VirtualTelescope - AVTTestMAC2Task(AVTTestMAC2)::finished (F_ENTRY (IN)) [t/AVTTestMAC2Task.cc:1716] +Test suite "MAC.APL.PAC VirtualTelescope Test" +========================================= +Test summary "AVTTestMAC2": + Passed: 51 Failed: 2 +Failures: + Test: (status.getValue() == string("Error") && "This fails because this feature is not implemented yet") => FAILED!!! [AVTTestMAC2Task.cc:1282] + Test: (false && "This is tested in the RegisterAccess application") => FAILED!!! [AVTTestMAC2Task.cc:1467] +========================================= diff --git a/MAC/APL/PIC/_RegisterAccess/src/RegisterAccess.conf.in b/MAC/APL/PIC/_RegisterAccess/src/RegisterAccess.conf.in index ff7a1442aba60d089c0fba1438693c8c56f1874f..67f0542b1d278d717b5d7f07f63db84af5603e52 100644 --- a/MAC/APL/PIC/_RegisterAccess/src/RegisterAccess.conf.in +++ b/MAC/APL/PIC/_RegisterAccess/src/RegisterAccess.conf.in @@ -2,8 +2,8 @@ mac.ns.ARATest.ARAtestRSPserver.type=TCP mac.ns.ARATestDriver.ARAtestRSPserver.type=TCP mac.ns.RSP.acceptor.type=TCP -#mac.top.ARA.ARAtestRSPserver.remoteservice=ARATestDriver:ARAtestRSPserver -mac.top.ARA.ARAtestRSPserver.remoteservice=ARATest:ARAtestRSPserver +mac.top.ARA.ARAtestRSPserver.remoteservice=ARATestDriver:ARAtestRSPserver +#mac.top.ARA.ARAtestRSPserver.remoteservice=ARATest:ARAtestRSPserver #mac.top.ARA.ARAtestRSPserver.remoteservice=RSP:acceptor mac.apl.ara.N_RACKS=3 diff --git a/MAC/APL/PIC/_RegisterAccess/test/ARATestDriverTask.cc b/MAC/APL/PIC/_RegisterAccess/test/ARATestDriverTask.cc index 217ebb35ad164119ba0ea60a900624ed652cf594..e059032a67d1d2ff3e0bd684b2aba94870b94cd5 100644 --- a/MAC/APL/PIC/_RegisterAccess/test/ARATestDriverTask.cc +++ b/MAC/APL/PIC/_RegisterAccess/test/ARATestDriverTask.cc @@ -93,14 +93,13 @@ ARATestDriverTask::ARATestDriverTask() : m_systemStatus.board().resize(n_boards_per_subrack); m_systemStatus.rcu().resize(n_rcus); - for (int board = m_systemStatus.board().lbound(blitz::firstDim); board < m_systemStatus.board().ubound(blitz::firstDim); board++) - { - memset(&m_systemStatus.board()(board),0,sizeof(m_systemStatus.board()(board))); - } - for (int rcu = m_systemStatus.rcu().lbound(blitz::firstDim); rcu < m_systemStatus.rcu().ubound(blitz::firstDim); rcu++) - { - memset(&m_systemStatus.rcu()(rcu),0,sizeof(m_systemStatus.rcu()(rcu))); - } + EPA_Protocol::BoardStatus boardStatus; + memset(&boardStatus,0,sizeof(boardStatus)); + m_systemStatus.board()(blitz::Range::all()) = boardStatus; + + EPA_Protocol::RCUStatus rcuStatus; + memset(&rcuStatus,0,sizeof(rcuStatus)); + m_systemStatus.rcu()(blitz::Range::all()) = rcuStatus; m_stats().resize(1,n_rcus,RSP_Protocol::MAX_N_BLPS); @@ -623,7 +622,7 @@ void ARATestDriverTask::updateRCUstatus(string& propName,const GCFPValue* pvalue int rcuNumber = rcu + n_rcus_per_ap*(ap-1) + n_rcus_per_ap*n_aps_per_board*(board-1); uint8 rcuStatus; - rcuStatus = m_systemStatus.rcu()(rcuNumber).status; + rcuStatus = m_systemStatus.rcu()(rcuNumber-1).status; // layout rcu status: @@ -982,7 +981,6 @@ GCFEvent::TResult ARATestDriverTask::enabled(GCFEvent& event, GCFPortInterface& // check which property changed GCFPropValueEvent* pPropAnswer = static_cast<GCFPropValueEvent*>(&event); assert(pPropAnswer); - LOG_INFO(formatString("property changed: %s", pPropAnswer->pPropName)); GCFPVUnsigned pvUnsigned; GCFPVDouble pvDouble; GCFPVBool pvBool; @@ -991,19 +989,19 @@ GCFEvent::TResult ARATestDriverTask::enabled(GCFEvent& event, GCFPortInterface& { case LPT_BOOL: pvBool.copy(*pPropAnswer->pValue); - LOG_INFO(formatString("property value: %d", pvBool.getValue())); + LOG_INFO(formatString("property changed: %s=%d", pPropAnswer->pPropName, pvBool.getValue())); break; case LPT_UNSIGNED: pvUnsigned.copy(*pPropAnswer->pValue); - LOG_INFO(formatString("property changed: %d", pvUnsigned.getValue())); + LOG_INFO(formatString("property changed: %s=%d", pPropAnswer->pPropName, pvUnsigned.getValue())); break; case LPT_DOUBLE: pvDouble.copy(*pPropAnswer->pValue); - LOG_INFO(formatString("property changed: %f", pvDouble.getValue())); + LOG_INFO(formatString("property changed: %s=%f", pPropAnswer->pPropName, pvDouble.getValue())); break; case LPT_STRING: pvString.copy(*pPropAnswer->pValue); - LOG_INFO(formatString("property changed: %s", pvString.getValue().c_str())); + LOG_INFO(formatString("property changed: %s=%s", pPropAnswer->pPropName, pvString.getValue().c_str())); break; case NO_LPT: case LPT_CHAR: @@ -1030,13 +1028,13 @@ GCFEvent::TResult ARATestDriverTask::enabled(GCFEvent& event, GCFPortInterface& // ETH status or RCU status; string propName(pPropAnswer->pPropName); - if(propName.find(string("_Maintenance_"),0) == string::npos) + if(propName.find(string("_Maintenance"),0) == string::npos) { - if(propName.find(string("_ETH_"),0) != string::npos) + if(propName.find(string("_ETH"),0) != string::npos) { updateETHstatus(propName,pPropAnswer->pValue); } - else if(propName.find(string("_BP_"),0) != string::npos) + else if(propName.find(string("_BP"),0) != string::npos) { updateBPstatus(propName,pPropAnswer->pValue); } diff --git a/MAC/Config/log4cplus.properties b/MAC/Config/log4cplus.properties index 881c52aa7db3a407dd494beb528c1f2f797defec..f3d8d9166532dde893cb5bdb1ae1fb267f9770c1 100644 --- a/MAC/Config/log4cplus.properties +++ b/MAC/Config/log4cplus.properties @@ -7,4 +7,5 @@ log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout log4cplus.appender.STDOUT.layout.ConversionPattern=%D{%d-%m-%y %H:%M:%S} %-5p %c{3} - %m [%.25l]%n log4cplus.additivity.MAC=FALSE -log4cplus.logger.MAC=TRACE, STDOUT \ No newline at end of file +log4cplus.logger.MAC=TRACE, STDOUT +log4cplus.logger.MAC.GCF=ERROR, STDOUT \ No newline at end of file diff --git a/MAC/Test/Suite/src/test.cpp b/MAC/Test/Suite/src/test.cpp index 26de71982320148ec76b02567cb5e421d8943e78..03fd556690f3579a0b0760a30a812d81400e3171 100644 --- a/MAC/Test/Suite/src/test.cpp +++ b/MAC/Test/Suite/src/test.cpp @@ -57,7 +57,7 @@ void Test::do_fail(const std::string& lbl, ++m_nFail; m_subTests[m_curSubTest].failed++; string failure; - failure += "Test: "; + failure += "Test: (" + m_curSubTest +") "; if (descr) failure += descr; if (lbl.length() > 0) failure += " (" + lbl + ")"; failure += LOFAR::formatString(" => FAILED!!! [%s:%d]", (strrchr(fname, '/') + 1), lineno);