[Avida-SVN] r2237 - extras/source/testsuites

kaben at myxo.css.msu.edu kaben at myxo.css.msu.edu
Wed Dec 19 13:55:34 PST 2007


Author: kaben
Date: 2007-12-19 16:55:34 -0500 (Wed, 19 Dec 2007)
New Revision: 2237

Modified:
   extras/source/testsuites/nAnalyze.cpp
   extras/source/testsuites/nAnalyzeGenotype.cpp
   extras/source/testsuites/nMemTracker.cpp
   extras/source/testsuites/nString.cpp
Log:
Trying to overcome svn commit merge woes...


Modified: extras/source/testsuites/nAnalyze.cpp
===================================================================
--- extras/source/testsuites/nAnalyze.cpp	2007-12-19 21:39:18 UTC (rev 2236)
+++ extras/source/testsuites/nAnalyze.cpp	2007-12-19 21:55:34 UTC (rev 2237)
@@ -44,7 +44,6 @@
 #include "cSchedule.h"
 #include "cStringUtil.h"
 #include "cTestCPU.h"
-#include "cTestingWorldDriver.h"
 #include "cTestLib.h"
 #if ENABLE_SERIALIZATION
 #  include "cXMLArchive.h"
@@ -119,432 +118,28 @@
   void PhysicalLink(){}
 }
 
