00001 /*************************************************************************** 00002 tag: Peter Soetens Tue Apr 5 16:53:26 CEST 2005 taskthread_test.hpp 00003 00004 taskthread_test.hpp - description 00005 ------------------- 00006 begin : Tue April 05 2005 00007 copyright : (C) 2005 Peter Soetens 00008 email : peter.soetens@mech.kuleuven.ac.be 00009 00010 *************************************************************************** 00011 * * 00012 * This program is free software; you can redistribute it and/or modify * 00013 * it under the terms of the GNU General Public License as published by * 00014 * the Free Software Foundation; either version 2 of the License, or * 00015 * (at your option) any later version. * 00016 * * 00017 ***************************************************************************/ 00018 00019 00020 00021 #ifndef TASKSTHREADTEST_H 00022 #define TASKSTHREADTEST_H 00023 00024 #include <extras/PeriodicActivity.hpp> 00025 #include <extras/SimulationActivity.hpp> 00026 #include <extras/SlaveActivity.hpp> 00027 #include <Activity.hpp> 00028 #include <rtt-detail-fwd.hpp> 00029 using namespace RTT::detail; 00030 00031 using namespace RTT; 00032 00033 template<class T> 00034 struct TestActivity; 00035 00036 00040 class ActivitiesThreadTest 00041 { 00042 public: 00043 00044 TestActivity<PeriodicActivity>* t_task_np; 00045 TestActivity<PeriodicActivity>* t_task_np_bad; 00046 TestActivity<PeriodicActivity>* t_task_p; 00047 TestActivity<SlaveActivity>* t_task_slave; 00048 TestActivity<Activity>* t_task_a; 00049 00050 ActivitiesThreadTest(){ setUp(); }; 00051 ~ActivitiesThreadTest(){ tearDown(); }; 00052 void setUp(); 00053 void tearDown(); 00054 00055 #ifndef ORO_EMBEDDED 00056 void testExceptionRecovery(); 00057 #endif 00058 void testThreadConfig(); 00059 void testPeriodic(); 00060 void testNonPeriodic(); 00061 void testSlave(); 00062 void testSequential(); 00063 void testScheduler(); 00064 void testAllocation(); 00065 }; 00066 00067 #endif