gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash/cygnal/ACT Change_Log.txt Handle.hpp List...


From: Eric Hughes
Subject: [Gnash-commit] gnash/cygnal/ACT Change_Log.txt Handle.hpp List...
Date: Tue, 16 Oct 2007 20:20:30 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Eric Hughes <eh9>       07/10/16 20:20:30

Modified files:
        cygnal/ACT     : Change_Log.txt Handle.hpp Listen.hpp 
                         Makefile.am Scheduler.T.cpp Scheduler.hpp 
                         Scheduling_Queue.cpp Service.hpp 
        cygnal/ACT/test_support: Action_Tracing.hpp 
                                 Listening_Actions.cpp 
                                 Listening_Actions.hpp 
                                 Simple_Actions.hpp Supplied_Service.cpp 
                                 Supplied_Service.hpp 
        cygnal/ACT/unit_tests: Test_ACT.cpp Test_Scheduler.cpp 
                               Test_Scheduling_Queue.cpp 

Log message:
        -- Cygnal module ACT (all of its base, test support, and unit tests) 
now compiles under gcc without so much of a warning under cygwin.  The unit 
test executable dumps core immediately (natch), but I don't think I've made any 
particularly substantive change since they were working under MSVC, so I'm 
declaring them done for the moment.
        -- cygnal/ACT/unit_tests/Makefile.am has a hard-coded name for the 
Boost Test library.  macros/boost.m4 needs alteration to detect this library, 
etc., etc., etc., and then it needs to be hooked up to the cygnal build.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Change_Log.txt?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Handle.hpp?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Listen.hpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Makefile.am?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Scheduler.T.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Scheduler.hpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Scheduling_Queue.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/Service.hpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Action_Tracing.hpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Listening_Actions.cpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Listening_Actions.hpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Simple_Actions.hpp?cvsroot=gnash&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Supplied_Service.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/test_support/Supplied_Service.hpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/unit_tests/Test_ACT.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/unit_tests/Test_Scheduler.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/cygnal/ACT/unit_tests/Test_Scheduling_Queue.cpp?cvsroot=gnash&r1=1.5&r2=1.6

Patches:
Index: Change_Log.txt
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Change_Log.txt,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Change_Log.txt      1 Oct 2007 15:49:40 -0000       1.5
+++ Change_Log.txt      16 Oct 2007 20:20:29 -0000      1.6
@@ -1,7 +1,28 @@
 Change Log for GNU Cygnal, Module ACT
 =====================================
 
-2007-01-10 Eric Hughes <address@hidden>
+2007-10-16 Eric Hughes <address@hidden>
+       * Scheduler.hpp: Rearranged member declarations to eliminate gcc 
warning.
+       * Makefile.am: Changed name of boost test library to match my setup.  
Your mileage will certainly vary.
+       * unit_tests/Test_{ACT,Scheduler,Scheduling_Queue}.cpp: Changed 
BOOST_AUTO_UNIT_TEST to BOOST_AUTO_TEST_CASE (removal of deprecated syntax).
+
+2007-10-14 Eric Hughes <address@hidden>
+       * {.,test_support,unit_tests}/Makefile.am: Changed file names of 
libraries to use underscore separators.
+       * unit_tests/Makefile.am: Added library dependencies and build a unit 
test executable.
+       * Scheduler.T.cpp: Added logic_error for a Critical_Demon switch case 
because that task type isn't implemented.  This eliminates a gcc warning.
+       * Scheduling_Queue.cpp: Removed an unused variable to remove a gcc 
warning.
+       * unit_tests/Test_Scheduler.cpp: Removed a 'using namespace' 
declaration, which may or may not have gotten rid of a possible defect 
involving template parameter instantiation.
+       * unit_tests/Test_Scheduling_Queue.cpp: Normalized syntax of template 
class declarations.
+
+2007-10-04 Eric Hughes <address@hidden>
+       * 
{Listen,Scheduler,Service}.hpp,test_support/{Action_Tracing,Listening_Actions,Simple_Actions,Supplied_Service}.hpp:
+               Added virtual destructors to eliminate gcc warning.  Rearranged 
class data members to eliminate gcc warning about order of initialization.
+       * test_support/Supplied_Service.hpp: Added template arguments (by means 
of a typedef) to parent class initializer of Supplied_Service.
+       * test_support/{Listening_Actions,Supplied_Service}.cpp: Added class 
declarator to explicit template instantiation.
+       * Makefile.am: Cut out definitions not needed for Cygnal.
+       * {test_support,unit_tests}/Makefile.am: new file
+
+2007-10-01 Eric Hughes <address@hidden>
        * Cygnal_Instances.cpp:  Added class keyword for explicit template 
