]> scripts.mit.edu Git - wizard.git/blobdiff - doc/create.rst
Simple Trac stub collection information.
[wizard.git] / doc / create.rst
index e87726ee89b54b834466800e56ed77d99b5a776b..94b0e7770255862ced76b8ee9204f217c4c7db63 100644 (file)
@@ -74,7 +74,7 @@ Finally, we have to tell Wizard about this new module.  If you are
 creating this new module for Scripts, the easiest way to tell Wizard
 about the application is to add it to the :mod:`wizard_scripts`
 `setuptools plugin <http://aroberge.blogspot.com/2008/12/plugins-part-6-setuptools-based.html>`_.
-EVen if you don't know anything about setuptools, it's pretty easy
+Even if you don't know anything about setuptools, it's pretty easy
 to add your application: edit the file  :file:`plugins/scripts/setup.py`
 and add your application to the ``wizard.app`` entry point by looking
 for the following chunk of code and adding a new line::
@@ -279,25 +279,33 @@ Some tips and tricks for writing :meth:`wizard.app.Application.install`:
       to the connection, you can perform implicit execution.
 
 To test if your installation function works, it's probably convenient to
-create a test script in :file:`tests`; :file:`tests/test-install-wordpress.sh`
+create a test script in :file:`tests`; :file:`tests/wordpress-install-test.sh`
 in the case of Wordpress.  It will look something like::
 
     #!/bin/bash -e
+    cd `dirname $0`
 
     DEFAULT_HEAD=1
-    TESTNAME="install_wordpress"
+    TESTNAME="wordpress_install"
     source ./setup
 
     wizard install "wordpress-$VERSION-scripts" "$TESTDIR" --non-interactive -- --title="My Blog"
 
+.. note::
+
+    As you develop more test-scripts, you may find that you are
+    frequently copy pasting install commands.  In this case, it may be
+    useful to create a 'wordpress-install' helper shell fragment and
+    source it whenever you need a vanilla installation.
+
 ``DEFAULT_HEAD=1`` indicates that this script can perform a reasonable
 operation without any version specified (since we haven't tagged any of our
 commits yet, we can't use the specific version functionality; not that we'd want
-to, though).  ``TESTNAME`` is simply the name of the file with the leading
-``test-`` stripped and dashes converted to underscores.  Run the script with
+to, though).  ``TESTNAME`` is simply the name of the file with the trailing
+``-test`` stripped and dashes converted to underscores.  Run the script with
 verbose debugging information by using::
 
-    env WIZARD_DEBUG=1 ./test-install-wordpress.sh
+    env WIZARD_DEBUG=1 ./wordpress-install-test.sh
 
 The test scripts will try to conserve databases by running ``wizard remove`` on the
 old directory, but this requires :meth:`~wizard.app.remove` be implemented.
@@ -321,7 +329,7 @@ exhibit different behavior depending on server configuration, you should run
 the installation on a Scripts server.  You can do this manually or use
 the test script you created::
 
-    env WIZARD_NO_COMMIT=1 ./test-install-wordpress.sh
+    env WIZARD_NO_COMMIT=1 ./wordpress-install-test.sh
 
 :envvar:`WIZARD_NO_COMMIT` (command line equivalent to ``--no-commit``)
 prevents the installer from generating a Git commit after the install, and will
@@ -529,6 +537,7 @@ Here is short version for quick reference:
 
 #. Create the new repository and new module,
 #. Implement :meth:`~wizard.app.Application.download`,
+#. Register the application at the ``wizard_scripts`` plugin,
 #. *For Conversions:* Find the oldest extant version with ``wizard summary version $APP``,
 #. Run ``wizard prepare-pristine $VERSION``,
 #. Commit with ``-m "$APPLICATION $VERSION"`` and tag ``$APP-$VERSION``,
@@ -538,7 +547,7 @@ Here is short version for quick reference:
 #. *For PHP:* Copy in :file:`php.ini` file and run ``athrun scripts fix-php-ini``,
 #. Commit with ``-m "$APPLICATION $VERSION"``, but *don't* tag,
 #. Implement :data:`~wizard.app.Application.install_schema` and :meth:`~wizard.app.Application.install`,
-#. Create :file:`tests/test-install-$APP.sh`,
+#. Create :file:`tests/$APP-install-test.sh`,
 #. On a scripts server, run ``wizard install $APP --no-commit`` and check changes with ``git status``,
 #. Implement :attr:`~wizard.app.Application.extractors`,
    :attr:`~wizard.app.Application.substitutions`, :attr:`~wizard.app.Application.parametrized_files`,