[Avida-SVN] r1270 - in extras: . source/testsuites source/testsuites/nAnalyze/Brainstorm

kaben at myxo.css.msu.edu kaben at myxo.css.msu.edu
Tue Feb 13 06:02:59 PST 2007


Author: kaben
Date: 2007-02-13 09:02:59 -0500 (Tue, 13 Feb 2007)
New Revision: 1270

Added:
   extras/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous/
Removed:
   extras/source/testsuites/nAnalyze/Brainstorm/EpochalVsContinuous/
Modified:
   extras/
   extras/source/testsuites/nAnalyze.cpp
Log:
 r1316 at stochastic:  kaben | 2007-02-07 10:34:00 -0500
 - Renamed "EpochalVsContinuous" project to "SynchronousVsContinuous".
 - Added test
   "cAnalyze_UnitTest_SynchronousVsContinuous_temporary_next_id".



Property changes on: extras
___________________________________________________________________
Name: svk:merge
   - 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1315
   + 079b078a-dbed-46b9-b3da-37668d4295ca:/avida/local/extras:1316

Copied: extras/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous (from rev 1239, extras/source/testsuites/nAnalyze/Brainstorm/EpochalVsContinuous)

Modified: extras/source/testsuites/nAnalyze.cpp
===================================================================
--- extras/source/testsuites/nAnalyze.cpp	2007-02-13 14:02:47 UTC (rev 1269)
+++ extras/source/testsuites/nAnalyze.cpp	2007-02-13 14:02:59 UTC (rev 1270)
@@ -916,7 +916,6 @@
       }
 
       ERROR("kgn at FIXME: should verify paths to config files and data dir -");
-      ERROR("kgn at FIXME: brainstorm not complete -");
 
       /* Initialize. {{{3 */
       cDriverManager::Initialize();
@@ -928,11 +927,11 @@
 
       cString local_config_dir
       = settings.Setting("ExtrasBase")
-      + "/source/testsuites/nAnalyze/Brainstorm/EpochalVsContinuous/config";
+      + "/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous/config";
 
       cString data_dir
       = settings.Setting("ExtrasBase")
-      + "/source/testsuites/nAnalyze/Brainstorm/EpochalVsContinuous/data";
+      + "/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous/data";
 
       args.PushRear("cAnalyze_Brainstorm_SynchronousVsContinuous");
 
@@ -1069,6 +1068,93 @@
     cAddTestSuite t("cAnalyze_Brainstorm_SynchronousVsContinuous", test);
   }
 
