commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r3894 - in gnuradio/branches/developers/jcorgan/hier/g


From: jcorgan
Subject: [Commit-gnuradio] r3894 - in gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src: lib/runtime python/gnuradio/gr
Date: Sun, 29 Oct 2006 17:38:07 -0700 (MST)

Author: jcorgan
Date: 2006-10-29 17:38:07 -0700 (Sun, 29 Oct 2006)
New Revision: 3894

Modified:
   
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
   
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
Log:
Work in progress.

Modified: 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
===================================================================
--- 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
      2006-10-29 23:23:38 UTC (rev 3893)
+++ 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/lib/runtime/gr_hier_block2_impl.cc
      2006-10-30 00:38:07 UTC (rev 3894)
@@ -76,11 +76,18 @@
 {
     /* Need to validate the following:
 
-       from_name is either "input" or a defined component
-       to_name is either "output" or a defined component
+       from_name is either "input" or a defined component (done)
+       to_name is either "output" or a defined component (done)
        from_port is valid for from_name
        to_port is valid for to_name
        to_name:to_port is not already in use
        from_name:from_port is same type as to_name:to_port
     */
+
+    if (from_name != "input" && !lookup_component(from_name))
+       throw std::invalid_argument("Unknown from name");
+
+
+    if (to_name != "output" && !lookup_component(to_name))
+       throw std::invalid_argument("Unknown to name");
 }

Modified: 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
===================================================================
--- 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
    2006-10-29 23:23:38 UTC (rev 3893)
+++ 
gnuradio/branches/developers/jcorgan/hier/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
    2006-10-30 00:38:07 UTC (rev 3894)
@@ -32,21 +32,21 @@
        hblock.define_component("sink", sink1)
 
 
-    def test_002_define_component_reserved_input(self):
+    def test_003_define_component_reserved_input(self):
        hblock = gr.hier_block2("test_block", 
                                gr.io_signature(1,1,gr.sizeof_int), 
                                gr.io_signature(1,1,gr.sizeof_int))
        src1 = gr.nop(gr.sizeof_int)
        self.assertRaises(ValueError, lambda: hblock.define_component("input", 
src1))
 
-    def test_002_define_component_reserved_output(self):
+    def test_004_define_component_reserved_output(self):
        hblock = gr.hier_block2("test_block", 
                                gr.io_signature(1,1,gr.sizeof_int), 
                                gr.io_signature(1,1,gr.sizeof_int))
        src1 = gr.nop(gr.sizeof_int)
        self.assertRaises(ValueError, lambda: hblock.define_component("output", 
src1))
 
-    def test_003_define_component_name_in_use(self):
+    def test_005_define_component_name_in_use(self):
        hblock = gr.hier_block2("test_block", 
                                gr.io_signature(1,1,gr.sizeof_int), 
                                gr.io_signature(1,1,gr.sizeof_int))
@@ -57,7 +57,7 @@
        hblock.define_component("source", src1)
        self.assertRaises(ValueError, lambda: hblock.define_component("source", 
sink1))
     
-    def test_004_define_component_block_in_use(self):
+    def test_006_define_component_block_in_use(self):
        hblock = gr.hier_block2("test_block", 
                                gr.io_signature(1,1,gr.sizeof_int), 
                                gr.io_signature(1,1,gr.sizeof_int))
@@ -67,7 +67,7 @@
        hblock.define_component("nop1", nop1)
        self.assertRaises(ValueError, lambda: hblock.define_component("nop2", 
nop1))
 
-    def test_005_connect_internal(self):
+    def test_007_connect_internal(self):
        hblock = gr.hier_block2("test_block", 
                                gr.io_signature(1,1,gr.sizeof_int), 
                                gr.io_signature(1,1,gr.sizeof_int))
@@ -78,6 +78,41 @@
        hblock.define_component("nop2", nop2)
        hblock.connect("nop1", 0, "nop2", 0)
 
+    def test_008_connect_input(self):
+       hblock = gr.hier_block2("test_block", 
+                               gr.io_signature(1,1,gr.sizeof_int), 
+                               gr.io_signature(1,1,gr.sizeof_int))
+
+       nop1 = gr.nop(gr.sizeof_int)
+       hblock.define_component("nop1", nop1)
+       hblock.connect("input", 0, "nop1", 0)
+
+    def test_009_connect_output(self):
+       hblock = gr.hier_block2("test_block", 
+                               gr.io_signature(1,1,gr.sizeof_int), 
+                               gr.io_signature(1,1,gr.sizeof_int))
+
+       nop1 = gr.nop(gr.sizeof_int)
+       hblock.define_component("nop1", nop1)
+       hblock.connect("nop1", 0, "output", 0)
+
+    def test_010_connect_unknown_from(self):
+       hblock = gr.hier_block2("test_block", 
+                               gr.io_signature(1,1,gr.sizeof_int), 
+                               gr.io_signature(1,1,gr.sizeof_int))
+
+       nop1 = gr.nop(gr.sizeof_int)
+       hblock.define_component("nop1", nop1)
+       self.assertRaises(ValueError, lambda: hblock.connect("nop2", 0, 
"output", 0))
     
+    def test_011_connect_unknown_to(self):
+       hblock = gr.hier_block2("test_block", 
+                               gr.io_signature(1,1,gr.sizeof_int), 
+                               gr.io_signature(1,1,gr.sizeof_int))
+
+       nop1 = gr.nop(gr.sizeof_int)
+       hblock.define_component("nop1", nop1)
+       self.assertRaises(ValueError, lambda: hblock.connect("input", 0, 
"nop2", 0))
+    
 if __name__ == "__main__":
     gr_unittest.main()





reply via email to

[Prev in Thread] Current Thread [Next in Thread]