diff options
-rw-r--r-- | gr-blocks/lib/file_source_impl.cc | 1 | ||||
-rw-r--r-- | gr-blocks/python/blocks/qa_file_source_sink.py | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gr-blocks/lib/file_source_impl.cc b/gr-blocks/lib/file_source_impl.cc index 941ca15c0e..0c3d752d9c 100644 --- a/gr-blocks/lib/file_source_impl.cc +++ b/gr-blocks/lib/file_source_impl.cc @@ -67,6 +67,7 @@ namespace gr { d_updated(false) { open(filename, repeat); + do_update(); } file_source_impl::~file_source_impl() diff --git a/gr-blocks/python/blocks/qa_file_source_sink.py b/gr-blocks/python/blocks/qa_file_source_sink.py index f35912b229..89841d3be6 100644 --- a/gr-blocks/python/blocks/qa_file_source_sink.py +++ b/gr-blocks/python/blocks/qa_file_source_sink.py @@ -88,6 +88,22 @@ class test_file_source_sink(gr_unittest.TestCase): result_data = snk2.data() self.assertFloatTuplesAlmostEqual(expected_result, result_data) + def test_file_source_can_seek_after_open(self): + src_data = range(1000) + + filename = "tmp.32f" + src = blocks.vector_source_f(src_data) + snk = blocks.file_sink(gr.sizeof_float, filename) + snk.set_unbuffered(True) + + self.tb.connect(src, snk) + self.tb.run() + + source = blocks.file_source(gr.sizeof_float, filename) + self.assertTrue(source.seek(0, os.SEEK_SET)) + + os.remove(filename) + if __name__ == '__main__': gr_unittest.run(test_file_source_sink, "test_file_source_sink.xml") |