No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


If building set the following environment variable:


@!tag_name resets the db to tag_name BEFORE the scenario
@+tag_name saves the database AFTER the scenario to tag_name

Also need to be able to re-seed.

General pattern for any project should be

snapshot init (which calls the snapshot generator)
rake db:create
rake db:migrate
snapshot save schema_loaded

rake db:seed
snapshot save seeded

seeds should be idempotent


save snapshot.cnf and my.cnf in db/test_data in config 
save the port and environment in snapshot.cnf
make sure to pass environment to rake db:migrate
in the status command show the currently checked out revision

Need some way to figure out the dependency tree and walk it depth first
maybe use that for the tree structure in the admin section? 

use git notes to set the parent child relationships

git notes add -m "test2"  -f
git notes show
git notes remove

When saving you can figure out who the parent is based on what was last checked out
which you do by getting the HEAD and figuring out its tag

This way the walking of the dependency tree is easy
To re-create the scenarios you'd just do a depth-first traversal of the snapshot tree
if there's a scenario that creates the current tag run it
else recurse on children

to build tree just iterate through the tags and link everything up

Can also use this to calculate the most efficient path through the tests, that is, the path that uses the least snapshot resets
You can also use the transactional database cleaner to make sure things are exactly as they were 

maybe use a custom printer and save a rerun.txt file
the format is


Move all shell.say_status into the commands