[Checkins] SVN: zc.recipe.deployment/branches/aaron-nonroot/ Tests use subprocesses to test buildout, no longer relies on work in progress

Aaron Lehmann aaron at zope.com
Wed Dec 17 11:07:49 EST 2008


Log message for revision 94151:
  Tests use subprocesses to test buildout, no longer relies on work in progress
  in-process buildout test functions.
  
  

Changed:
  U   zc.recipe.deployment/branches/aaron-nonroot/buildout.cfg
  U   zc.recipe.deployment/branches/aaron-nonroot/src/zc/recipe/deployment/README.txt

-=-
Modified: zc.recipe.deployment/branches/aaron-nonroot/buildout.cfg
===================================================================
--- zc.recipe.deployment/branches/aaron-nonroot/buildout.cfg	2008-12-17 15:51:13 UTC (rev 94150)
+++ zc.recipe.deployment/branches/aaron-nonroot/buildout.cfg	2008-12-17 16:07:48 UTC (rev 94151)
@@ -1,6 +1,6 @@
 [buildout]
-develop = . zc.buildout
 parts = test
+develop = .
 
 [test]
 recipe = zc.recipe.testrunner

Modified: zc.recipe.deployment/branches/aaron-nonroot/src/zc/recipe/deployment/README.txt
===================================================================
--- zc.recipe.deployment/branches/aaron-nonroot/src/zc/recipe/deployment/README.txt	2008-12-17 15:51:13 UTC (rev 94150)
+++ zc.recipe.deployment/branches/aaron-nonroot/src/zc/recipe/deployment/README.txt	2008-12-17 16:07:48 UTC (rev 94151)
@@ -1,9 +1,9 @@
-Using the deployment recipe is pretty simple. Just specify a
+Using the deployment recipe is pretty simple. Jusr specify a
 deployment name, specified via the part name, and a deployment user.
 
 Let's add a deployment to a sample buildout:
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo
@@ -14,7 +14,8 @@
     ... user = %s
     ... etc-user = %s
     ... ''' % (sample_buildout, user, user))
-    >>> buildout.install([])
+
+    >>> print system(join('bin', 'buildout')),
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/foo',
@@ -35,6 +36,7 @@
         Creating 'PREFIX/etc/logrotate.d',
         mode 755, user 'USER', group 'USER'
 
+
 Note that we are providing a prefix and an etc-user here.  These options
 default to '/' and 'root', respectively.
 
@@ -74,7 +76,7 @@
 
 If we uninstall, then the directories are removed.
 
-    >>> buildout.install([], uninstall_args=['foo'])
+    >>> print system(join('bin', 'buildout')+' buildout:parts='),
     Uninstalling foo.
     Running uninstall recipe.
     zc.recipe.deployment: Removing 'PREFIX/etc/foo'
@@ -84,6 +86,7 @@
     zc.recipe.deployment: Removing 'PREFIX/var/log/foo'.
     zc.recipe.deployment: Removing 'PREFIX/var/run/foo'.
 
+    >>> import os
     >>> os.path.exists(os.path.join(sample_buildout, 'etc/foo'))
     False
     >>> os.path.exists(os.path.join(sample_buildout, 'var/log/foo'))
@@ -94,7 +97,7 @@
 The log and run directories are only removed if they are empty.
 To see that, we'll put a file in each of the directories created:
 
-    >>> buildout.install([])
+    >>> print system(join('bin', 'buildout')), # doctest: +ELLIPSIS
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/foo',
@@ -121,7 +124,7 @@
 
 And then uninstall:
 
-    >>> buildout.install([], uninstall_args=['foo'])
+    >>> print system(join('bin', 'buildout')+' buildout:parts='),
     Uninstalling foo.
     Running uninstall recipe.
     zc.recipe.deployment: Removing 'PREFIX/etc/foo'
@@ -142,12 +145,12 @@
 
 Here we see that the var and run directories are kept. The etc
 directory is discarded because only buildout recipes should write to
-it and all of it's data are expendible.
+it and all of its data are expendible.
 
 If we reinstall, remove the files, and uninstall, then the directories
 are removed:
 
-    >>> buildout.install([])
+    >>> print system(join('bin', 'buildout')),
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/foo',
@@ -171,7 +174,7 @@
     >>> os.remove(os.path.join(sample_buildout, 'var/log/foo/x'))
     >>> os.remove(os.path.join(sample_buildout, 'var/run/foo/x'))
 
-    >>> buildout.install([], uninstall_args=['foo'])
+    >>> print system(join('bin', 'buildout')+' buildout:parts='),
     Uninstalling foo.
     Running uninstall recipe.
     zc.recipe.deployment: Removing 'PREFIX/etc/foo'
@@ -195,7 +198,7 @@
 The deployment name defaults to the section name, but the deployment
 name can be specified explicitly:
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo
@@ -208,7 +211,7 @@
     ... etc-user = %s
     ... ''' % (sample_buildout, user, user))
 
-    >>> buildout.install([])
+    >>> print system(join('bin', 'buildout')),
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/bar',
@@ -229,6 +232,7 @@
         Creating 'PREFIX/etc/logrotate.d',
         mode 755, user 'USER', group 'USER'
 
