def test_record_writer(writer_path): """ record writer. """ fwriter = record.RecordWriter() if not fwriter.open(writer_path): print "writer open failed!" return print "+++ begin to writer..." fwriter.write_channel(CHAN_1, MSG_TYPE, STR_10B) fwriter.write_message(CHAN_1, STR_10B, 1000) msg = SimpleMessage() msg.text = "AAAAAA" file_desc = msg.DESCRIPTOR.file proto = FileDescriptorProto() file_desc.CopyToProto(proto) proto.name = file_desc.name desc_str = proto.SerializeToString() fwriter.write_channel('chatter_a', msg.DESCRIPTOR.full_name, desc_str) fwriter.write_message('chatter_a', msg, 998, False) fwriter.write_message("chatter_a", msg.SerializeToString(), 999) fwriter.close()
def test_record_writer_read(self): """ unit test of record. """ self.assertTrue(cyber.init()) # writer fwriter = record.RecordWriter() fwriter.set_size_fileseg(200) fwriter.set_intervaltime_fileseg(10) self.assertTrue(fwriter.open(TEST_RECORD_FILE)) fwriter.write_channel(CHAN_1, MSG_TYPE, STR_10B) fwriter.write_message(CHAN_1, STR_10B, TIME) self.assertEqual(1, fwriter.get_messagenumber(CHAN_1)) self.assertEqual(MSG_TYPE, fwriter.get_messagetype(CHAN_1)) self.assertEqual(STR_10B, fwriter.get_protodesc(CHAN_1)) fwriter.close() # reader fread = record.RecordReader(TEST_RECORD_FILE) channel_list = fread.get_channellist() self.assertEqual(1, len(channel_list)) self.assertEqual(CHAN_1, channel_list[0]) for channelname, msg, datatype, timestamp in fread.read_messages(): # print "+++" # print channelname # print msg, datatype, timestamp self.assertEqual(CHAN_1, channelname) self.assertEqual(STR_10B, msg) self.assertEqual(TIME, timestamp) self.assertEqual(1, fread.get_messagenumber(channelname)) self.assertEqual(MSG_TYPE, datatype) self.assertEqual(MSG_TYPE, fread.get_messagetype(channelname)) # print "pbdesc -> %s" % fread.get_protodesc(channelname) msg = record_pb2.Header() header_msg = fread.get_headerstring() msg.ParseFromString(header_msg) self.assertEqual(1, msg.major_version) self.assertEqual(0, msg.minor_version) self.assertEqual(1, msg.chunk_number) self.assertEqual(1, msg.channel_number) self.assertTrue(msg.is_complete) cyber.shutdown()
def test_record_writer(writer_path): """ Record writer. """ fwriter = record.RecordWriter() fwriter.set_size_fileseg(0) fwriter.set_intervaltime_fileseg(0) if not fwriter.open(writer_path): print('Failed to open record writer!') return print('+++ Begin to writer +++') # Writer 2 SimpleMessage msg = SimpleMessage() msg.text = "AAAAAA" file_desc = msg.DESCRIPTOR.file proto = FileDescriptorProto() file_desc.CopyToProto(proto) proto.name = file_desc.name desc_str = proto.SerializeToString() print(msg.DESCRIPTOR.full_name) fwriter.write_channel( 'simplemsg_channel', msg.DESCRIPTOR.full_name, desc_str) fwriter.write_message('simplemsg_channel', msg, 990, False) fwriter.write_message('simplemsg_channel', msg.SerializeToString(), 991) # Writer 2 Chatter msg = Chatter() msg.timestamp = 99999 msg.lidar_timestamp = 100 msg.seq = 1 file_desc = msg.DESCRIPTOR.file proto = FileDescriptorProto() file_desc.CopyToProto(proto) proto.name = file_desc.name desc_str = proto.SerializeToString() print(msg.DESCRIPTOR.full_name) fwriter.write_channel('chatter_a', msg.DESCRIPTOR.full_name, desc_str) fwriter.write_message('chatter_a', msg, 992, False) msg.seq = 2 fwriter.write_message("chatter_a", msg.SerializeToString(), 993) fwriter.close()
def test_record_writer_read(self): """ unit test of record. """ # writer fwriter = record.RecordWriter() fwriter.set_size_fileseg(0) fwriter.set_intervaltime_fileseg(0) self.assertTrue(fwriter.open(TEST_RECORD_FILE)) fwriter.write_channel(CHAN_1, MSG_TYPE, PROTO_DESC) fwriter.write_message(CHAN_1, MSG_DATA, TIME) self.assertEqual(1, fwriter.get_messagenumber(CHAN_1)) self.assertEqual(MSG_TYPE, fwriter.get_messagetype(CHAN_1)) self.assertEqual(PROTO_DESC, fwriter.get_protodesc(CHAN_1)) fwriter.close() # reader fread = record.RecordReader(TEST_RECORD_FILE) channel_list = fread.get_channellist() self.assertEqual(1, len(channel_list)) self.assertEqual(CHAN_1, channel_list[0]) header = record_pb2.Header() header.ParseFromString(fread.get_headerstring()) self.assertEqual(1, header.major_version) self.assertEqual(0, header.minor_version) self.assertEqual(1, header.chunk_number) self.assertEqual(1, header.channel_number) self.assertTrue(header.is_complete) for channelname, msg, datatype, timestamp in fread.read_messages(): self.assertEqual(CHAN_1, channelname) self.assertEqual(MSG_DATA, msg) self.assertEqual(TIME, timestamp) self.assertEqual(1, fread.get_messagenumber(channelname)) self.assertEqual(MSG_TYPE, datatype) self.assertEqual(MSG_TYPE, fread.get_messagetype(channelname))
def test_record_trans(reader_path): """ Record trans. """ fwriter = record.RecordWriter() if not fwriter.open(TEST_RECORD_FILE): print('Failed to open record writer!') return print('+++ Begin to trans +++') fread = record.RecordReader(reader_path) count = 0 for channelname, msg, datatype, timestamp in fread.read_messages(): # print channelname, timestamp, fread.get_messagenumber(channelname) desc = fread.get_protodesc(channelname) fwriter.write_channel(channelname, datatype, desc) fwriter.write_message(channelname, msg, timestamp) count += 1 print('-' * 80) print('Message count: %d' % count) print('Channel info: ') channel_list = fread.get_channellist() print('Channel count: %d' % len(channel_list)) print(channel_list)
def test_record_trans(reader_path): """ Record trans. """ fwriter = record.RecordWriter() if not fwriter.open(TEST_RECORD_FILE): print "writer open failed!" return print "+++ begin to trans..." fread = record.RecordReader(reader_path) count = 0 for channelname, msg, datatype, timestamp in fread.read_messages(): # print channelname, timestamp, fread.get_messagenumber(channelname) desc = fread.get_protodesc(channelname) fwriter.write_channel(channelname, datatype, desc) fwriter.write_message(channelname, msg, timestamp) count = count + 1 print "-" * 80 print "message count is ", count print "channel info:" channel_list = fread.get_channellist() print "channel count is ", len(channel_list) print channel_list