-/* cAnalyze_Brainstorm_RunningAnalyze {{{2 */
+/* Regressions. */
 namespace cAnalyze_Brainstorm_RunningAnalyze {
 
-#   define RIT(mt, class_name) \
-    (mt).RegTracker( \
-      (#class_name), \
-      (tMemTrack< class_name >::Instances) \
-    )
-
-  typedef int (*tTracker)(int);
-  class cMemTracker {
-  protected:
-    class cCheckpoint {
-    protected:
-      tTracker m_tracker;
-      int m_marks;
-    protected:
-      tTracker Tracker(){ return m_tracker; }
-    public:
-      int Instances(){
-        if(m_tracker) return (*m_tracker)(0);
-        return -1;
-      }
-      void SetTracker(tTracker tracker){ m_tracker = tracker; }
-      void Mark(){
-        m_marks = Instances();
-      }
-      void Expect(int count){ m_marks = count; }
-      int ShowMark(){ return m_marks; }
-      bool Verify(){
-        return (Tracker()) && (ShowMark() == Instances());
-      }
-
-      cCheckpoint& operator=(cCheckpoint & in)
-      {
-        SetTracker(in.Tracker());
-        Expect(in.ShowMark());
-      } else {
-        ERROR("couldn't find root of subtree -");
-        return;
-      }
-      cCheckpoint()
-      : m_tracker(0)
-      , m_marks(-1)
-      {}
-      cCheckpoint(const cCheckpoint &c)
-      : m_tracker(c.m_tracker)
-      , m_marks(c.m_marks)
-      {}
-      cCheckpoint(tTracker tracker)
-      : m_tracker(tracker)
-      , m_marks(0)
-      {
-        /*
-        bugfix : tracker can be 0, in which case we need to set
-        m_marks to -1. @kgn
-        */
-        Expect(ShowMark());
-      }
-    };
-  protected:
-    tDictionary<cCheckpoint> m_tracker_dict;
-  public:
-    cMemTracker& operator=(const cMemTracker &in){
-      /* Empty current dictionary */
-      {
-        tList<cString> name_list;
-        tList<cCheckpoint> value_list;
-        m_tracker_dict.AsLists(name_list, value_list);
-        tListIterator<cString> list_it(name_list);
-        while (list_it.Next() != 0) {
-          cString name(*list_it.Get());
-          m_tracker_dict.Remove(name);
-        }
-      }
-      /* Copy input dictionary */
-      {
-        tList<cString> name_list;
-        tList<cCheckpoint> value_list;
-        in.m_tracker_dict.AsLists(name_list, value_list);
-        tListIterator<cString> list_it(name_list);
-        while (list_it.Next() != 0) {
-          cString name(*list_it.Get());
-          cCheckpoint c;
-          if(in.m_tracker_dict.Find(name, c)){
-            m_tracker_dict.SetValue(name, c);
-          } else {
-            ERROR(name + " missing from input cMemTracker instance");
-          }
-        }
-      }
-      return *this;
-    }
-    cMemTracker(){}
-    cMemTracker(const cMemTracker &in){
-      tList<cString> name_list;
-      tList<cCheckpoint> value_list;
-      in.m_tracker_dict.AsLists(name_list, value_list);
-      tListIterator<cString> list_it(name_list);
-
-      while (list_it.Next() != 0) {
-        cString name(*list_it.Get());
-        cCheckpoint c;
-        if(in.m_tracker_dict.Find(name, c)){
-          m_tracker_dict.SetValue(name, c);
-        } else {
-          ERROR(name + " missing from input cMemTracker instance");
-        }
-      }
-    }
-    void RegTracker(const cString &name, tTracker tracker){
-      m_tracker_dict.SetValue(name, tracker);
-    }
-    int Instances(const cString &n){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        return c.Instances();
-      } else {
-        return -1;
-      }
-    }
-    int ShowMark(const cString &n){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        return c.ShowMark();
-      } else {
-        return -1;
-      }
-    }
-    bool Mark(const cString &n){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        c.Mark();
-        m_tracker_dict.SetValue(name, c);
-        return true;
-      } else {
-        return false;
-      }
-    }
-    bool Expect(const cString &n, int i){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        c.Expect(i);
-        m_tracker_dict.SetValue(name, c);
-        return true;
-      } else {
-        return false;
-      }
-    }
-    bool IncMark(const cString &n, int i){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        c.Expect(c.ShowMark() + i);
-        m_tracker_dict.SetValue(name, c);
-        return true;
-      } else {
-        return false;
-      }
-    }
-    bool Verify(const cString &n){
-      cString name(n);
-      cCheckpoint c;
-      if(m_tracker_dict.Find(name, c)){
-        return c.Verify();
-      } else {
-        ERROR(name + " is not being tracked");
-        return false;
-      }
-    }
-
-    void ShowMarks(){
-      tList<cString> name_list;
-      tList<cCheckpoint> value_list;
-      m_tracker_dict.AsLists(name_list, value_list);
-      tListIterator<cString> list_it(name_list);
-
-      while (list_it.Next() != 0) {
-        cString name(*list_it.Get());
-        cout << ShowMark(name) << " marked instances of " << name << endl;
-      }
-    }
-    void MarkAll(){
-      tList<cString> name_list;
-      tList<cCheckpoint> value_list;
-      m_tracker_dict.AsLists(name_list, value_list);
-      tListIterator<cString> list_it(name_list);
-
-      while (list_it.Next() != 0) { Mark(*list_it.Get()); }
-    }
-    void Report(){
-      tList<cString> name_list;
-      tList<cCheckpoint> value_list;
-      m_tracker_dict.AsLists(name_list, value_list);
-      tListIterator<cString> list_it(name_list);
-
-      while (list_it.Next() != 0) {
-        cString name(*list_it.Get());
-        cout << Instances(name) << " instances of " << name << endl;
-      }
-    }
-    bool Verify(){
-      tList<cString> name_list;
-      tList<cCheckpoint> value_list;
-      m_tracker_dict.AsLists(name_list, value_list);
-      tListIterator<cString> list_it(name_list);
-
-      int failures = 0;
-      while (list_it.Next() != 0) {
-        cString name(*list_it.Get());
-        if(!Verify(name)){
-          ERROR(name + " has unexpected instance count");
-          cerr << ShowMark(name) << " marked instances of " << name << endl;
-          cerr << Instances(name) << " instances of " << name << endl;
-          failures++;
-        }
-      }
-      return 0 == failures;
-    }
-  };
-
-#if USE_tMemTrack
-  class cNul {
-    tMemTrack<cNul> mt;
-  };
-#endif
-
   void testsuite(){
-    cout << "XXX This is a testsuite demo. It needs filling-in. @kgn" << endl;
 
-  /*
-  Tests of cMemTracker.
-  */
 #if USE_tMemTrack
-    /*
-    Verifies RIT Macro
-    Verifies cMemTracker::Instances()
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-
-      /*
-      Verifies RIT Macro
-      */
-      RIT(tmt, cNul);
-
-      /*
-      Verifies cMemTracker::Instances()
-      */
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(1 == tmt.Instances("cNul"));
-    }
-    /*
-    Verifies cMemTracker::Mark()
-    Verifies cMemTracker::ShowMark()
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-      TEST(-1 == tmt.ShowMark("cNul"));
-
-      RIT(tmt, cNul);
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.Mark("cNul");
-
-      TEST(1 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-    }
-    /*
-    Verifies cMemTracker::Expect()
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-      TEST(-1 == tmt.ShowMark("cNul"));
-
-      RIT(tmt, cNul);
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.Expect("cNul", 1);
-
-      TEST(1 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-    }
-    /*
-    Verifies cMemTracker::IncMark()
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-      TEST(-1 == tmt.ShowMark("cNul"));
-
-      RIT(tmt, cNul);
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 1);
-
-      TEST(1 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 2);
-
-      TEST(3 == tmt.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-    }
-    /*
-    Verifies cMemTracker copy constructor
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-      TEST(-1 == tmt.ShowMark("cNul"));
-
-      RIT(tmt, cNul);
-
-      cMemTracker tmt2(tmt);
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 1);
-
-      TEST(1 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 2);
-
-      TEST(3 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-    }
-    /*
-    Verifies cMemTracker assignment operator
-    */
-    {
-      cMemTracker tmt;
-
-      TEST(-1 == tmt.Instances("cNul"));
-      TEST(-1 == tmt.ShowMark("cNul"));
-
-      RIT(tmt, cNul);
-
-      cMemTracker tmt2 = tmt;
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(0 == tmt.Instances("cNul"));
-
-      cNul n;
-
-      TEST(0 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 1);
-
-      TEST(1 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-
-      tmt.IncMark("cNul", 2);
-
-      TEST(3 == tmt.ShowMark("cNul"));
-      TEST(0 == tmt2.ShowMark("cNul"));
-      TEST(1 == tmt.Instances("cNul"));
-    }
-#endif
-
-#if USE_tMemTrack
     cMemTracker mt;
-    RIT(mt, cActionLibrary);
-    RIT(mt, cAnalyze);
-    RIT(mt, cAvidaConfig);
-    RIT(mt, cAvidaContext);
-    RIT(mt, cClassificationManager);
-    RIT(mt, cDataFileManager);
-    RIT(mt, cDefaultAnalyzeDriver);
-    RIT(mt, cEnvironment);
-    RIT(mt, cEventList);
-    RIT(mt, cHardwareManager);
-    RIT(mt, cPopulation);
-    RIT(mt, cRandom);
-    RIT(mt, cStats);
-    RIT(mt, cWorld);
-    RIT(mt, cWorldDriver);
+    REGISTER_INSTANCE_TRACKER(mt, cActionLibrary);
+    REGISTER_INSTANCE_TRACKER(mt, cAnalyze);
+    REGISTER_INSTANCE_TRACKER(mt, cAvidaConfig);
+    REGISTER_INSTANCE_TRACKER(mt, cAvidaContext);
+    REGISTER_INSTANCE_TRACKER(mt, cClassificationManager);
+    REGISTER_INSTANCE_TRACKER(mt, cDataFileManager);
+    REGISTER_INSTANCE_TRACKER(mt, cDefaultAnalyzeDriver);
+    REGISTER_INSTANCE_TRACKER(mt, cEnvironment);
+    REGISTER_INSTANCE_TRACKER(mt, cEventList);
+    REGISTER_INSTANCE_TRACKER(mt, cHardwareManager);
+    REGISTER_INSTANCE_TRACKER(mt, cPopulation);
+    REGISTER_INSTANCE_TRACKER(mt, cRandom);
+    REGISTER_INSTANCE_TRACKER(mt, cStats);
+    REGISTER_INSTANCE_TRACKER(mt, cWorld);
+    REGISTER_INSTANCE_TRACKER(mt, cWorldDriver);
 
     mt.MarkAll();
 #endif
@@ -648,7 +243,6 @@
   cAddTestSuite t("cAnalyze_Brainstorm_RunningAnalyze", testsuite);
 }
 
