diff options
author | Bastian Bloessl <bloessl@ccs-labs.org> | 2016-10-01 10:03:25 +0200 |
---|---|---|
committer | Bastian Bloessl <bloessl@ccs-labs.org> | 2016-10-01 10:03:25 +0200 |
commit | 3ba6a665bc0b60c709eeaddce47dcfb92436357f (patch) | |
tree | 19aee4f9bc82fd1a0c2bfb1161e49e2d4f535aed /gnuradio-runtime/python | |
parent | cce68f26f1641c0a97b0bbc9a4608903aed493c7 (diff) |
runtime: add qa for flowgraph
Diffstat (limited to 'gnuradio-runtime/python')
-rwxr-xr-x | gnuradio-runtime/python/gnuradio/gr/qa_flowgraph.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gnuradio-runtime/python/gnuradio/gr/qa_flowgraph.py b/gnuradio-runtime/python/gnuradio/gr/qa_flowgraph.py new file mode 100755 index 0000000000..fa4fd4910e --- /dev/null +++ b/gnuradio-runtime/python/gnuradio/gr/qa_flowgraph.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# +# Copyright 2016 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +import time +import pmt +from gnuradio import gr, gr_unittest, blocks + +class test_flowgraph (gr_unittest.TestCase): + + def setUp (self): + self.tb = gr.top_block () + + def tearDown (self): + self.tb = None + + def test_000(self): + + self.tb.start() + self.tb.lock() + + rem = blocks.pdu_remove(pmt.intern('foo')) + dbg = blocks.message_debug() + self.tb.msg_connect((rem, 'pdus'), (dbg, 'store')) + + self.tb.unlock() + + msg = pmt.cons(pmt.PMT_NIL, pmt.init_u8vector(3, (1, 2, 3))) + rem.to_basic_block()._post(pmt.intern('pdus'), msg) + time.sleep(0.2) + + self.tb.stop() + + self.assertEqual(dbg.num_messages(), 1) + data = pmt.u8vector_elements(pmt.cdr(dbg.get_message(0))) + self.assertEqual((1, 2, 3), data) + +if __name__ == '__main__': + gr_unittest.run(test_flowgraph, 'test_flowgraph.xml') + |