+/* Regressions. {{{1 */
+  /* cAnalyze_Regression_HelloWorld {{{2 */
+  namespace Regression_HelloWorld {
+    void test(cTestSettings &settings){
+      if(!settings.HasSetting("HelloWorld")){
+        cout << "XXX Skipping HelloWorld test." << endl;
+        return;
+      }
+      cout << "XXX This is a test stub. It needs filling-in. @kgn" << endl;
+      /* Make sure testing is working with successes and failures. @kgn */
+      TEST(true);
+      TEST(false);
+    }
+    cAddTestSuite t("cAnalyze_Regression_HelloWorld", test);
+  }
+  /* cAnalyze_Regression_Ticket1_ {{{2 */
+  namespace Regression_Ticket1_ {
+    /* Test. {{{3 */
+    void test(cTestSettings &settings){
+      /* Check settings. {{{4 */
+      if((!settings.HasSetting("DevelBase")) || (settings.Setting("DevelBase") == "")){
+        cout << "XXX Skipping : DevelBase not set." << endl;
+        return;
+      }
+      if((!settings.HasSetting("ExtrasBase")) || (settings.Setting("ExtrasBase") == "")){
+        cout << "XXX Skipping : ExtrasBase not set." << endl;
+        return;
+      }
+
+      ERROR("kgn at FIXME - incomplete test -");
+      ERROR("kgn at FIXME - should verify paths to config files and data dir -");
+      /* Make sure testing is working with successes and failures. @kgn */
+      TEST(true);
+      TEST(false);
+
+      /* Initialize. {{{4 */
+      cDriverManager::Initialize();
+      cStringList args;
+
+      cString config_dir
+      = settings.Setting("ExtrasBase")
+      + "/source/testsuites/nAnalyze/Regression/Ticket1_/config";
+
+      cString data_dir
+      = settings.Setting("ExtrasBase")
+      + "/source/testsuites/nAnalyze/Regression/Ticket1_/data";
+
+      args.PushRear("cAnalyze_Brainstorm_SynchronousVsContinuous");
+
+      args.PushRear("-c");
+      args.PushRear(config_dir + "/avida.cfg");
+
+      args.PushRear("-set");
+      args.PushRear("ANALYZE_FILE");
+      args.PushRear(config_dir + "/analyze.cfg");
+
+      /* Run Avida. {{{4 */
+      if(true){
+        cout << "------ Starting Avida run." << endl;
+
+        cWorld *world = new cWorld(cAvidaConfig::LoadWithArgs(args));
+        if(!world){
+          ERROR("Couldn't instantiate cWorld -");
+          return;
+        }
+        cAvidaDriver* driver = new cDefaultAnalyzeDriver(world, false);
+        if(!driver){
+          ERROR("Couldn't instantiate cDefaultAnalyzeDriver -");
+          return;
+        }
+
+        driver->Run();
+
+        //if(false){
+        //  cAnalyze& a = world->GetAnalyze();
+        //  a.RunFile("/Users/kaben/Projects/Software/Avida/svk/avida-extras/source/testsuites/nAnalyze/Regression/Ticket1_/config/analyze.cfg");
+        //}
+
+        delete driver; driver=0;
+        // note: driver deletes world deletes config.
+
+        cout << "------ Finished Avida run." << endl;
+      }
+    }
+    cAddTestSuite t("cAnalyze_Regression_Ticket1_", test);
+  }
+  // }}}1
 /* Unit tests. {{{1 */
   /* cAnalyze_UnitTest_HelloWorld {{{2 */
   namespace UnitTest_HelloWorld {
@@ -1168,6 +1254,155 @@
     cAddTestSuite t("cAnalyze_UnitTest_Archiving", test);
   }
 
