swc-installation-test-2.py: Print full DependencyError chain
authorW. Trevor King <wking@tremily.us>
Sun, 27 Jan 2013 19:33:46 +0000 (14:33 -0500)
committerW. Trevor King <wking@tremily.us>
Sun, 27 Jan 2013 19:51:23 +0000 (14:51 -0500)
commit1be065924ee0fa9a92abba0647f27f3134e9d590
tree4f64f6c9562c7635ea54066126006e827b779e7b
parent6df0f579866f87f16bb3c06968ebb7d7fe40a2db
swc-installation-test-2.py: Print full DependencyError chain

If a requirement is not satisfied due to an and_dependency or
or_dependency failure, raise a new DependencyError and attach the
original error as its cause (this would be easier if we didn't have to
preserve Python 2.x support).  This way we can print the whole chain
(e.g. virtual-shell failed because sh is not installed), instead of
just the lowest level error.

Also indent the messages, because:

  check for virtual-editor failed:
    or-dependency not satisfied for virtual-editor
    For instructions on installing an up-to-date version, see
    http://software-carpentry.org/setup/
    cause:
    check for Notepad++ (notepad++) failed:
      could not find 'notepad++' executable
      For instructions on installing an up-to-date version, see
      http://software-carpentry.org/setup/

is more readable than:

  check for virtual-editor failed:
  or-dependency not satisfied for virtual-editor
  For instructions on installing an up-to-date version, see
  http://software-carpentry.org/setup/
  cause:
  check for Notepad++ (notepad++) failed:
  could not find 'notepad++' executable
  For instructions on installing an up-to-date version, see
  http://software-carpentry.org/setup/
setup/swc-installation-test-2.py