+
     >>> print ls(os.path.join(sample_buildout, 'etc/bar'))
     drwxr-xr-x USER USER PREFIX/etc/bar
 
@@ -272,7 +276,7 @@
 
 Let's add a configuration file to our buildout:
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo x.cfg
@@ -290,7 +294,15 @@
     ...        zzz
     ... ''' % (sample_buildout, user, user))
 
-    >>> buildout.install([])
+    >>> print system(join('bin', 'buildout')),
+    Uninstalling foo.
+    Running uninstall recipe.
+    zc.recipe.deployment: Removing 'PREFIX/etc/bar'
+    zc.recipe.deployment: Removing 'PREFIX/etc/cron.d'.
+    zc.recipe.deployment: Removing 'PREFIX/etc/init.d'.
+    zc.recipe.deployment: Removing 'PREFIX/etc/logrotate.d'.
+    zc.recipe.deployment: Removing 'PREFIX/var/log/bar'.
+    zc.recipe.deployment: Removing 'PREFIX/var/run/bar'.
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/foo',
@@ -322,7 +334,7 @@
 If a deployment is specified, then the file is placed in the
 deployment etc directory:
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo x.cfg
@@ -341,26 +353,9 @@
     ... deployment = foo
     ... ''' % (sample_buildout, user, user))
 
-    >>> buildout.install([])
-    Installing foo.
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/log/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/run/foo',
-        mode 750, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/cron.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/init.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/logrotate.d',
-        mode 755, user 'USER', group 'USER'
+    >>> print system(join('bin', 'buildout')),
+    Uninstalling x.cfg.
+    Updating foo.
     Installing x.cfg.
 
     >>> os.path.exists(join('parts', 'x.cfg'))
@@ -374,7 +369,9 @@
 We can read data from a file rather than specifying in the
 configuration:
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('x.in', '1\n2\n3\n')
+
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo x.cfg
@@ -391,27 +388,9 @@
     ... deployment = foo
     ... ''' % (sample_buildout, user, user))
 
-    >>> write('x.in', '1\n2\n3\n')
-    >>> buildout.install([])
-    Installing foo.
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/log/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/run/foo',
-        mode 750, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/cron.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/init.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/logrotate.d',
-        mode 755, user 'USER', group 'USER'
+    >>> print system(join('bin', 'buildout')),
+    Uninstalling x.cfg.
+    Updating foo.
     Installing x.cfg.
 
     >>> cat(os.path.join(sample_buildout, 'etc/foo/x.cfg'))
@@ -436,7 +415,7 @@
 uses a times option to specify times to run the command and a command
 option containing the command.
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo cron
@@ -454,26 +433,9 @@
     ... deployment = foo
     ... ''' % (sample_buildout, user, user))
 
-    >>> buildout.install([])
-    Installing foo.
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/log/foo',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/var/run/foo',
-        mode 750, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/cron.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/init.d',
-        mode 755, user 'USER', group 'USER'
-    zc.recipe.deployment: 
-        Creating 'PREFIX/etc/logrotate.d',
-        mode 755, user 'USER', group 'USER'
+    >>> print system(join('bin', 'buildout')),
+    Uninstalling x.cfg.
+    Updating foo.
     Installing cron.
 
 This example creates PREFIX/etc/cron.d/foo-cron
@@ -484,7 +446,7 @@
 .. make sure cron recipe honors deployment name option:
 
 
-    >>> buildout = setupBuildout(sample_buildout, 'buildout.cfg',
+    >>> write('buildout.cfg',
     ... '''
     ... [buildout]
     ... parts = foo cron
@@ -503,7 +465,16 @@
     ... deployment = foo
     ... ''' % (sample_buildout, user, user))
 
-    >>> buildout.install([])
+    >>> print system(join('bin', 'buildout')),
+    Uninstalling cron.
+    Uninstalling foo.
+    Running uninstall recipe.
+    zc.recipe.deployment: Removing 'PREFIX/etc/foo'
+    zc.recipe.deployment: Removing 'PREFIX/etc/cron.d'.
+    zc.recipe.deployment: Removing 'PREFIX/etc/init.d'.
+    zc.recipe.deployment: Removing 'PREFIX/etc/logrotate.d'.
+    zc.recipe.deployment: Removing 'PREFIX/var/log/foo'.
+    zc.recipe.deployment: Removing 'PREFIX/var/run/foo'.
     Installing foo.
     zc.recipe.deployment: 
         Creating 'PREFIX/etc/bar',
@@ -528,10 +499,9 @@
     >>> open(os.path.join(sample_buildout, 'etc/cron.d/bar-cron')).read()
     '30 23 * * *\tUSER\techo hello world!\n'
 
-
 .. cleanup
 
-    >>> buildout.install([], uninstall_args=['cron', 'foo'])
+    >>> print system(join('bin', 'buildout')+' buildout:parts='),
     Uninstalling cron.
     Uninstalling foo.
     Running uninstall recipe.



More information about the Checkins mailing list