Skip to content

Commit

Permalink
Add functional test for a messages with many signals.
Browse files Browse the repository at this point in the history
See #306 - still can't get it to fail. Is it UART?
  • Loading branch information
peplin committed Oct 10, 2014
1 parent b4d5dbf commit a7b0eeb
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 1 deletion.
26 changes: 25 additions & 1 deletion script/functional_test.py
Expand Up @@ -157,7 +157,6 @@ class SimpleVehicleMessageTests(object):

def setUp(self):
self.message1_data = "0x0000000000000dac"
self.data = "0x1234"
self.expected_signal_value = 0xdac

def test_receive_simple_vehicle_message_bus1(self):
Expand Down Expand Up @@ -439,3 +438,28 @@ class SignalDecoderTestsJson(JsonBaseTests, SignalDecoderTests):

class SignalDecoderTestsProtobuf(ProtobufBaseTests, SignalDecoderTests):
pass


class ManySignalsPerMessageTests(JsonBaseTests):
"""See https://github.com/openxc/vi-firmware/issues/306
"""

def setUp(self):
super(ManySignalsPerMessageTests, self).setUp()
self.vi.set_acceptance_filter_bypass(1, True)
self.message1_data = "0x3901A40351033204"
self.message2_data = "0xB3033403CA01E001"

def test_receive_all_16_signals(self):
ok_(self.vi.write(bus=1, id=0x663, data=self.message1_data))
ok_(self.vi.write(bus=1, id=0x664, data=self.message2_data))
keys = set()
while True:
try:
message = self.simple_vehicle_message_queue.get(timeout=.5)
keys.add(message['name'])
self.simple_vehicle_message_queue.task_done()
except Empty:
break
for i in range(1, 16):
ok_("signal%d" % i in keys, "Missing signal %d" % i)
26 changes: 26 additions & 0 deletions src/tests/functional_test_config.json
Expand Up @@ -49,6 +49,32 @@
"bit_size": 8
}
}
},
"0x663": {
"bus": "unfiltered_bus",
"signals": {
"signal1": {"bit_position": 0,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal2": {"bit_position": 8,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal3": {"bit_position": 16,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal4": {"bit_position": 24,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal5": {"bit_position": 32,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal6": {"bit_position": 40,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal7": {"bit_position": 48,"bit_size": 8,"factor": 0.1,"offset": 0},
"signal8": {"bit_position": 56,"bit_size": 8,"factor": 0.1,"offset": 0}
}
},
"0x664": {
"bus": "unfiltered_bus",
"signals": {
"signal9":{"bit_position": 0,"bit_size":8,"factor":0.1,"offset":0},
"signal10":{"bit_position": 8,"bit_size":8,"factor":0.1,"offset":0},
"signal11":{"bit_position":16,"bit_size":8,"factor":0.1,"offset":0},
"signal12":{"bit_position":24,"bit_size":8,"factor":0.1,"offset":0},
"signal13":{"bit_position":32,"bit_size":8,"factor":0.1,"offset":0},
"signal14":{"bit_position":40,"bit_size":8,"factor":0.1,"offset":0},
"signal15":{"bit_position":48,"bit_size":8,"factor":0.1,"offset":0},
"signal16":{"bit_position":56,"bit_size":8,"factor":0.1,"offset":0}
}
}
}
}

0 comments on commit a7b0eeb

Please sign in to comment.