-/* cAnalyze_Brainstorm_CumulativeStemminess_fake_3 {{{2 */
 /*
 Steps, after having loaded detail and historic files containing tree into current batch:
 - 
@@ -1545,7 +1139,6 @@
   cAddTestSuite t("cAnalyze_Brainstorm_CumulativeStemminess_fake_3", testsuite);
 }
 
-/* cAnalyze_Brainstorm_CumulativeStemminess_fake_2 {{{2 */
 /*
 To-Do : Seems to crash if historic-fake.pop is not loaded.
 - so apparently gaps in the phylogenetic tree are bad.
@@ -1972,7 +1565,6 @@
       /*
       Test: branch-subtree info. {{{3
       */
-      ERROR("TODO at kgn: rename 'branch subtree' and 'branch tree' to something better -");
       cString bicheck_filename("./branchinfo_check.dat");
       {
         {
@@ -2244,14 +1836,16 @@
           }
           // set root stemminess to zero.
           expectedf[5] = 0.0;
-          for(int i = 0; i < 9; i++){ sum += expectedf[i]; }
           for(int i = 0; i < 9; i++){
             bool not_leaf = true;
             if (should_exclude_leaves) {
               not_leaf = (0 < expected[i][4]);
             }
             bool not_root = (0 < expected[i][2]);
-            if (not_leaf && not_root){ nodes++; }
+            if (not_leaf && not_root){
+              nodes++;
+              sum += expectedf[i];
+            }
           }
           average = sum / (double)nodes;
 
@@ -2389,7 +1983,6 @@
   cAddTestSuite t("cAnalyze_Brainstorm_CumulativeStemminess_fake_2", testsuite);
 }
 
