[avida-cvs] avida(kaben) CVS commits: /current configure.in /current/source/main Makefile.am /current/source/main/functional_testsuites Makefile.am /current/source/main/functional_testsuites/default.md5sum analyze.cfg environment.cfg events.cfg genesis inst_set.default md5sum.exp md5sum.sh organism.default /current/source/main/functional_testsuites/default.tail analyze.cfg environment.cfg events.cfg genesis inst_set.default organism.default tail.exp tail.sh /current/source/main/functional_testsuites/tedious.tail analyze.cfg environment.cfg events.cfg genesis inst_set.default organism.default tail.exp tail.sh /current/source/main/unit_testsuites Makefile.am dejagnu.h /current/source/main/unit_testsuites/config unix.exp /current/source/main/unit_testsuites/demo.hello hello.cc hello.exp
kaben
avida-cvs at alife.org
Fri Oct 3 21:46:45 PDT 2003
kaben Fri Oct 3 13:46:45 2003 EDT
Added files: (Branch: kaben)
/avida/current/source/main/functional_testsuites Makefile.am
/avida/current/source/main/functional_testsuites/default.md5sum
analyze.cfg
environment.cfg
events.cfg
genesis
inst_set.default
md5sum.exp
md5sum.sh
organism.default
/avida/current/source/main/functional_testsuites/default.tail
analyze.cfg
environment.cfg
events.cfg
genesis
inst_set.default
organism.default
tail.exp
tail.sh
/avida/current/source/main/functional_testsuites/tedious.tail
analyze.cfg
environment.cfg
events.cfg
genesis
inst_set.default
organism.default
tail.exp
tail.sh
/avida/current/source/main/unit_testsuites Makefile.am dejagnu.h
/avida/current/source/main/unit_testsuites/config unix.exp
/avida/current/source/main/unit_testsuites/demo.hello hello.cc
hello.exp
Modified files:
/avida/current configure.in
/avida/current/source/main Makefile.am
Log:
Adding demo testsuites to my branch.
-------------- next part --------------
Index: avida/current/configure.in
diff -u avida/current/configure.in:1.22.2.10 avida/current/configure.in:1.22.2.11
--- avida/current/configure.in:1.22.2.10 Thu Oct 2 17:04:36 2003
+++ avida/current/configure.in Fri Oct 3 13:46:44 2003
@@ -89,12 +89,26 @@
AM_CONDITIONAL(BUILD_PRIMITIVE, test x$build_primitive = xtrue)
-AC_ARG_ENABLE(primitive,
- [ --disable-primitive: Disable build of gui-less avida],
- [build_primitive=false],
- [build_primitive=true])
-AM_CONDITIONAL(BUILD_PRIMITIVE, test x$build_primitive = xtrue)
+dnl regression testsuites
+regression_tests=false;
+
+AC_ARG_ENABLE(all-tests,
+ [ --enable-all-tests: Comprehensive regression tests via 'make check'],
+ [all_tests=true; regression_tests=true], [all_tests=false])
+
+AC_ARG_ENABLE(default-tests,
+ [ --disable-default-tests: Disable default regression tests via 'make check'],
+ [default_tests=false], [default_tests=true; regression_tests=true])
+AM_CONDITIONAL(DEFAULT_TESTS, test x$default_tests = xtrue)
+
+AC_ARG_ENABLE(tedious-tests,
+ [ --enable-tedious-tests: Tedious regression tests via 'make check'],
+ [tedious_tests=true; regression_tests=true],
+ [if test x$all_tests = xtrue; then tedious_tests=true; else tedious_tests=false; fi])
+AM_CONDITIONAL(TEDIOUS_TESTS, test x$tedious_tests = xtrue)
+
+AM_CONDITIONAL(DEJAGNU_REGRESSION_TESTS, test x$regression_tests = xtrue)
dnl ****************************************
dnl Checks for ncurses viewer
@@ -184,6 +198,8 @@
source/tools/Makefile source/cpu/Makefile
source/event/Makefile source/viewers/Makefile
source/main/Makefile
+ source/main/functional_testsuites/Makefile
+ source/main/unit_testsuites/Makefile
source/support/Makefile
source/support/preset_organisms/Makefile
source/qt-viewer/Makefile
Index: avida/current/source/main/Makefile.am
diff -u avida/current/source/main/Makefile.am:1.24.2.12 avida/current/source/main/Makefile.am:1.24.2.13
--- avida/current/source/main/Makefile.am:1.24.2.12 Mon Aug 25 23:30:22 2003
+++ avida/current/source/main/Makefile.am Fri Oct 3 13:46:44 2003
@@ -75,3 +75,7 @@
endif
EXTRA_DIST = main.pro main_sub.pri
+
+if DEJAGNU_REGRESSION_TESTS
+SUBDIRS = . unit_testsuites functional_testsuites
+endif
Index: avida/current/source/main/functional_testsuites/Makefile.am
+++ avida/current/source/main/functional_testsuites/Makefile.am
AUTOMAKE_OPTIONS = dejagnu
TESTSUITES =
EXTRA_DIST =
EXTRA_DIST += default.md5sum default.tail
if DEFAULT_TESTS
TESTSUITES += default
endif
EXTRA_DIST +=tedious.tail
if TEDIOUS_TESTS
TESTSUITES += tedious
endif
DEJATOOL = $(TESTSUITES)
AM_RUNTESTFLAGS = AVIDA_BLDDIR=`pwd`/..
Index: avida/current/source/main/functional_testsuites/default.md5sum/analyze.cfg
+++ avida/current/source/main/functional_testsuites/default.md5sum/analyze.cfg
Index: avida/current/source/main/functional_testsuites/default.md5sum/environment.cfg
+++ avida/current/source/main/functional_testsuites/default.md5sum/environment.cfg
Index: avida/current/source/main/functional_testsuites/default.md5sum/events.cfg
+++ avida/current/source/main/functional_testsuites/default.md5sum/events.cfg
Index: avida/current/source/main/functional_testsuites/default.md5sum/genesis
+++ avida/current/source/main/functional_testsuites/default.md5sum/genesis
Index: avida/current/source/main/functional_testsuites/default.md5sum/inst_set.default
+++ avida/current/source/main/functional_testsuites/default.md5sum/inst_set.default
Index: avida/current/source/main/functional_testsuites/default.md5sum/md5sum.exp
+++ avida/current/source/main/functional_testsuites/default.md5sum/md5sum.exp
Index: avida/current/source/main/functional_testsuites/default.md5sum/md5sum.sh
+++ avida/current/source/main/functional_testsuites/default.md5sum/md5sum.sh
Index: avida/current/source/main/functional_testsuites/default.md5sum/organism.default
+++ avida/current/source/main/functional_testsuites/default.md5sum/organism.default
Index: avida/current/source/main/functional_testsuites/default.tail/analyze.cfg
+++ avida/current/source/main/functional_testsuites/default.tail/analyze.cfg
Index: avida/current/source/main/functional_testsuites/default.tail/environment.cfg
+++ avida/current/source/main/functional_testsuites/default.tail/environment.cfg
Index: avida/current/source/main/functional_testsuites/default.tail/events.cfg
+++ avida/current/source/main/functional_testsuites/default.tail/events.cfg
Index: avida/current/source/main/functional_testsuites/default.tail/genesis
+++ avida/current/source/main/functional_testsuites/default.tail/genesis
Index: avida/current/source/main/functional_testsuites/default.tail/inst_set.default
+++ avida/current/source/main/functional_testsuites/default.tail/inst_set.default
Index: avida/current/source/main/functional_testsuites/default.tail/organism.default
+++ avida/current/source/main/functional_testsuites/default.tail/organism.default
Index: avida/current/source/main/functional_testsuites/default.tail/tail.exp
+++ avida/current/source/main/functional_testsuites/default.tail/tail.exp
Index: avida/current/source/main/functional_testsuites/default.tail/tail.sh
+++ avida/current/source/main/functional_testsuites/default.tail/tail.sh
Index: avida/current/source/main/functional_testsuites/tedious.tail/analyze.cfg
+++ avida/current/source/main/functional_testsuites/tedious.tail/analyze.cfg
#############################################################################
# This file is used to setup avida when it is in analysis-only mode (by
# running "avida -a". It allows variety of methods to load organisms
# (specifying the type of each) and analyze them once loaded.
#
# See the documentation in doc/analyze_mode.html for usage, or the file
# doc/analyze_samples.html for guidelines on writing programs.
#
#############################################################################
Index: avida/current/source/main/functional_testsuites/tedious.tail/environment.cfg
+++ avida/current/source/main/functional_testsuites/tedious.tail/environment.cfg
##############################################################################
#
# This is the setup file for the task/resource system. From here, you can
# setup the available resources (including their inflow and outflow rates) as
# well as the reactions that the organisms can trigger by performing tasks.
#
# This file is currently setup to reward 9 tasks, all of which use the
# "infinite" resource, which is undepletable.
#
# For information on how to use this file, see: doc/environment.html
# For other sample environments, see: source/support/config/
#
##############################################################################
REACTION NOT not process:value=1.0:type=pow requisite:max_count=1
REACTION NAND nand process:value=1.0:type=pow requisite:max_count=1
REACTION AND and process:value=2.0:type=pow requisite:max_count=1
REACTION ORN orn process:value=2.0:type=pow requisite:max_count=1
REACTION OR or process:value=3.0:type=pow requisite:max_count=1
REACTION ANDN andn process:value=3.0:type=pow requisite:max_count=1
REACTION NOR nor process:value=4.0:type=pow requisite:max_count=1
REACTION XOR xor process:value=4.0:type=pow requisite:max_count=1
REACTION EQU equ process:value=5.0:type=pow requisite:max_count=1
Index: avida/current/source/main/functional_testsuites/tedious.tail/events.cfg
+++ avida/current/source/main/functional_testsuites/tedious.tail/events.cfg
##############################################################################
#
# This is the setup file for the events system. From here, you can
# configure any actions that you want to have happen during the course of
# an experiment, including setting the times for data collection.
#
# basic syntax: [trigger] [start:interval:stop] [event] [arguments...]
#
# This file is currently setup to start off a population full of the
# starting organism specified in genesis, and then record key information
# every 100 updates.
#
# For information on how to use this file, see: doc/events.html
# For other sample event configurations, see: source/support/config/
#
##############################################################################
# Print all of the standard data files...
u 0:100 print_dom # Save the most abundant genotypes
u 0:100:end print_average_data # Save info about they average genotypes
u 0:100:end print_dominant_data # Save info about most abundant genotypes
u 0:100:end print_stats_data # Collect satistics about entire pop.
u 0:100:end print_count_data # Count organisms, genotypes, species, etc.
u 0:100:end print_tasks_data # Save organisms counts for each task.
u 0:100:end print_time_data # Track time conversion (generations, etc.)
u 0:100:end print_resource_data # Track resource abundance.
# A few data files not printed by default
# u 100:100:end print_error_data # Std. Error on averages.
# u 100:100:end print_variance_data # Variance on averages.
# u 100:100:end print_totals_data # Total counts over entire run.
# u 100:100:end print_tasks_exe_data # Num. times tasks have been executed.
# Setup the exit time and full population data collection.
u 100:100 detail_pop # Save current state of population.
u 100:100 dump_historic_pop # Save ancestors of current population.
u 100 exit # exit
Index: avida/current/source/main/functional_testsuites/tedious.tail/genesis
+++ avida/current/source/main/functional_testsuites/tedious.tail/genesis
#############################################################################
# This file includes all the basic run-time defines for avida.
# For more information, see doc/genesis.html
#############################################################################
VERSION_ID 2.0b6 # Do not change this value!
### Architecture Variables ###
MAX_UPDATES -1 # Maximum updates to run simulation (-1 = no limit)
MAX_GENERATIONS -1 # Maximum generations to run simulation (-1 = no limit)
END_CONDITION_MODE 0 # End run when ...
# 0 = MAX_UPDATES _OR_ MAX_GENERATIONS is reached
# 1 = MAX_UPDATES _AND_ MAX_GENERATIONS is reached
WORLD-X 20 # Width of the world in Avida mode.
WORLD-Y 20 # Height of the world in Avida mode.
WORLD_GEOMETRY 2 # 1 = Bounded Grid
# 2 = Torus (Default)
RANDOM_SEED 1 # Random number seed. (0 for based on time)
HARDWARE_TYPE 0 # 0 = Original CPUs
# 1 = New, Stack-based CPUs
MAX_CPU_THREADS 1 # Number of Threads CPUs can spawn
### Configuration Files ###
DEFAULT_DIR ../work/ # Directory in which config files are found
INST_SET inst_set.default # File containing instruction set
EVENT_FILE events.cfg # File containing list of events during run
ANALYZE_FILE analyze.cfg # File used for analysis mode
ENVIRONMENT_FILE environment.cfg # File that describes the environment
START_CREATURE organism.default # Organism to seed the soup
### Reproduction ###
BIRTH_METHOD 4 # 0 = Replace random organism in neighborhood
# 1 = Replace oldest organism in neighborhood
# 2 = Replace largest Age/Merit in neighborhood
# 3 = Place only in empty cells in neighborhood
# 4 = Replace random from entire population (Mass Action)
# 5 = Replace oldest in entire population (like Tierra)
DEATH_METHOD 0 # 0 = Never die of old age.
# 1 = Die when inst executed = AGE_LIMIT (with deviation)
# 2 = Die when inst executed = length * AGE_LIMIT (+ dev.)
AGE_LIMIT 5000 # Modifies DEATH_METHOD
AGE_DEVIATION 0 # Modified DEATH_METHOD
ALLOC_METHOD 0 # 0 = Allocated space is set to default instruction.
# 1 = Set to section of dead genome (Necrophilia)
# 2 = Allocated space is set to random instruction.
DIVIDE_METHOD 1 # 0 = Divide leaves state of mother untouched.
# 1 = Divide resets state of mother
# (after the divide, we have 2 children)
GENERATION_INC_METHOD 1 # 0 = Only the generation of the child is
# increased on divide.
# 1 = Both the generation of the mother and child are
# increased on divide (good with DIVIDE_METHOD 1).
### Divide Restrictions ####
CHILD_SIZE_RANGE 2.0 # Maximal differential between child and parent sizes.
MIN_COPIED_LINES 0.5 # Code fraction which must be copied before divide.
MIN_EXE_LINES 0.5 # Code fraction which must be executed before divide.
REQUIRE_ALLOCATE 1 # Is a an allocate required before a divide? (0/1)
REQUIRED_TASK -1 # Number of task required for successful divide.
### Mutations ###
# mutations that occur during execution..
POINT_MUT_PROB 0.0 # Mutation rate (per-location per update)
COPY_MUT_PROB 0.0075 # Mutation rate (per copy).
# mutations that occur on divide...
INS_MUT_PROB 0.0 # Insertion rate (per site, applied on divide).
DEL_MUT_PROB 0.0 # Deletion rate (per site, applied on divide).
DIV_MUT_PROB 0.0 # Mutation rate (per site, applied on divide).
DIVIDE_MUT_PROB 0.0 # Mutation rate (per divide).
DIVIDE_INS_PROB 0.05 # Insertion rate (per divide).
DIVIDE_DEL_PROB 0.05 # Deletion rate (per divide).
PARENT_MUT_PROB 0.0 # Per-site, in parent, on divide
# heads based mutations
# READ_SHIFT_PROB 0.0
# READ INS_PROB 0.0
# READ_DEL_PROB 0.0
# WRITE_SHIFT_PROB 0.0
# WRITE_INS_PROB 0.0
# WRITE_DEL_PROB 0.0
### Mutation reversions ###
# these slow down avida a lot, and should be set to 0 normally.
REVERT_FATAL 0.0 # Should any mutations be reverted on birth?
REVERT_DETRIMENTAL 0.0 # 0.0 to 1.0; Probability of reversion.
REVERT_NEUTRAL 0.0
REVERT_BENEFICIAL 0.0
STERILIZE_FATAL 0.0 # Should any mutations clear (kill) the organism?
STERILIZE_DETRIMENTAL 0.0 # 0.0 to 1.0; Probability of reset.
STERILIZE_NEUTRAL 0.0
STERILIZE_BENEFICIAL 0.0
FAIL_IMPLICIT 0 # Should copies that failed *not* due to mutations
# be eliminated?
### Time Slicing ###
AVE_TIME_SLICE 30
SLICING_METHOD 2 # 0 = CONSTANT: all organisms get default...
# 1 = PROBABILISTIC: Run _prob_ proportional to merit.
# 2 = INTEGRATED: Perfectly integrated deterministic.
SIZE_MERIT_METHOD 4 # 0 = off (merit is independent of size)
# 1 = Merit proportional to copied size
# 2 = Merit prop. to executed size
# 3 = Merit prop. to full size
# 4 = Merit prop. to min of executed or copied size
# 5 = Merit prop. to sqrt of the minimum size
TASK_MERIT_METHOD 1 # 0 = No task bonuses
# 1 = Bonus just equals the task bonus
THREAD_SLICING_METHOD 0 # 0 = One thread executed per time slice.
# 1 = All threads executed each time slice.
MAX_LABEL_EXE_SIZE 1 # Max nops marked as executed when labels are used
MERIT_TIME 1 # 0 = Merit Calculated when task completed
# 1 = Merit Calculated on Divide
MAX_NUM_TASKS_REWARDED -1 # -1 = Unlimited
### Genotype Info ###
THRESHOLD 3 # Number of organisms in a genotype needed for it
# to be considered viable.
GENOTYPE_PRINT 0 # 0/1 (off/on) Print out all threshold genotypes?
GENOTYPE_PRINT_DOM 0 # Print out a genotype if it stays dominant for
# this many updates. (0 = off)
SPECIES_THRESHOLD 2 # max failure count for organisms to be same species
SPECIES_RECORDING 0 # 1 = full, 2 = limited search (parent only)
SPECIES_PRINT 0 # 0/1 (off/on) Print out all species?
TEST_CPU_TIME_MOD 20 # Time allocated in test CPUs (multiple of length)
TRACK_MAIN_LINEAGE 1 # Track primary lineage leading to final population?
### Log Files ###
LOG_CREATURES 0 # 0/1 (off/on) toggle to print file.
LOG_GENOTYPES 0 # 0 = off, 1 = print ALL, 2 = print threshold ONLY.
LOG_THRESHOLD 0 # 0/1 (off/on) toggle to print file.
LOG_SPECIES 0 # 0/1 (off/on) toggle to print file.
LOG_LANDSCAPE 0 # 0/1 (off/on) toggle to print file.
LOG_LINEAGES 0 # 0/1 (off/on) to log advantageous mutations
# This one can slow down avida a lot. It is used to get an idea of how
# often an advantageous mutation arises, and where it goes afterwards.
# See also LINEAGE_CREATION_METHOD.
LINEAGE_CREATION_METHOD 0
# Lineage creation options are. Works only when LOG_LINEAGES is set to 1.
# 0 = manual creation (on inject, use successive integers as lineage labels).
# 1 = when a child's (potential) fitness is higher than that of its parent.
# 2 = when a child's (potential) fitness is higher than max in population.
# 3 = when a child's (potential) fitness is higher than max in dom. lineage
# *and* the child is in the dominant lineage, or (2)
# 4 = when a child's (potential) fitness is higher than max in dom. lineage
# (and that of its own lineage)
# 5 = same as child's (potential) fitness is higher than that of the
# currently dominant organism, and also than that of any organism
# currently in the same lineage.
# 6 = when a child's (potential) fitness is higher than any organism
# currently in the same lineage.
# 7 = when a child's (potential) fitness is higher than that of any
# organism in its line of descent
### END ###
Index: avida/current/source/main/functional_testsuites/tedious.tail/inst_set.default
+++ avida/current/source/main/functional_testsuites/tedious.tail/inst_set.default
nop-A 1 # a
nop-B 1 # b
nop-C 1 # c
if-n-equ 1 # d
if-less 1 # e
pop 1 # f
push 1 # g
swap-stk 1 # h
swap 1 # i
shift-r 1 # j
shift-l 1 # k
inc 1 # l
dec 1 # m
add 1 # n
sub 1 # o
nand 1 # p
IO 1 # q Puts current contents of register and gets new.
h-alloc 1 # r Allocate as much memory as organism can use.
h-divide 1 # s Cuts off everything between the read and write heads
h-copy 1 # t Combine h-read and h-write
h-search 1 # u Search for matching template, set flow head & return info
# # if no template, move flow-head here, set size&offset=0.
mov-head 1 # v Move ?IP? head to flow control.
jmp-head 1 # w Move ?IP? head by fixed amount in CX. Set old pos in CX.
get-head 1 # x Get position of specified head in CX.
if-label 1 # y
set-flow 1 # z Move flow-head to address in ?CX?
#adv-head 1
#jump-f 1
#jump-b 1
#call 1
#return 1
#if-bit-1 1
#get 1
#put 1
#h-read 1
#h-write 1
#set-head 1
#search-f 1
#search-b 1
# Works on multiple nops: pop push inc dec IO adv-head
# What if we add a new head. Search will return the location of something,
# and put the new head there. Then set-head will move another head to that
# point. In the case of the copy loop, it only needs to be set once and
# this will speed up the code quite a bit!
# Search with no template returns current position (abs line number) in
# genome.
Index: avida/current/source/main/functional_testsuites/tedious.tail/organism.default
+++ avida/current/source/main/functional_testsuites/tedious.tail/organism.default
h-alloc # Allocate space for child
h-search # Locate the end of the organism
nop-C #
nop-A #
mov-head # Place write-head at beginning of offspring.
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
nop-C #
h-search # Mark the beginning of the copy loop
h-copy # Do the copy
if-label # If we're done copying....
nop-C #
nop-A #
h-divide # ...divide!
mov-head # Otherwise, loop back to the beginning of the copy loop.
nop-A # End label.
nop-B #
Index: avida/current/source/main/functional_testsuites/tedious.tail/tail.exp
+++ avida/current/source/main/functional_testsuites/tedious.tail/tail.exp
# Note: the variables 'srcdir', 'subdir', and 'tool' (among others) are
# preinitialized by dejagnu.
# The default timeout period is 10 seconds but may be set as follows:
set timeout 30
# Give this test a name.
set test "tedious tail demo"
# Set the commandline that performs this test.
set SHELLSCRIPT "$srcdir/$subdir/tail.sh $srcdir $subdir $AVIDA_BLDDIR/primitive"
# Expected output (regular expression to match the last line of
# detail_pop.100):
set expected_output "55 49 24 1 1 99 0 0 0 100 -1 2 cccccccccccccccccccccccccccccccccccccccccutycusvabrucavcccccccccccccccccccccccccccccccccccccccccccc"
# Launch the test. Complain if there was a problem launching.
if { [scripted_test "$tool" "$test" "$SHELLSCRIPT" "$expected_output"] != "" } {
perror "failed to spawn \"$SHELLSCRIPT\"." 0
}
Index: avida/current/source/main/functional_testsuites/tedious.tail/tail.sh
+++ avida/current/source/main/functional_testsuites/tedious.tail/tail.sh
# /bin/sh
# read command-line arguments:
TESTSUITE_DIR=$1 # path to top directory for test scripts.
SUBDIR=$2 # subdir of TESTSUITE_DIR containing this script.
AVIDA_PATH=$3 # path to avida executable.
# specify paths to config files.
CFG_DIR=$TESTSUITE_DIR/$SUBDIR
GENESIS_FILE=$CFG_DIR/genesis
INST_SET=$CFG_DIR/inst_set.default
EVENT_FILE=$CFG_DIR/events.cfg
ANALYZE_FILE=$CFG_DIR/analyze.cfg
ENVIRONMENT_FILE=$CFG_DIR/environment.cfg
START_CREATURE=$CFG_DIR/organism.default
# make subdirectory for storing avida's output files.
[ -d $SUBDIR ] || mkdir -p $SUBDIR
cd $SUBDIR
# run avida, and save all output to avida_run.log.
$AVIDA_PATH \
-genesis $GENESIS_FILE \
-set INST_SET $INST_SET \
-set EVENT_FILE $EVENT_FILE \
-set ANALYZE_FILE $ANALYZE_FILE \
-set ENVIRONMENT_FILE $ENVIRONMENT_FILE \
-set START_CREATURE $START_CREATURE \
2>&1 > avida_run.log
# send the last line of detail_pop.100 back to the testdriver for
# verification.
echo "last line of output file detail_pop.100:"
tail -n 1 detail_pop.100
# sleeping for one second gives dejagnu/expect time to react.
sleep 1;
Index: avida/current/source/main/unit_testsuites/Makefile.am
+++ avida/current/source/main/unit_testsuites/Makefile.am
Index: avida/current/source/main/unit_testsuites/dejagnu.h
+++ avida/current/source/main/unit_testsuites/dejagnu.h
Index: avida/current/source/main/unit_testsuites/config/unix.exp
+++ avida/current/source/main/unit_testsuites/config/unix.exp
Index: avida/current/source/main/unit_testsuites/demo.hello/hello.cc
+++ avida/current/source/main/unit_testsuites/demo.hello/hello.cc
Index: avida/current/source/main/unit_testsuites/demo.hello/hello.exp
+++ avida/current/source/main/unit_testsuites/demo.hello/hello.exp
More information about the Avida-cvs
mailing list