instantiation.  Replaced typedef in explicit instantiation with its referent.
        * Handle.hpp: Replaced typedefs in friend declarations with their 
referents.
        * Listen.hpp: Removed extraneous typename declaration.

Index: Handle.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Handle.hpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- Handle.hpp  3 Oct 2007 15:29:16 -0000       1.7
+++ Handle.hpp  16 Oct 2007 20:20:29 -0000      1.8
@@ -312,11 +312,6 @@
                ///             and add a \c const accessor function returning 
a reference.
                aspect_type aspect ;
 
-               /// The aspect class is a friend.
-               /// The aspect is a template parameter, so we know nothing of 
aspect structure.
-               ///     Hence we use a class friend here.
-               friend class Aspect< T, Handled > ;
-
        public:
                /// Default constructor takes as parameter the \c this pointer 
of a derived object.
                Handled( T * that, aspect_type aspect = aspect_type() )

Index: Listen.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Listen.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- Listen.hpp  1 Oct 2007 15:49:40 -0000       1.2
+++ Listen.hpp  16 Oct 2007 20:20:29 -0000      1.3
@@ -75,6 +75,9 @@
 
                /// Add an item to the waiting list
                void add_waiting_listener_task( Listener *, wakeup_listener * ) 
;
+               
+               /// Trivial virtual destructor
+               virtual ~Basic_Listen_Monitor() {}
        } ;
 
        //-------------------------

Index: Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Makefile.am,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Makefile.am 3 Oct 2007 18:11:59 -0000       1.3
+++ Makefile.am 16 Oct 2007 20:20:29 -0000      1.4
@@ -15,46 +15,28 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #
-# $Id: Makefile.am,v 1.3 2007/10/03 18:11:59 strk Exp $
+# $Id: Makefile.am,v 1.4 2007/10/16 20:20:29 eh9 Exp $
 
 #----------------------------------------
 # Makefile.am for Cygnal/ACT 
 #----------------------------------------
-
-# provide subdirs with a Makefile.am to list here
-SUBDIRS = 
-
 AM_CPPFLAGS = # -Wall
 
 ## WARNING: make sure GLIB_LIBS appears first
 ## See: http://lists.gnu.org/archive/html/gnash-dev/2006-07/msg00076.html
 AM_LDFLAGS = \
-       ../../libbase/libgnashbase.la \
-       ../../libamf/libgnashamf.la \
-       $(LIBLTDL) \
        $(GLIB_LIBS) \
-       $(LIBXML_LIBS) \
-       $(CURL_LIBS) \
-       $(BOOST_LIBS) \
-       $(PTHREAD_LIBS)
+       $(BOOST_LIBS)
 
 localedir = $(datadir)/locale
 
 INCLUDES = -I.. \
-        -I$(top_srcdir)        \
         -I$(top_srcdir)/cygnal \
-        -I$(top_srcdir)/libamf \
-        -I$(top_srcdir)/libbase \
-        -I$(top_srcdir)/server \
         -DLOCALEDIR=\"$(localedir)\" \
-        $(LIBXML_CFLAGS) \
-       $(DMALLOC_CFLAGS) \
-       $(CURL_CFLAGS) \
-       $(BOOST_CFLAGS) \
-       $(PTHREAD_CFLAGS)
+       $(BOOST_CFLAGS)
 
-lib_LTLIBRARIES = libcygnalact.la
-libcygnalact_la_SOURCES= \
+lib_LTLIBRARIES = libcygnal_act.la
+libcygnal_act_la_SOURCES= \
        ACT.cpp \
        Cygnal_Instances.cpp \
        Handle.cpp \

Index: Scheduler.T.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Scheduler.T.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- Scheduler.T.cpp     1 Oct 2007 15:49:40 -0000       1.2
+++ Scheduler.T.cpp     16 Oct 2007 20:20:29 -0000      1.3
@@ -20,6 +20,7 @@
 
 /// \file Scheduler.T.cpp
 