-/* cAnalyze_Brainstorm_CumulativeStemminess_fake_1 {{{2 */
 /*
 To-Do : Seems to crash if historic-fake.pop is not loaded.
 - so apparently gaps in the phylogenetic tree are bad.
@@ -3295,7 +2888,6 @@
   cAddTestSuite t("cAnalyze_Brainstorm_CumulativeStemminess_fake_1", testsuite);
 }
 
-/* cAnalyze_Brainstorm_CumulativeStemminess {{{2 */
 namespace cAnalyze_Brainstorm_CumulativeStemminess {
   struct cAGLData {
     cAnalyzeGenotype *genotype; //
@@ -3557,7 +3149,6 @@
   cAddTestSuite t("cAnalyze_Brainstorm_CumulativeStemminess", testsuite);
 }
 
-/* cAnalyze_Brainstorm_SynchronousVsContinuous {{{2 */
 namespace cAnalyze_Brainstorm_SynchronousVsContinuous {
   void testsuite(cTestSettings &settings){
     /* Check settings. {{{3 */
@@ -3736,8 +3327,7 @@
   cAddTestSuite t("cAnalyze_Brainstorm_SynchronousVsContinuous", testsuite);
 }
 
-/* Regressions. {{{1 */
-/* cAnalyze_Regression_Ticket1_ {{{2 */
+/* Regressions. */
 namespace cAnalyze_Regression_Ticket1_ {
   /* Test. {{{3 */
   void testsuite(cTestSettings &settings){
@@ -3812,9 +3402,8 @@
   }
   cAddTestSuite t("cAnalyze_Regression_Ticket1_", testsuite);
 }
-// }}}1
-/* Unit tests. {{{1 */
-/* cAnalyze_UnitTest_cAvidaConfigDestruction {{{2 */
+
+/* Unit tests. */
 namespace cAnalyze_UnitTest_cAvidaConfigDestruction {
   void testsuite(cTestSettings &settings){
     cout << "XXX This is a test demo. It needs filling-in. @kgn" << endl;
@@ -3826,7 +3415,6 @@
   cAddTestSuite t("cAnalyze_UnitTest_cAvidaConfigDestruction", testsuite);
 }
 
-/* cAnalyze_UnitTest_Destructor {{{2 */
 namespace cAnalyze_UnitTest_Destructor {
   void testsuite(cTestSettings &settings){
     if(!settings.HasSetting("KnownIssues")){
@@ -3839,12 +3427,6 @@
     cout << "what's wrong, move this test to reflect the" << endl;
     cout << "source of the bug. @kgn" << endl;
     cout << "XXX This is a test demo. It needs filling-in. @kgn" << endl;
-  cAddTestSuite t("cAnalyze_UnitTest_cAvidaConfigDestruction", testsuite);
-}
-  cAddTestSuite t("cAnalyze_UnitTest_cAvidaConfigDestruction", testsuite);
-}
-  cAddTestSuite t("cAnalyze_UnitTest_cAvidaConfigDestruction", testsuite);
-}
 
     char * argv[] = {
       "cAnalyze_UnitTest_Destructor",
@@ -3877,7 +3459,6 @@
   cAddTestSuite t("cAnalyze_UnitTest_Destructor", testsuite);
 }
 
-/* cAnalyze_UnitTest_Archiving {{{2 */
 namespace cAnalyze_UnitTest_Archiving {
   void testsuite(cTestSettings &settings){
     if(!settings.HasSetting("TemplateTests")){
@@ -3908,7 +3489,6 @@
   cAddTestSuite t("cAnalyze_UnitTest_Archiving", testsuite);
 }
 
-/* cAnalyze_UnitTest_SynchronousVsContinuous_temporary_next_id {{{2 */
 namespace cAnalyze_UnitTest_SynchronousVsContinuous_temporary_next_id {
   void set_batch(
     cAnalyze& a,

Modified: extras/source/testsuites/nAnalyzeGenotype.cpp
===================================================================
--- extras/source/testsuites/nAnalyzeGenotype.cpp	2007-12-19 21:39:18 UTC (rev 2236)
+++ extras/source/testsuites/nAnalyzeGenotype.cpp	2007-12-19 21:55:34 UTC (rev 2237)
@@ -24,10 +24,9 @@
 
 #include "cAnalyzeGenotype.h"
 
-#include "Avida.h"
+#include "avida.h"
 #include "cDriverManager.h"
 #include "cHardwareManager.h"
-#include "cTestingWorldDriver.h"
 #include "cTestLib.h"
 #include "cWorld.h"
 

Modified: extras/source/testsuites/nMemTracker.cpp
===================================================================
--- extras/source/testsuites/nMemTracker.cpp	2007-12-19 21:39:18 UTC (rev 2236)
+++ extras/source/testsuites/nMemTracker.cpp	2007-12-19 21:55:34 UTC (rev 2237)
@@ -3,8 +3,23 @@
  *  Avida at vallista
  *
  *  Created by Kaben Nanlohy on 2007.06.11.
- *  Copyright 2007 __MyCompanyName__. All rights reserved.
+ *  Copyright 1999-2007 Michigan State University. All rights reserved.
  *
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; version 2
+ *  of the License.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
  */
 
 #include "cMemTracker.h"
@@ -194,4 +209,4 @@
 #endif
   }
   cAddTestSuite t("cMemTracker_UnitTest", testsuite);
-}==== ORIGINAL VERSION extras/source/testsuites/nMemTracker.cpp 119809609638385
+}

Modified: extras/source/testsuites/nString.cpp
===================================================================
--- extras/source/testsuites/nString.cpp	2007-12-19 21:39:18 UTC (rev 2236)
+++ extras/source/testsuites/nString.cpp	2007-12-19 21:55:34 UTC (rev 2237)
@@ -74,8 +74,6 @@
 
   void PhysicalLink(){}
 }
-  cAddTestSuite t("cString_FunctionalTest_StringManip", testsuite);
-}
 
 /* Unit tests. */
 namespace cString_FunctionalTest_StringManip {




More information about the Avida-cvs mailing list