Ejemplo n.º 1
0
def __clientRPC(function, params):
    alarm = Alarm()
    timeStamp = TimeStamp()

    ntnv = NTNameValue(function, params)

    # now do issue + wait
    channelRPC = ChannelRPC("masarService")
    channelRPC.issueConnect()
    if not channelRPC.waitConnect(1.0):
        print "error when waiting connection.", channelRPC.getMessage()
        exit(1)
    channelRPC.issueRequest(ntnv.getNTNameValue(), False)
    result = channelRPC.waitResponse()
    if result is None:
        print channelRPC.getMessage()
        exit(1)
#    print "problem to get nttable using getNTTable()"
    if function in ["retrieveSnapshot", "getLiveMachine", "saveSnapshot"]:
        result = NTMultiChannel(result)
    elif function in [
            "retrieveServiceEvents", "retrieveServiceConfigs",
            "retrieveServiceConfigProps"
    ]:
        result = NTTable(result)
        label = result.getLabels()
        print "label", label
        print result.getPVStructure()
    elif function == "updateSnapshotEvent":
        result = NTScalar(result)


#    print "Problem above"
#     print result

    result.getAlarm(alarm)
    # print alarm

    result.getTimeStamp(timeStamp)
    # print timeStamp

    # numberValues = result.getNumberValues()
    # print "numberValues", numberValues

    #
    #    i = 0
    #    while i < numberValues :
    #        value = nttable.getValue(i)
    #        print "value",label[i],value
    #        i += 1
    return result
Ejemplo n.º 2
0
    def testNTMultiChannel(self):
        result = self.gatherv3data.get()
        self.assertTrue(result, "Connection failed with message:  " + self.gatherv3data.getMessage())
        pvstructure = self.gatherv3data.getPVStructure()
        ntmultichannel = NTMultiChannel(pvstructure)

        alarm = Alarm()
        ntmultichannel.getAlarm(alarm)
        self.assertIn(alarm.getStatus(), alarm.getStatusChoices())
        self.assertIn(alarm.getSeverity(), alarm.getSeverityChoices())

        time_stamp = TimeStamp()
        ntmultichannel.getTimeStamp(time_stamp)
        self.assertEqual(3, len(str(time_stamp).split(':')))  # Time stamp format test

        channel_count = ntmultichannel.getNumberChannel()

        self.assertEqual(channel_count, len(self.names))

        test_val_list = (0, 1, 'zero', 'one', 10, 'string value', 1.9, (), (), (), (), (), ())
        self.assertEqual(ntmultichannel.getValue(), test_val_list)

        self.assertEqual(ntmultichannel.getChannelName(), self.names)

        test_connected_list = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        self.assertEqual(ntmultichannel.getIsConnected(), test_connected_list)

        test_severity_list = (3, 0, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3)
        self.assertEqual(ntmultichannel.getSeverity(), test_severity_list)

        test_status_list = (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3)
        self.assertEqual(ntmultichannel.getStatus(), test_status_list)

        test_message_list = ('UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM')
        self.assertEqual(ntmultichannel.getMessage(), test_message_list)

        test_dbrtype_list = (0, 5, 0, 0, 5, 0, 6, 4, 0, 1, 5, 2, 6)
        self.assertEqual(ntmultichannel.getDbrType(), test_dbrtype_list)

        test_secondspastepoch_list = (631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000, 631152000)
        self.assertEqual(ntmultichannel.getSecondsPastEpoch(), test_secondspastepoch_list)

        test_nanoseconds_list = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
        self.assertEqual(ntmultichannel.getNanoseconds(), test_nanoseconds_list)

        test_usertag_list = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
        self.assertEqual(ntmultichannel.getUserTag(), test_usertag_list)

        self.assertEqual(type(ntmultichannel.getDescriptor()), StringType)
