swc-workshop.git
11 years agoswc-installation-test-2.py: Don't require a specific Bash version
W. Trevor King [Tue, 1 Jan 2013 01:28:25 +0000 (20:28 -0500)]
swc-installation-test-2.py: Don't require a specific Bash version

I have access to a machine running OS X 10.6.8, which has:

  $ bash --version
  GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
  Copyright (C) 2007 Free Software Foundation, Inc.

That means no associative arrays, but for SWC purposes, it should
still get the job done.  All we really need is POSIX.2.

11 years agoswc-installation-test-2.py: Fix version extraction for sqlite3-python
W. Trevor King [Sun, 30 Dec 2012 18:24:51 +0000 (13:24 -0500)]
swc-installation-test-2.py: Fix version extraction for sqlite3-python

The 'sqlite3' package has the same version as the standard library.
We only check for it because sometimes (e.g. on Gentoo) Python may be
compiled without this package.

11 years agoswc-installation-test-2.py: Fix 'mercurial' version extraction
W. Trevor King [Sun, 30 Dec 2012 18:15:28 +0000 (13:15 -0500)]
swc-installation-test-2.py: Fix 'mercurial' version extraction

The Mercurial Python package stores its version in strange places.

11 years agoswc-installation-test-2.py: Refactor PythonPackageDependency._get_version
W. Trevor King [Sun, 30 Dec 2012 18:14:37 +0000 (13:14 -0500)]
swc-installation-test-2.py: Refactor PythonPackageDependency._get_version

Split it into pieces for easier subclassing.

11 years agoswc-installation-test-2.py: Add import_module for older Pythons
W. Trevor King [Sun, 30 Dec 2012 17:57:49 +0000 (12:57 -0500)]
swc-installation-test-2.py: Add import_module for older Pythons

importlib is new in Python 2.7 / 3.1.  Add a minimal workaround for
earlier versions.

11 years agoswc-installation-test-2.py: Don't parse missing versions
W. Trevor King [Sun, 30 Dec 2012 17:54:24 +0000 (12:54 -0500)]
swc-installation-test-2.py: Don't parse missing versions

11 years agoswc-installation-test-2.py: import print_function for Python 2.6
W. Trevor King [Sun, 30 Dec 2012 17:51:49 +0000 (12:51 -0500)]
swc-installation-test-2.py: import print_function for Python 2.6

Otherwise `print()` actually prints `()`, where we want it to print a
blank line.

11 years agoswc-installation-test-2.py: Don't chain exceptions (yet)
W. Trevor King [Sun, 30 Dec 2012 17:36:44 +0000 (12:36 -0500)]
swc-installation-test-2.py: Don't chain exceptions (yet)

Exception chaining (PEP 3134, 'raise ... from') raises SyntaxErros in
Python 2.x.  Comment the chaining out until SWC starts teaching only
Python 3.x.

11 years agoswc-installation-test-2.py: Print successfully-found versions
W. Trevor King [Sun, 30 Dec 2012 17:25:29 +0000 (12:25 -0500)]
swc-installation-test-2.py: Print successfully-found versions

This makes it easy to see what a user has installed.

11 years agoswc-installation-test-2.py: Don't print duplicate exceptions
W. Trevor King [Sun, 30 Dec 2012 16:43:47 +0000 (11:43 -0500)]
swc-installation-test-2.py: Don't print duplicate exceptions

For example, if you have an outdated 'python', you only want to hear
about that once, not once for each PythonPackageDependency.

11 years agoswc-installation-test-2.py: Cache check errors
W. Trevor King [Sun, 30 Dec 2012 16:41:25 +0000 (11:41 -0500)]
swc-installation-test-2.py: Cache check errors

Avoid running the same check (e.g. 'python') over and over.

11 years agoswc-installation-test-2.py: `PythonDependency`s should depend on Python
W. Trevor King [Sun, 30 Dec 2012 16:37:10 +0000 (11:37 -0500)]
swc-installation-test-2.py: `PythonDependency`s should depend on Python

11 years agoswc-installation-test-2.py: Add exe_extension for MS Windows compat.
W. Trevor King [Sun, 30 Dec 2012 16:35:03 +0000 (11:35 -0500)]
swc-installation-test-2.py: Add exe_extension for MS Windows compat.

Use distutils' new_compiler() to get the appropriate exe_extension for
the user's system.  This way command names can always be specified in
their bare form, and we'll automatically add the right executable
extension for other platforms.

11 years agoswc-installation-test-2.py: Add virtual-editor and virtual-browser
W. Trevor King [Sun, 30 Dec 2012 15:31:55 +0000 (10:31 -0500)]
swc-installation-test-2.py: Add virtual-editor and virtual-browser

Often we don't care which editor is installed, so long as at least one
is installed.  This commit tweaks Dependency and adds a
VirtualDependency class to support such virtual dependencies.  You
can't get very fancy with boolean logic, but an all-and and all-or
lists will probably be sufficient for our needs.

11 years agoswc-installation-test-2.py: Add some editors and browsers
W. Trevor King [Sun, 30 Dec 2012 15:07:54 +0000 (10:07 -0500)]
swc-installation-test-2.py: Add some editors and browsers

Based on a list of possibilities mentioned by Cait Pickens in an
internal email.

11 years agoswc-installation-test-2.py: sort CHECKS into topics
W. Trevor King [Sun, 30 Dec 2012 14:55:23 +0000 (09:55 -0500)]
swc-installation-test-2.py: sort CHECKS into topics

11 years agoswc-installation-test: Consolidate and reorganize test scripts
W. Trevor King [Sun, 30 Dec 2012 12:19:15 +0000 (07:19 -0500)]
swc-installation-test: Consolidate and reorganize test scripts

11 years agoMerge Konrad Hinsen and Fernando Perez's installation-testing scripts
W. Trevor King [Sat, 29 Dec 2012 19:48:04 +0000 (14:48 -0500)]
Merge Konrad Hinsen and Fernando Perez's installation-testing scripts

11 years agoworkshop_checklist.py: Add installation-testing script
Fernando Perez [Sat, 29 Dec 2012 19:43:59 +0000 (14:43 -0500)]
workshop_checklist.py: Add installation-testing script

This script was linked to by Eric Bray [1] and hosted on Fernando
Perez's website [2].

[1]: https://github.com/swcarpentry/website/issues/38#issuecomment-11386945
[2]: http://fperez.org/py4science/workshop_checklist.py

11 years agoswc-installation-test.py: Add installation-testing script
Konrad Hinsen [Sat, 29 Dec 2012 19:41:13 +0000 (14:41 -0500)]
swc-installation-test.py: Add installation-testing script

The content of this script was posted by Greg Wilson and attributed to
Konrad Hinsen [1].

[1]: https://github.com/swcarpentry/website/issues/38#issuecomment-11189525