+  /* cAnalyze_UnitTest_SynchronousVsContinuous_temporary_next_id {{{2 */
+  namespace UnitTest_SynchronousVsContinuous_temporary_next_id {
+    void test(cTestSettings &settings){
+      /* Check settings. {{{3 */
+      if(
+        (!settings.HasSetting("DevelBase"))
+        ||
+        (settings.Setting("DevelBase") == "")
+      ){
+        cout << "XXX Skipping : DevelBase not set." << endl;
+        return;
+      }
+      if(
+        (!settings.HasSetting("ExtrasBase"))
+        ||
+        (settings.Setting("ExtrasBase") == "")
+      ){
+        cout << "XXX Skipping : ExtrasBase not set." << endl;
+        return;
+      }
+      ERROR("kgn at FIXME: Test is still under construction -");
+
+      {
+        cDriverManager::Initialize();
+        cStringList args;
+
+        cString config_dir
+        = settings.Setting("DevelBase")
+        + "/support/config";
+
+        cString local_config_dir
+        = settings.Setting("ExtrasBase")
+        + "/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous/config";
+
+        cString data_dir
+        = settings.Setting("ExtrasBase")
+        + "/source/testsuites/nAnalyze/Brainstorm/SynchronousVsContinuous/data";
+
+        args.PushRear("cAnalyze_Brainstorm_SynchronousVsContinuous");
+
+        args.PushRear("-c");
+        args.PushRear(config_dir + "/avida.cfg");
+
+        args.PushRear("-s");
+        args.PushRear("101");
+
+        args.PushRear("-set");
+        args.PushRear("WORLD_X");
+        args.PushRear("20");
+
+        args.PushRear("-set");
+        args.PushRear("WORLD_Y");
+        args.PushRear("20");
+
+        args.PushRear("-set");
+        args.PushRear("EVENT_FILE");
+        args.PushRear(local_config_dir + "/events.cfg");
+
+        args.PushRear("-set");
+        args.PushRear("START_CREATURE");
+        args.PushRear(local_config_dir + "/default-classic.org");
+
+        args.PushRear("-set");
+        args.PushRear("DATA_DIR");
+        args.PushRear(data_dir);
+
+        /* Verify temporary_next_id is initially zero. */
+        /* Verify initial_next_id == -1 leaves temporary_next_id unchanged. */
+         ERROR("kgn at To-Do: Verify initial_next_id == -1 leaves temporary_next_id unchanged -");
+        /* Verify temporary_next_id is incremented "batch_size" times. */
+         ERROR("kgn at To-Do: Verify temporary_next_id is incremented batch_size times -");
+        /* Verify initial_next_id == -1 leaves temporary_next_id unchanged. */
+         ERROR("kgn at To-Do: Verify initial_next_id == -1 again leaves temporary_next_id unchanged -");
+        /* Verify temporary_next_id is incremented "batch_size" more times. */
+         ERROR("kgn at To-Do: Verify temporary_next_id is again incremented batch_size times -");
+        /* Verify initial_next_id == 3 resets temporary_next_id. */
+         ERROR("kgn at To-Do: Verify initial_next_id == 3 resets temporary_next_id to 3 -");
+        /* Verify temporary_next_id is incremented "batch_size" more times. */
+         ERROR("kgn at To-Do: Verify temporary_next_id is again incremented batch_size times -");
+        if(true){
+          cout << "------ Starting Avida analysis." << endl;
+          /* Setup of Analyze mode. {{{4 */
+          cWorld *world = new cWorld(cAvidaConfig::LoadWithArgs(args));
+          if(!world){
+            ERROR("Couldn't instantiate cWorld -");
+            return;
+          }
+          cAvidaDriver* driver = new cDefaultAnalyzeDriver(world, false);
+          if(!driver){
+            ERROR("Couldn't instantiate cDefaultAnalyzeDriver -");
+            return;
+          }
+
+          cAnalyze& a = world->GetAnalyze();
+          TEST(0 == a.temporary_next_id);
+
+          cString s;
+          int batch_size = 20;
+          int batch_from = 0;
+          int batch_to = 1;
+          int initial_next_id = -1;
+
+          s = "SET s ";
+          s += cStringUtil::Convert(batch_size);
+          a.Send(s);
+
+          s = "SET f ";
+          s += cStringUtil::Convert(batch_from);
+          a.Send(s);
+
+          s = "SET t ";
+          s += cStringUtil::Convert(batch_to);
+          a.Send(s);
+
+          s = "SET x ";
+          s += cStringUtil::Convert(initial_next_id);
+          a.Send(s);
+
+          /* Begin Analyze script. {{{4 */
+          a.Send("VERBOSE");
+          a.Send("SET_BATCH $f");
+          a.Send("PURGE_BATCH");
+          {
+            s = "LOAD_ORGANISM ";
+            s += local_config_dir;
+            s += "/default-classic.org";
+          }
+          a.Send(s);
+          a.Send("RECALCULATE");
+
+          a.Send("SET_BATCH $t");
+          a.Send("PURGE_BATCH");
+
+          a.Send("COMPETE $s $f $t $x");
+
+          TEST(20 == a.temporary_next_id);
+          TEST(0 == a.temporary_next_id);
+          TEST(-1 == a.temporary_next_id);
+
+          delete driver; driver=0;
+          // note: driver deletes world deletes config.
+          
+          cout << "------ Finished Avida analysis." << endl;
+        }
+      }
+    }
+    cAddTestSuite t("cAnalyze_UnitTest_SynchronousVsContinuous_temporary_next_id", test);
+  }
+
   // }}}1
   /*
   This function does nothing;




More information about the Avida-cvs mailing list