+#include <stdexcept>
 #include "Scheduler.hpp"
 
 namespace ACT {
@@ -143,6 +144,8 @@
                                        item -> sequence_number = 
next_service_sequence_number ++ ;
                                        the_queue.reorder( item ) ;
                                        break ;
+                               case Critical_Demon:
+                                       throw std::logic_error( "Scheduled item 
type 'Critical_Demon' found but not yet supported." ) ;
                        }
                } else {
                        the_queue.pop() ;

Index: Scheduler.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Scheduler.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Scheduler.hpp       1 Oct 2007 15:49:40 -0000       1.5
+++ Scheduler.hpp       16 Oct 2007 20:20:29 -0000      1.6
@@ -54,6 +54,9 @@
                Scheduler( Scheduler * that )
                        : Handled< Scheduler >( that )
                {} ;
+               
+               /// Trivial destructor
+               virtual ~Scheduler() {}
        } ;
 
        /** \class wakeup_listener
@@ -220,16 +223,16 @@
        struct Basic_Scheduled_Item
        {
                ///
-               Action_Category action_type ;
+               act the_action ;
 
                /// 
-               Basic_Priority priority_category ;
+               unsigned int sequence_number ;
 
                ///
-               unsigned int sequence_number ;
+               Action_Category action_type ;
 
                ///
-               act the_action ;
+               Basic_Priority priority_category ;
 
                ///
                Basic_Scheduled_Item( act x, unsigned int n, Action_Category 
action_type = Task ) ;

Index: Scheduling_Queue.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Scheduling_Queue.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- Scheduling_Queue.cpp        1 Jul 2007 10:53:51 -0000       1.3
+++ Scheduling_Queue.cpp        16 Oct 2007 20:20:29 -0000      1.4
@@ -59,7 +59,7 @@
                        permutation[ permutation_index 
].the_auxiliary.reconstruct( auxiliary ) ;
                }
                ++ n_queue_items ;
-               size_t n = up_heap( n_queue_items - 1 ) ;
+               (void) up_heap( n_queue_items - 1 ) ;
                return pointer( permutation_index, this ) ;
        }
 

Index: Service.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/Service.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Service.hpp 19 Jul 2007 18:29:34 -0000      1.5
+++ Service.hpp 16 Oct 2007 20:20:29 -0000      1.6
@@ -93,7 +93,7 @@
         *      It only completes when it needs to shut down, either from an 
internal failure or by external command.
         *
         *      WARNING: A service must not both schedule a new action and 
return \c Completed in the same activation.
-        *      This restriction simplifies implementation of the scheduler, 
which then doesn't need to removed
+        *      This restriction simplifies implementation of the scheduler, 
which then doesn't need to remove
         *              a completed service action from within the middle of 
the scheduling queue.
         *      When a service schedules no new actions, it remains at the top 
of the priority queue,
         *              from where it can be removed like any other task.
@@ -106,16 +106,22 @@
                typedef Aspect< Service > aspect_type ;
 
        private:
-               /// Aspect instance.
-               aspect_type aspect ;
+               ///
+               Generator & the_generator ;
 
+               ///
                Scheduler & our_scheduler ;
 
-               Generator & the_generator ;
+               /// Aspect instance.
+               aspect_type aspect ;
+
        public:
                /// 
                Service( Generator & x, Scheduler & z, aspect_type aspect = 
aspect_type() ) ;
 
+               /// Trivial virtual destructor
+               virtual ~Service() {}
+
                ///
                ACT_State run( wakeup_listener * ) ;
 

Index: test_support/Action_Tracing.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Action_Tracing.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- test_support/Action_Tracing.hpp     21 Jul 2007 17:51:21 -0000      1.4
+++ test_support/Action_Tracing.hpp     16 Oct 2007 20:20:29 -0000      1.5
@@ -73,18 +73,21 @@
        class simple_tracker
                : public tracking_function
        {
-               /// Prefix for tracking item
-               const std::string prefix ;
-
                /// Trace to which to added tracking event
                execution_trace & trace ;
 
+               /// Prefix for tracking item
+               const std::string prefix ;
+
        public:
                ///
                simple_tracker( execution_trace & trace, const std::string 
prefix )
                        : trace( trace ), prefix( prefix )
                {}
 
+               /// Trivial virtual destructor
+               virtual ~simple_tracker() {}
+               
                ///
                void operator()( const std::string x )
                {

Index: test_support/Listening_Actions.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Listening_Actions.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- test_support/Listening_Actions.cpp  10 Jul 2007 14:09:09 -0000      1.4
+++ test_support/Listening_Actions.cpp  16 Oct 2007 20:20:29 -0000      1.5
@@ -88,5 +88,5 @@
 // Instantiate an instance of Handle_Registry_Follower as needed for 
N_to_Completion
 #include "ACT/Handle.cpp"
 namespace ACT {
-       template Handle_Registry_Follower< shared_ptr< N_to_completion_Monitor 
>, Scheduler > ;
+       template class Handle_Registry_Follower< shared_ptr< 
N_to_completion_Monitor >, Scheduler > ;
 }
\ No newline at end of file

Index: test_support/Listening_Actions.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Listening_Actions.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- test_support/Listening_Actions.hpp  10 Jul 2007 14:09:09 -0000      1.4
+++ test_support/Listening_Actions.hpp  16 Oct 2007 20:20:29 -0000      1.5
@@ -48,8 +48,11 @@
                ACT_State run() ;
 
        public:
-               /// Default constructor.
-               N_to_completion_Monitor() {} ;
+               /// Trivial default constructor.
+               N_to_completion_Monitor() {}
+               
+               /// Trivial virtual destructor
+               ~N_to_completion_Monitor() {}
 
                /// Implementation of specific wake-up preparation
                void add_wakeup_item( N_to_completion *, wakeup_listener * ) ;
@@ -62,14 +65,14 @@
        class N_to_completion
                : public Basic_Listening_Task< N_to_completion, 
N_to_completion_Monitor >
        {
-               /// Tracking
-               std::auto_ptr< tracking_function > tracker ;
+               ///
+               unsigned int total_number_of_activations ;
 
                ///
                unsigned int number_of_activations_left ;
 
-               ///
-               unsigned int total_number_of_activations ;
+               /// Tracking
+               std::auto_ptr< tracking_function > tracker ;
 
                /// Action body, proxied by operator()
                ACT_State run( wakeup_listener * ) ;
@@ -78,6 +81,9 @@
                ///
                N_to_completion( unsigned int n, tracking_function * = 0 ) ;
 
+               /// Trivial virtual destructor
+               virtual ~N_to_completion() {}
+               
                void reset() ;
        } ;
 

Index: test_support/Simple_Actions.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Simple_Actions.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- test_support/Simple_Actions.hpp     21 Jul 2007 17:51:21 -0000      1.4
+++ test_support/Simple_Actions.hpp     16 Oct 2007 20:20:29 -0000      1.5
@@ -46,7 +46,10 @@
                single_action( tracking_function * x = 0 )
                        : tracker( x )
                {}
-       } ;
+
+               /// Trivial virtual destructor
+               virtual ~single_action() {}
+} ;
 
        //-------------------------
        /**     \class no_action
@@ -72,6 +75,9 @@
                {
                        set_completed() ;
                }
+               
+               /// Trivial virtual destructor
+               virtual ~no_action() {}
        } ;
 
 } // end namespace ACT

Index: test_support/Supplied_Service.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Supplied_Service.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- test_support/Supplied_Service.cpp   1 Oct 2007 15:49:40 -0000       1.2
+++ test_support/Supplied_Service.cpp   16 Oct 2007 20:20:29 -0000      1.3
@@ -54,5 +54,5 @@
 
 #include "ACT/Service.cpp"
 namespace ACT {
-       template Service< Supplied_Service_Aspect > ;
+       template class Service< Supplied_Service_Aspect > ;
 }

Index: test_support/Supplied_Service.hpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/test_support/Supplied_Service.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- test_support/Supplied_Service.hpp   21 Jul 2007 17:51:21 -0000      1.2
+++ test_support/Supplied_Service.hpp   16 Oct 2007 20:20:29 -0000      1.3
@@ -54,6 +54,9 @@
                Supplied_Generator()
                        : active( true ), complete( false ) {}
 
+               /// Trivial virtual destructor
+               virtual ~Supplied_Generator() {}
+               
                /// This \c shutdown routine pushes out all pending actions, 
accepting no new ones.
                void shutdown() { active = false ; }
 
@@ -96,6 +99,8 @@
        class Supplied_Service
                : public Service< Supplied_Service_Aspect >
        {
+               typedef Service< Supplied_Service_Aspect > Service_Base ;
+               
                /// Aspect type for \c Service base class
                typedef Supplied_Service_Aspect< Service< 
Supplied_Service_Aspect > > service_base_aspect_type ;
 
@@ -105,9 +110,12 @@
        public:
                /// Default constructor
                Supplied_Service( Scheduler & z, tracking_function * t = 0 )
-                       : Service( the_generator, z, service_base_aspect_type( 
t ) )
+                       : Service_Base( the_generator, z, 
service_base_aspect_type( t ) )
                {}
 
+               /// Trivial virtual destructor
+               virtual ~Supplied_Service() {}
+               
                ///
                inline void shutdown() { the_generator.shutdown() ; }
 

Index: unit_tests/Test_ACT.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/unit_tests/Test_ACT.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- unit_tests/Test_ACT.cpp     1 Oct 2007 15:49:40 -0000       1.5
+++ unit_tests/Test_ACT.cpp     16 Oct 2007 20:20:30 -0000      1.6
@@ -67,7 +67,7 @@
 
 //--------------------------------------------------
 
-BOOST_AUTO_UNIT_TEST( act_twice_works )
+BOOST_AUTO_TEST_CASE( act_twice_works )
 {
         act x( new act_twice() ) ;
 
@@ -80,7 +80,7 @@
         BOOST_CHECK_MESSAGE( x.completed(), "state after three calls should 
still be 'Completed'" ) ;
 }
 
-BOOST_AUTO_UNIT_TEST( no_action_works )
+BOOST_AUTO_TEST_CASE( no_action_works )
 {
        execution_trace trace ;
        act x( new no_action( new simple_tracker( trace, "N" ) ) ) ;
@@ -91,7 +91,7 @@
        BOOST_CHECK_MESSAGE( trace.result() == "", "Tracking should not have 
recorded an activation, since action was already completed" ) ;
 }
 
-BOOST_AUTO_UNIT_TEST( act_n_equals_two_works )
+BOOST_AUTO_TEST_CASE( act_n_equals_two_works )
 {
        execution_trace trace ;
        act x( new N_to_completion( 2, new simple_tracker( trace, "C" ) ) ) ;

Index: unit_tests/Test_Scheduler.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/unit_tests/Test_Scheduler.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- unit_tests/Test_Scheduler.cpp       21 Jul 2007 17:51:21 -0000      1.5
+++ unit_tests/Test_Scheduler.cpp       16 Oct 2007 20:20:30 -0000      1.6
@@ -38,7 +38,6 @@
        //--------------------------------------------------
        // White box test of Handle using aspects.
        //--------------------------------------------------
-       using namespace ACT ;
 
        //---------------
        // This is the template definition of the base aspect class.
@@ -52,15 +51,15 @@
        //---------------
        /// \brief Test aspect for Handle_Registry_Leader
        template< class T >
-       class test_aspect< T, Handle_Registry_Leader< T, test_aspect > >
-               : public aspect::Null_Aspect_1< T, Handle_Registry_Leader< T, 
aspect::Null_Aspect_1 > >
+       class test_aspect< T, ACT::Handle_Registry_Leader< T, test_aspect > >
+               : public aspect::Null_Aspect_1< T, ACT::Handle_Registry_Leader< 
T, aspect::Null_Aspect_1 > >
        {
                // We need the execution trace in this class because it's 
constructed statically.
                // If we had two static classes that required a common trace, 
we'd have to use a third class, a singleton, to put this in.
-               execution_trace tr ;
+               ACT::execution_trace tr ;
 
        public:
-               execution_trace & trace() { return tr ; }
+               ACT::execution_trace & trace() { return tr ; }
                std::string result() const { return tr.result() ; }
 
                void add_in_new_place() { tr.add( "N" ) ; }
@@ -70,13 +69,13 @@
        //---------------
        /// \brief Test aspect for Handle_Registry_Follower.
        template< class T, class Leader >
-       class test_aspect_2< T, Leader, Handle_Registry_Follower< T, Leader, 
test_aspect_2 > >
-               : public aspect::Null_Aspect_2< T, Leader, 
Handle_Registry_Follower< T, Leader, aspect::Null_Aspect_2 > >
+       class test_aspect_2< T, Leader, ACT::Handle_Registry_Follower< T, 
Leader, test_aspect_2 > >
+               : public aspect::Null_Aspect_2< T, Leader, 
ACT::Handle_Registry_Follower< T, Leader, aspect::Null_Aspect_2 > >
        {
                // See reason above for why the execution trace is here
-               execution_trace tr ;
+               ACT::execution_trace tr ;
        public:
-               execution_trace & trace() { return tr ; }
+               ACT::execution_trace & trace() { return tr ; }
                std::string result() const { return tr.result() ; }
 
                void access_from_existing_slot() { tr.add( "A" ) ; }
@@ -84,20 +83,19 @@
        } ;
 
        //---------------
-       // Forward
-       class test ;
-       //---------------
        /// \brief Test aspect for Handled.
+       ///     This is a specialization of the 
        template< class T >
-       class test_aspect< T, Handled< T, test_aspect > >
-               : public Null_Aspect_Handled< T >,
-               public aspect::Aspect_Has_Access_To_Owner< Handled< T, 
test_aspect > >
-       {
-               /// The explicit namespace qualification distinguishes the 
generic declaration from this specialization.
-               typedef Handled< test, ACT_Test::test_aspect > owner_type ;
+       class test_aspect< T, ACT::Handled< T, ACT_Test::test_aspect > >
+               : public ACT::Null_Aspect_Handled< T >,
+               public aspect::Aspect_Has_Access_To_Owner< ACT::Handled< T, 
test_aspect > >
+       {
+               /// An explicit namespace qualification (ACT_Test::test_aspect 
instead of merely test_aspect)
+               ///             discriminates between the template as such and 
the present class, which is a template specialization.
+               typedef ACT::Handled< T, ACT_Test::test_aspect > owner_type ;
 
                ///
-               typedef aspect::Aspect_Has_Access_To_Owner< Handled< T, 
ACT_Test::test_aspect > > access_base_type ;
+               typedef aspect::Aspect_Has_Access_To_Owner< ACT::Handled< T, 
ACT_Test::test_aspect > > access_base_type ;
 
        public:
                std::string result() const {
@@ -106,19 +104,31 @@
        } ;
 
        //---------------
+       // Forward
+       class test ;
+}
+namespace ACT {
+       //template<> class Handled< ACT_Test::test, ACT_Test::test_aspect > ;
+}
+namespace ACT_Test {
+       //---------------
        /// \brief A test class for \c Handled, deriving from it in order to 
exercise it.
        class test
-               : public Handled< test, test_aspect >
+               : public ACT::Handled< ACT_Test::test, ACT_Test::test_aspect >
        {
-               typedef Handled< test, test_aspect > Handled_Base ;
+               typedef ACT::Handled< test, test_aspect > Handled_Base ;
        public:
                test() : Handled_Base( this ) {}
 
                std::string result() const { return aspect.result() ; }
        } ;
 
+       //------------------------------
+       using ACT::simple_tracker ;
+       //------------------------------
+
        //---------------
-       BOOST_AUTO_UNIT_TEST( handle_one )
+       BOOST_AUTO_TEST_CASE( handle_one )
        {
                // We declare variables within blocks to invoke their 
destructors.
                {
@@ -146,10 +156,10 @@
        }
 
        //---------------
-       BOOST_AUTO_UNIT_TEST( handle_two )
+       BOOST_AUTO_TEST_CASE( handle_two )
        {
                test x ;
-               Handle_Registry_Follower< int, test, test_aspect_2 > follower ;
+               ACT::Handle_Registry_Follower< int, test, test_aspect_2 > 
follower ;
                std::string found( follower.aspect.result() ) ;
                std::string expected( "" ) ;
                BOOST_CHECK( found == "" ) ;
@@ -210,9 +220,9 @@
 
        /// \brief test aspect for \c Basic_Scheduler
        template<>
-       class scheduler_aspect< Basic_Scheduler< scheduler_aspect > >
-               : public Basic_Scheduler_Null_Aspect,
-               public aspect::Aspect_Has_Access_To_Owner< Basic_Scheduler< 
scheduler_aspect > >
+       class scheduler_aspect< ACT::Basic_Scheduler< scheduler_aspect > >
+               : public ACT::Basic_Scheduler_Null_Aspect,
+               public aspect::Aspect_Has_Access_To_Owner< 
ACT::Basic_Scheduler< scheduler_aspect > >
        {
                scheduler_aspect_body * body ;
 
@@ -235,15 +245,15 @@
 
        } ;
 
-       typedef scheduler_aspect< Basic_Scheduler< scheduler_aspect > > 
Test_Scheduler_Aspect ;
-       typedef Basic_Scheduler< scheduler_aspect > Test_Scheduler ;
+       typedef scheduler_aspect< ACT::Basic_Scheduler< scheduler_aspect > > 
Test_Scheduler_Aspect ;
+       typedef ACT::Basic_Scheduler< scheduler_aspect > Test_Scheduler ;
 
        // Explicit instantiation of our Test_Scheduler
-       template Test_Scheduler ;
+       template class ACT::Basic_Scheduler< scheduler_aspect > ;
 
        //--------------------------------------------------
        // This test checks that the execution guard functions correctly to 
limit the total number of execution passes.
-       BOOST_AUTO_UNIT_TEST( guard_functions )
+       BOOST_AUTO_TEST_CASE( guard_functions )
        {
                scheduler_aspect_body a ;
                Test_Scheduler b = Test_Scheduler( Test_Scheduler_Aspect( & a ) 
) ;
@@ -255,7 +265,7 @@
                 * We run them 4 at a time.
                 * After the last one, the queue should be empty.
                 */
