confman
This is an incomplete list of the things that should be tested before rolling a release. When the actual testing occurs, it would be nice to capture the commands and eventually turn that into a self-test suite.
setup
- When working copy does not exist
- When working copy does exist
- If you say no to removing it first, does it exit without removing things?
- If you say yes, do you get a fresh working copy?
- When repository does not exist
- Is error sane?
create
- confman create core
- Are directories core, checkpoints/core created and checked in?
recipe
- confman recipe create test
- try:
# this module exists core # but this one doesn't test
- it should error out
- try:
- confman create test
- confman recipe create test
- try:
# comments are ignored core # this exists now test
- try:
- file meta/recipes/test should be created and checked in
- confman recipe print test
- you should see the contents of test
- confman recipe create doomed
- put only core in here
- confman recipe list
- you should see doomed and test
- confman recipe set doomed
- confman recipe get
- you should see doomed
- confman recipe edit doomed
- add test to the recipe
- this should be committed to svn
- confman recipe print doomed
- make sure it reflects the addition of test
- confman recipe set test
- confman recipe get
- you should see test
- confman recipe remove doomed
- file meta/recipes/doomed should be deleted and the change should be committed to svn
- confman recipe set doomed
- error should be sane for non-existent recipe
update
All of these should update your whole working copy:
- When in working copy root
- When in a working copy subdirectory
- When not in working copy
commit
- With no recipe defined
- Is error sane?
- With modules in recipe that don't exist
- Is error sane?
- With one module
- With two modules
- With two modules and overlapping files
- With three modules
- With three modules and overlapping files
- With uncommitted changes to one module in the working copy
- With uncommitted changes to two modules in the working copy
- With a different (alternate user, homedir, host, etc.) working copy that is now out-of-date
- With a different (alternate user, homedir, host, etc.) working copy that now has conflicts
confadmin
help
- confadmin -h
- confadmin help
- confadmin -h setup
- confadmin help setup
setup
- Point confman.conf to a blank repository
- confadmin setup
- Should commit a revision
- Can you confman setup to check it out?
- confadmin setup
- Should error out, because repository already exists
- Point confman.conf to a blank repository
- emulate a confman 1.5 repository: svn mkdir --parents trunk/checkpoints
- should error out, because the repository already exists (this case requires manual migration right now -- wiki to provide types and script examples)
