[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r4890 - gnuradio/branches/developers/eb/ibu/mblock/src
From: |
eb |
Subject: |
[Commit-gnuradio] r4890 - gnuradio/branches/developers/eb/ibu/mblock/src/lib |
Date: |
Thu, 5 Apr 2007 19:06:38 -0600 (MDT) |
Author: eb
Date: 2007-04-05 19:06:38 -0600 (Thu, 05 Apr 2007)
New Revision: 4890
Modified:
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.cc
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_mblock.cc
gnuradio/branches/developers/eb/ibu/mblock/src/lib/qa_mblock_send.cc
Log:
all existing QA tests are updated to use new interface
Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.cc
2007-04-06 00:56:08 UTC (rev 4889)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.cc
2007-04-06 01:06:38 UTC (rev 4890)
@@ -50,9 +50,21 @@
const std::string &class_name,
pmt_t user_arg)
{
- mb_mblock_sptr component =
- create_component(instance_name, class_name, user_arg);
+ class initial_visitor : public mb_visitor
+ {
+ public:
+ bool operator()(mb_mblock *mblock)
+ {
+ mblock->initial_transition();
+ return true;
+ }
+ };
+ initial_visitor visitor;
+
+ d_top = create_component(instance_name, class_name, user_arg);
+ d_top->walk_tree(&visitor);
+
return true;
}
Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
2007-04-06 00:56:08 UTC (rev 4889)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_nop.h
2007-04-06 01:06:38 UTC (rev 4890)
@@ -33,7 +33,8 @@
*/
class mb_runtime_nop : public mb_runtime
{
-
+ mb_mblock_sptr d_top;
+
public:
mb_runtime_nop();
~mb_runtime_nop();
@@ -42,6 +43,9 @@
const std::string &class_name,
pmt_t user_arg);
+ // QA only
+ mb_mblock_sptr top() { return d_top; }
+
protected:
mb_mblock_sptr
create_component(const std::string &instance_name,
Modified:
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_mblock.cc
===================================================================
---
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_mblock.cc
2007-04-06 00:56:08 UTC (rev 4889)
+++
gnuradio/branches/developers/eb/ibu/mblock/src/lib/mb_runtime_thread_per_mblock.cc
2007-04-06 01:06:38 UTC (rev 4890)
@@ -48,11 +48,9 @@
const std::string &class_name,
pmt_t user_arg)
{
-#if 0
class initial_visitor : public mb_visitor
{
public:
- initial_visitor(){}
bool operator()(mb_mblock *mblock)
{
mblock->initial_transition();
@@ -60,11 +58,9 @@
}
};
- initial_visitor visitor();
-#endif
+ initial_visitor visitor;
- mb_mblock_sptr top =
- create_component(instance_name, class_name, user_arg);
+ mb_mblock_sptr top = create_component(instance_name, class_name, user_arg);
// FIXME wait for barrier, then ask each mblock to run its initial_transition
Modified: gnuradio/branches/developers/eb/ibu/mblock/src/lib/qa_mblock_send.cc
===================================================================
--- gnuradio/branches/developers/eb/ibu/mblock/src/lib/qa_mblock_send.cc
2007-04-06 00:56:08 UTC (rev 4889)
+++ gnuradio/branches/developers/eb/ibu/mblock/src/lib/qa_mblock_send.cc
2007-04-06 01:06:38 UTC (rev 4890)
@@ -58,14 +58,12 @@
}
-#if 1 // stubs for now...
+mb_mblock_sptr
+get_top(mb_runtime_sptr rts)
+{
+ return dynamic_cast<mb_runtime_nop *>(rts.get())->top();
+}
-void qa_mblock_send::test_simple_routing(){}
-void qa_mblock_send::test_relay_routing_1(){}
-void qa_mblock_send::test_relay_routing_2(){}
-
-#else
-
// ================================================================
// test_simple_routing
// ================================================================
@@ -79,14 +77,13 @@
mb_port_sptr d_p3;
public:
- sr1(std::string &instance_name, pmt_t arg) : mb_mblock(instance_name, arg) {}
+ sr1(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~sr1();
void initial_transition();
};
-REGISTER_MBLOCK_CLASS(sr1);
-
-sr1::sr1()
+sr1::sr1(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
d_p1 = define_port("p1", "qa-send-cs", true, mb_port::EXTERNAL);
d_p2 = define_port("p2", "qa-send-cs", true, mb_port::EXTERNAL);
@@ -109,6 +106,7 @@
d_p2->send(s_status, pmt_list3(our_name, s_p2, pmt_from_long(1)));
}
+REGISTER_MBLOCK_CLASS(sr1);
// ----------------------------------------------------------------
@@ -118,24 +116,19 @@
mb_port_sptr d_p0;
public:
- sr0();
+ sr0(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~sr0();
void initial_transition();
};
-sr0::sr0()
+sr0::sr0(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
- mb_mblock_maker_t maker;
-
d_p0 = define_port("p0", "qa-send-cs", false, mb_port::INTERNAL);
- //define_component("mb1", mb_mblock_sptr(new sr1()));
- //define_component("mb1", mb_mblock_maker<sr1>()); // experiment w/ maker
- mb_class_registry::lookup_maker("sr1", &maker);
- define_component("mb1", maker()); // experiment w/ maker
+ define_component("mb1", "sr1");
+ define_component("mb2", "sr1");
- define_component("mb2", mb_mblock_sptr(new sr1()));
-
connect("self", "p0", "mb1", "p1");
connect("mb1", "p2", "mb2", "p3");
connect("mb1", "p3", "mb2", "p2");
@@ -154,6 +147,8 @@
d_p0->send(s_control, pmt_list3(our_name, s_p0, pmt_from_long(1)));
}
+REGISTER_MBLOCK_CLASS(sr0);
+
// ----------------------------------------------------------------
/*
@@ -169,9 +164,10 @@
mb_message_sptr msg;
mb_runtime_sptr rt = mb_make_runtime_nop();
- mb_mblock_sptr mb0 = mb_mblock_sptr(new sr0());
- rt->run(mb0);
+ rt->run("top", "sr0", PMT_F);
+ mb_mblock_sptr mb0 = get_top(rt);
+
// Reach into the guts and see if the messages ended up where they should
have
// mb0 should have received two messages sent from mb1 via its p1
@@ -256,12 +252,13 @@
mb_port_sptr d_p2;
public:
- rr2();
+ rr2(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~rr2();
void initial_transition();
};
-rr2::rr2()
+rr2::rr2(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
d_p1 = define_port("p1", "qa-send-cs", true, mb_port::EXTERNAL);
d_p2 = define_port("p2", "qa-send-cs", false, mb_port::EXTERNAL);
@@ -280,6 +277,8 @@
d_p1->send(s_status, pmt_list3(our_name, s_p1, pmt_from_long(1)));
}
+REGISTER_MBLOCK_CLASS(rr2);
+
// ----------------------------------------------------------------
// intermediate block for test_relay_routing
@@ -290,16 +289,17 @@
mb_port_sptr d_p2;
public:
- rr1();
+ rr1(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~rr1();
};
-rr1::rr1()
+rr1::rr1(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
d_p1 = define_port("p1", "qa-send-cs", true, mb_port::RELAY);
d_p2 = define_port("p2", "qa-send-cs", false, mb_port::RELAY);
- define_component("c0", mb_mblock_sptr(new rr2()));
+ define_component("c0", "rr2");
connect("self", "p1", "c0", "p1");
connect("self", "p2", "c0", "p2");
@@ -307,6 +307,8 @@
rr1::~rr1(){}
+REGISTER_MBLOCK_CLASS(rr1);
+
// ----------------------------------------------------------------
// top-level container for test_relay_routing
@@ -314,14 +316,15 @@
class rr0_a : public mb_mblock
{
public:
- rr0_a();
+ rr0_a(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~rr0_a();
};
-rr0_a::rr0_a()
+rr0_a::rr0_a(mb_runtime *runtime, const std::string &instance_name, pmt_t
user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
- define_component("c0", mb_mblock_sptr(new rr1()));
- define_component("c1", mb_mblock_sptr(new rr2()));
+ define_component("c0", "rr1");
+ define_component("c1", "rr2");
connect("c0", "p1", "c1", "p2");
connect("c0", "p2", "c1", "p1");
@@ -329,6 +332,7 @@
rr0_a::~rr0_a(){}
+REGISTER_MBLOCK_CLASS(rr0_a);
/*
* This tests basic message routing using RELAY and EXTERNAL ports.
@@ -341,8 +345,8 @@
mb_message_sptr msg;
mb_runtime_sptr rt = mb_make_runtime_nop();
- mb_mblock_sptr top = mb_mblock_sptr(new rr0_a());
- rt->run(top);
+ rt->run("top", "rr0_a", PMT_F);
+ mb_mblock_sptr top = get_top(rt);
// Reach into the guts and see if the messages ended up where they should
have
@@ -395,14 +399,15 @@
class rr0_b : public mb_mblock
{
public:
- rr0_b();
+ rr0_b(mb_runtime *runtime, const std::string &instance_name, pmt_t user_arg);
~rr0_b();
};
-rr0_b::rr0_b()
+rr0_b::rr0_b(mb_runtime *runtime, const std::string &instance_name, pmt_t
user_arg)
+ : mb_mblock(runtime, instance_name, user_arg)
{
- define_component("c0", mb_mblock_sptr(new rr1()));
- define_component("c1", mb_mblock_sptr(new rr1()));
+ define_component("c0", "rr1");
+ define_component("c1", "rr1");
connect("c0", "p1", "c1", "p2");
connect("c0", "p2", "c1", "p1");
@@ -410,6 +415,7 @@
rr0_b::~rr0_b(){}
+REGISTER_MBLOCK_CLASS(rr0_b);
/*
* This tests basic message routing using RELAY and EXTERNAL ports.
@@ -422,8 +428,8 @@
mb_message_sptr msg;
mb_runtime_sptr rt = mb_make_runtime_nop();
- mb_mblock_sptr top = mb_mblock_sptr(new rr0_b());
- rt->run(top);
+ rt->run("top", "rr0_b", PMT_F);
+ mb_mblock_sptr top = get_top(rt);
// Reach into the guts and see if the messages ended up where they should
have
@@ -467,5 +473,3 @@
CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_p1,
pmt_from_long(1)),
msg->data()));
}
-
-#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r4890 - gnuradio/branches/developers/eb/ibu/mblock/src/lib,
eb <=