-               b.add_task( act( new N_to_completion( 6, 0 ) ) ) ;
+               b.add_task( ACT::act( new ACT::N_to_completion( 6, 0 ) ) ) ;
                a.set_execution_bound( 4 ) ;
                b() ;
                BOOST_CHECK( a.finished_within_bound() ) ;
@@ -268,16 +278,16 @@
                BOOST_CHECK( b.empty() ) ;
        }
 
-       BOOST_AUTO_UNIT_TEST( some_single_actions )
+       BOOST_AUTO_TEST_CASE( some_single_actions )
        {
                scheduler_aspect_body a ;
                Test_Scheduler b = Test_Scheduler( Test_Scheduler_Aspect( & a ) 
) ;
 
-               execution_trace tr ;
-               b.add_task( act( new no_action( new simple_tracker( tr, "N" ) ) 
) ) ;
-               b.add_task( act( new single_action( new simple_tracker( tr, "A" 
) ) ) ) ;
-               b.add_task( act( new single_action( new simple_tracker( tr, "B" 
) ) ) ) ;
-               b.add_task( act( new single_action( new simple_tracker( tr, "C" 
) ) ) ) ;
+               ACT::execution_trace tr ;
+               b.add_task( ACT::act( new ACT::no_action( new simple_tracker( 
tr, "N" ) ) ) ) ;
+               b.add_task( ACT::act( new ACT::single_action( new 
simple_tracker( tr, "A" ) ) ) ) ;
+               b.add_task( ACT::act( new ACT::single_action( new 
simple_tracker( tr, "B" ) ) ) ) ;
+               b.add_task( ACT::act( new ACT::single_action( new 
simple_tracker( tr, "C" ) ) ) ) ;
 
                a.set_execution_bound( 100 ) ;
                b() ;
@@ -288,15 +298,15 @@
                BOOST_CHECK( b.empty() ) ;
        }
 
