summaryrefslogtreecommitdiff
path: root/maximus/python/test/test_simu.py
diff options
context:
space:
mode:
authorburet2007-11-30 16:34:27 +0000
committerburet2007-11-30 16:34:27 +0000
commit211781985a3a98d028900ec6504c8dd626d945a3 (patch)
treea7a1aa6047e3fab5a8517f5f83c6a320c8de7cda /maximus/python/test/test_simu.py
parentcc1ff1a4e14b7779d9cc90f4260d0335be32d5d2 (diff)
Maximus V2: development of the first step of the MACFrame reception feature.
- implement the Python 'MACFrame.sendnrecv' function - implement the Python general 'recv' function - update C++ code - update Pyhton and C++ unitary tests - write a system TX/RX test - still some work to have a more user-friendly interface... git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1079 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'maximus/python/test/test_simu.py')
-rw-r--r--maximus/python/test/test_simu.py91
1 files changed, 86 insertions, 5 deletions
diff --git a/maximus/python/test/test_simu.py b/maximus/python/test/test_simu.py
index 8377829964..f17a0d42c4 100644
--- a/maximus/python/test/test_simu.py
+++ b/maximus/python/test/test_simu.py
@@ -5,22 +5,32 @@ print __name__
import startup
from maximus.simu import *
+from interface import *
# SIMU TEST
+# Create a Maximus instance
+m = Maximus()
+
+# Initialize Maximus with command line arguments
+argv = ['test_simu.py', '-e', '/home/buret/workspace/maximus/maximus/stationtest/obj/stationtest.elf', '-l', '0']
+m.init(argv)
+
# Transmission
rsp = send.sendnrecv(file='data', timeout=5000)
send.send(file='data')
+# Define a filter function
+def my_filter(rx_macframe):
+ print "=> my_filter"
+ return True
+
# Reception
-rsp = receive.recv(filter=filter.Filter('type RSP'), count=2, timeout=10000)
+rsp = receive.recv(maximus=m, timeout=10000, filter=my_filter, count=0)
#rsp1 = rsp[1]
#rsp2 = rsp[2]
-# Define a filter
-my_filter=filter.Filter('name CC_ACCESS_NEW and type RSP')
-
# Get the current date
t = date.get_date()
@@ -37,7 +47,76 @@ doctest.testmod(send)
# UNIT TEST
import unittest
-suite = unittest.TestSuite()
+
+class TestRxFunctions(unittest.TestCase):
+
+ def setUp(self):
+ print "setUp"
+ self.rx = receive.Rx(m)
+
+ def tearDown(self):
+ print "tearDown"
+
+ def test_init(self):
+ rx = receive.Rx(maximus=m, filter_fc=my_filter)
+
+ def test_cb(self):
+ rx = receive.Rx(maximus=m, filter_fc=my_filter, counter=1)
+ class MACFrame:
+ pass
+ macframe = MACFrame()
+ rx.cb(macframe)
+
+ def test_recv(self):
+ rx = receive.Rx(maximus=m, filter_fc=my_filter, counter=2)
+ class MACFrame:
+ pass
+ macframe1 = MACFrame()
+ macframe2 = MACFrame()
+ rx.cb(macframe1)
+ rx.cb(macframe2)
+ self.assertEqual(rx.recv(), [macframe1, macframe2])
+
+ def test_add_frame(self):
+ class MACFrame:
+ pass
+ macframe1 = MACFrame()
+ macframe2 = MACFrame()
+ self.rx.add_frame(macframe1)
+ self.assertEqual(len(self.rx.get_frame_list()), 1)
+ self.assertEqual(self.rx.get_frame_list()[0], macframe1)
+ self.rx.add_frame(macframe2)
+ self.assertEqual(len(self.rx.get_frame_list()), 2)
+ self.assertEqual(self.rx.get_frame_list()[0], macframe1)
+ self.assertEqual(self.rx.get_frame_list()[1], macframe2)
+
+ def test_set_counter(self):
+ counter = 10
+ self.rx.set_counter(counter)
+ self.assertEqual(self.rx.get_counter(), counter)
+
+ def test_decr_counter(self):
+ self.rx.decr_counter()
+ self.assertEqual(self.rx.get_counter(), 0)
+ counter = 10
+ self.rx.set_counter(counter)
+ self.rx.decr_counter()
+ self.assertEqual(self.rx.get_counter(), counter-1)
+
+ def test_call_filter_fc(self):
+ def filter_fc(macframe):
+ print "=> filter_fc"
+ self.rx.set_filter_fc(filter_fc)
+ class MACFrame:
+ pass
+ macframe = MACFrame()
+ self.rx.call_filter_fc(macframe)
+
+ def test_recv(self):
+ self.assertEqual(receive.recv(maximus=m, timeout=None, filter=None, count=0), None)
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestRxFunctions)
+
try:
suite.addTest(doctest.DocTestSuite(date))
suite.addTest(doctest.DocTestSuite(filter))
@@ -46,3 +125,5 @@ try:
except ValueError:
print "has no tests"
+if __name__ == '__main__':
+ testResult = unittest.TextTestRunner(verbosity=2).run(suite)