Ejemplo n.º 3
0
    def ntnv_asserts(self, function, params):

        alarm = Alarm()
        time_stamp = TimeStamp()
        ntnv = NTNameValue(function, params)
        self.channelRPC.issueRequest(ntnv.getNTNameValue(), False)
        response = self.channelRPC.waitResponse()
        self.assertNotEqual(response, None, "ChannelRPC connection failure.")
        result = NTMultiChannel(response)
        result.getAlarm(alarm)
        result.getTimeStamp(time_stamp)
        self.assertEqual(3, len(str(time_stamp).split(":")))  # Timestamp string format test

        self.assertIn(alarm.getStatus(), alarm.getStatusChoices())
        self.assertIn(alarm.getSeverity(), alarm.getSeverityChoices())
Ejemplo n.º 4
0
    def ntnv_asserts(self, function, params):

        alarm = Alarm()
        time_stamp = TimeStamp()
        ntnv = NTNameValue(function, params)
        self.channelRPC.issueRequest(ntnv.getNTNameValue(), False)
        response = self.channelRPC.waitResponse()
        self.assertNotEqual(response, None, "ChannelRPC connection failure.")
        result = NTMultiChannel(response)
        result.getAlarm(alarm)
        result.getTimeStamp(time_stamp)
        self.assertEqual(3, len(
            str(time_stamp).split(":")))  # Timestamp string format test

        self.assertIn(alarm.getStatus(), alarm.getStatusChoices())
        self.assertIn(alarm.getSeverity(), alarm.getSeverityChoices())
Ejemplo n.º 5
0
def __clientRPC(function, params):
    alarm = Alarm()
    timeStamp = TimeStamp()

    ntnv = NTNameValue(function, params)

    # now do issue + wait
    channelRPC = ChannelRPC("masarService")
    channelRPC.issueConnect()
    if not channelRPC.waitConnect(1.0):
        print "error when waiting connection.", channelRPC.getMessage()
        exit(1)
    channelRPC.issueRequest(ntnv.getNTNameValue(), False)
    result = channelRPC.waitResponse()
    if result is None:
        print channelRPC.getMessage()
        exit(1)
#    print "problem to get nttable using getNTTable()"
    if function in ["retrieveSnapshot", "getLiveMachine", "saveSnapshot"]:
        result = NTMultiChannel(result)
    elif function in ["retrieveServiceEvents", "retrieveServiceConfigs", "retrieveServiceConfigProps"]:
        result = NTTable(result)
        label = result.getLabels()
        print "label", label
        print result.getPVStructure()
    elif function == "updateSnapshotEvent":
        result = NTScalar(result)
#    print "Problem above"
#     print result

    result.getAlarm(alarm)
    # print alarm

    result.getTimeStamp(timeStamp)
    # print timeStamp

    # numberValues = result.getNumberValues()
    # print "numberValues", numberValues

#
#    i = 0
#    while i < numberValues :
#        value = nttable.getValue(i)
#        print "value",label[i],value
#        i += 1
    return result
Ejemplo n.º 6
0
     'masarExampleCharArray',
     'masarExampleUCharArray',
     'masarExampleStringArray',
     'masarExampleShortArray',
     'masarExampleLongArray',
     'masarExampleFloatArray',
     'masarExampleDoubleArray',
     )
 gatherV3Data = GatherV3Data(names)
 gatherV3Data.connect(2.0)
 gatherV3Data.get()
 pvStructure = gatherV3Data.getPVStructure()
 ntmultiChannel = NTMultiChannel(pvStructure)
 print ntmultiChannel
 alarm = Alarm()
 ntmultiChannel.getAlarm(alarm)
 print "alarm:" ,alarm
 timeStamp = TimeStamp()
 ntmultiChannel.getTimeStamp(timeStamp)
 print "timeStamp:",timeStamp
 print "numberChannel:" ,ntmultiChannel.getNumberChannel();
 print "value:"
 print ntmultiChannel.getValue();
 print "channelName"
 print ntmultiChannel.getChannelName();
 print "isConnected:"
 print ntmultiChannel.getIsConnected();
 print "severity:"
 print ntmultiChannel.getSeverity();
 print "status:"
 print ntmultiChannel.getStatus();
