[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