[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