Ejemplo n.º 7
0
    def testNTMultiChannel(self):
        result = self.gatherv3data.get()
        self.assertTrue(
            result, "Connection failed with message:  " +
            self.gatherv3data.getMessage())
        pvstructure = self.gatherv3data.getPVStructure()
        ntmultichannel = NTMultiChannel(pvstructure)

        alarm = Alarm()
        ntmultichannel.getAlarm(alarm)
        self.assertIn(alarm.getStatus(), alarm.getStatusChoices())
        self.assertIn(alarm.getSeverity(), alarm.getSeverityChoices())

        time_stamp = TimeStamp()
        ntmultichannel.getTimeStamp(time_stamp)
        self.assertEqual(3, len(
            str(time_stamp).split(':')))  # Time stamp format test

        channel_count = ntmultichannel.getNumberChannel()

        self.assertEqual(channel_count, len(self.names))

        test_val_list = (0, 1, 'zero', 'one', 10, 'string value', 1.9, (), (),
                         (), (), (), ())
        self.assertEqual(ntmultichannel.getValue(), test_val_list)

        self.assertEqual(ntmultichannel.getChannelName(), self.names)

        test_connected_list = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        self.assertEqual(ntmultichannel.getIsConnected(), test_connected_list)

        test_severity_list = (3, 0, 3, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3)
        self.assertEqual(ntmultichannel.getSeverity(), test_severity_list)

        test_status_list = (3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3)
        self.assertEqual(ntmultichannel.getStatus(), test_status_list)

        test_message_list = ('UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM',
                             'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM',
                             'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM',
                             'UDF_ALARM', 'UDF_ALARM', 'UDF_ALARM',
                             'UDF_ALARM')
        self.assertEqual(ntmultichannel.getMessage(), test_message_list)

        test_dbrtype_list = (0, 5, 0, 0, 5, 0, 6, 4, 0, 1, 5, 2, 6)
        self.assertEqual(ntmultichannel.getDbrType(), test_dbrtype_list)

        test_secondspastepoch_list = (631152000, 631152000, 631152000,
                                      631152000, 631152000, 631152000,
                                      631152000, 631152000, 631152000,
                                      631152000, 631152000, 631152000,
                                      631152000)
        self.assertEqual(ntmultichannel.getSecondsPastEpoch(),
                         test_secondspastepoch_list)

        test_nanoseconds_list = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
        self.assertEqual(ntmultichannel.getNanoseconds(),
                         test_nanoseconds_list)

        test_usertag_list = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
        self.assertEqual(ntmultichannel.getUserTag(), test_usertag_list)

        self.assertEqual(type(ntmultichannel.getDescriptor()), StringType)
Ejemplo n.º 8
0
     'masarExampleCharArray',
     'masarExampleUCharArray',
     'masarExampleStringArray',
     'masarExampleShortArray',
     'masarExampleLongArray',
     'masarExampleFloatArray',
     'masarExampleDoubleArray',
 )
 gatherV3Data = GatherV3Data(names)
 gatherV3Data.connect(2.0)
 gatherV3Data.get()
 pvStructure = gatherV3Data.getPVStructure()
 ntmultiChannel = NTMultiChannel(pvStructure)
 print ntmultiChannel
 alarm = Alarm()
 ntmultiChannel.getAlarm(alarm)
 print "alarm:", alarm
 timeStamp = TimeStamp()
 ntmultiChannel.getTimeStamp(timeStamp)
 print "timeStamp:", timeStamp
 print "numberChannel:", ntmultiChannel.getNumberChannel()
 print "value:"
 print ntmultiChannel.getValue()
 print "channelName"
 print ntmultiChannel.getChannelName()
 print "isConnected:"
 print ntmultiChannel.getIsConnected()
 print "severity:"
 print ntmultiChannel.getSeverity()
 print "status:"
 print ntmultiChannel.getStatus()