-       BOOST_AUTO_UNIT_TEST( act_n_interleaved )
+       BOOST_AUTO_TEST_CASE( act_n_interleaved )
        {
                scheduler_aspect_body a ;
                Test_Scheduler b = Test_Scheduler( Test_Scheduler_Aspect( & a ) 
) ;
 
-               execution_trace tr ;
-               b.add_task( act( new N_to_completion( 2, new simple_tracker( 
tr, "A" ) ) ) ) ;
-               b.add_task( act( new N_to_completion( 3, new simple_tracker( 
tr, "B" ) ) ) ) ;
-               b.add_task( act( new N_to_completion( 5, new simple_tracker( 
tr, "C" ) ) ) ) ;
+               ACT::execution_trace tr ;
+               b.add_task( ACT::act( new ACT::N_to_completion( 2, new 
simple_tracker( tr, "A" ) ) ) ) ;
+               b.add_task( ACT::act( new ACT::N_to_completion( 3, new 
simple_tracker( tr, "B" ) ) ) ) ;
+               b.add_task( ACT::act( new ACT::N_to_completion( 5, new 
simple_tracker( tr, "C" ) ) ) ) ;
                
                a.set_execution_bound( 100 ) ;
                b() ;
@@ -309,18 +319,18 @@
        //--------------------------------------------------
        // Same as act_n_interleaved, but using a Supplied_Service
 
-       BOOST_AUTO_UNIT_TEST( act_n_service )
+       BOOST_AUTO_TEST_CASE( act_n_service )
        {
                scheduler_aspect_body a ;
                Test_Scheduler b = Test_Scheduler( Test_Scheduler_Aspect( & a ) 
) ;
 
-               execution_trace tr ;
-               Supplied_Service * ss = new Supplied_Service( b, new 
simple_tracker( tr, "S" ) ) ;
-               ss -> add_task( shared_ptr< basic_act >( new N_to_completion( 
2, new simple_tracker( tr, "A" ) ) ) ) ;
-               ss -> add_task( shared_ptr< basic_act >( new N_to_completion( 
3, new simple_tracker( tr, "B" ) ) ) ) ;
-               ss -> add_task( shared_ptr< basic_act >( new N_to_completion( 
5, new simple_tracker( tr, "C" ) ) ) ) ;
+               ACT::execution_trace tr ;
+               ACT::Supplied_Service * ss = new ACT::Supplied_Service( b, new 
simple_tracker( tr, "S" ) ) ;
+               ss -> add_task( shared_ptr< ACT::basic_act >( new 
ACT::N_to_completion( 2, new simple_tracker( tr, "A" ) ) ) ) ;
+               ss -> add_task( shared_ptr< ACT::basic_act >( new 
ACT::N_to_completion( 3, new simple_tracker( tr, "B" ) ) ) ) ;
+               ss -> add_task( shared_ptr< ACT::basic_act >( new 
ACT::N_to_completion( 5, new simple_tracker( tr, "C" ) ) ) ) ;
 
-               b.add_service( act( ss ) ) ;
+               b.add_service( ACT::act( ss ) ) ;
                ss -> shutdown() ;
                a.set_execution_bound( 100 ) ;
                b() ;
@@ -332,19 +342,19 @@
        }
 
        //--------------------------------------------------
-       BOOST_AUTO_UNIT_TEST( pause_action )
+       BOOST_AUTO_TEST_CASE( pause_action )
        {
                scheduler_aspect_body a ;
                Test_Scheduler b = Test_Scheduler( Test_Scheduler_Aspect( & a ) 
) ;
                BOOST_REQUIRE( b.empty() ) ;
 
-               Pause_Demon * pause( new Pause_Demon( & b ) ) ;
-               b.add_task( act( new no_action( 0 ) ) ) ;
+               ACT::Pause_Demon * pause( new ACT::Pause_Demon( & b ) ) ;
+               b.add_task( ACT::act( new ACT::no_action( 0 ) ) ) ;
                // This pause action should immediately return, because there's 
a pending action in the scheduler.
                ( * pause )() ;
 
                a.set_execution_bound( 2 ) ;
-               b.add_service( act( pause ) ) ;
+               b.add_service( ACT::act( pause ) ) ;
                b() ;
                BOOST_CHECK( a.finished_at_bound() ) ;  // Pause demon should 
execute once, no_action once.
                BOOST_CHECK( ! b.empty() ) ;                    // demon should 
still be in queue.

Index: unit_tests/Test_Scheduling_Queue.cpp
===================================================================
RCS file: /sources/gnash/gnash/cygnal/ACT/unit_tests/Test_Scheduling_Queue.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- unit_tests/Test_Scheduling_Queue.cpp        21 Jul 2007 17:51:21 -0000      
1.5
+++ unit_tests/Test_Scheduling_Queue.cpp        16 Oct 2007 20:20:30 -0000      
1.6
@@ -45,8 +45,8 @@
 // Explicit instantiation
 #include "ACT/Scheduling_Queue.cpp"
 #include "ACT/Scheduler.T.cpp"
-template ACT::wakeup_listener_allocated< ACT::Basic_Scheduler<> > ;
-template ACT::Scheduling_Queue< test_item, ACT::wakeup_listener_allocated< 
ACT::Basic_Scheduler<> > > ;
+template class ACT::wakeup_listener_allocated< ACT::Basic_Scheduler<> > ;
+template class ACT::Scheduling_Queue< test_item, 
ACT::wakeup_listener_allocated< ACT::Basic_Scheduler<> > > ;
 
 typedef ACT::Scheduling_Queue< test_item, ACT::wakeup_listener_allocated< 
ACT::Basic_Scheduler<> > > queue_type ;
 typedef queue_type::pointer pointer ;
@@ -54,7 +54,7 @@
 using namespace ACT ;
 
 //--------------------------------------------------
-BOOST_AUTO_UNIT_TEST( simple_queue_exercise )
+BOOST_AUTO_TEST_CASE( simple_queue_exercise )
 {
        queue_type q ;
 
@@ -114,7 +114,7 @@
 //BOOST_AUTO_TEST_GENERATOR( ordering_random2_, random_permutation( 
add_then_test_order, 20000, 1 ) )
 
 //--------------------------------------------------
-BOOST_AUTO_UNIT_TEST( another_simple_queue_exercise )
+BOOST_AUTO_TEST_CASE( another_simple_queue_exercise )
 {
        queue_type q ;
 
@@ -209,7 +209,7 @@
 /*     This test exercises the use pattern that an ACT at the top of the queue 
is executed then rescheduled
  *     at lower priority, generally while waiting for I/O to complete.
  */
-BOOST_AUTO_UNIT_TEST( parametric_add_permuted_reorder_all )
+BOOST_AUTO_TEST_CASE( parametric_add_permuted_reorder_all )
 {
        vector_type v ;
        const size_t upper = 100 ;
@@ -242,7 +242,7 @@
        while ( i != middle ) {
                pp.push_back( q.push( test_item( * i ++ ), 0 ) ) ;
        }
-       BOOST_REQUIRE( i - begin == number_of_elements ) ;
+       BOOST_REQUIRE( i == begin + number_of_elements ) ;
 
        const size_t number_of_wakeups = end - middle ;
        for ( j = number_of_elements ; j < number_of_wakeups + 
number_of_elements ; ++ j ) {
@@ -256,7 +256,7 @@
 
 /*     This test exercises the use pattern that an ACT somewhere in the queue 
wakes up and becomes ready for execution.
  */
-BOOST_AUTO_UNIT_TEST( add_permuted_wakeup_all )
+BOOST_AUTO_TEST_CASE( add_permuted_wakeup_all )
 {
        vector_type v ;
        const size_t n = 100 ;




reply via email to

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