kate.ward | 929261f | 2010-03-28 23:12:17 +0000 | [diff] [blame^] | 1 | ------------------------------ |
| 2 | shFlags.sh 1.0.4 Release Notes |
| 3 | ------------------------------ |
| 4 | |
| 5 | Preface |
| 6 | ======= |
| 7 | Copyright 2008-2009 Kate Ward. All Rights Reserved. |
| 8 | Released under the LGPL (GNU Lesser General Public License) |
| 9 | Author: kate.ward@forestent.com (Kate Ward) |
| 10 | |
| 11 | This document covers any known issues and workarounds for the stated release of |
| 12 | shFlags. |
| 13 | |
| 14 | Release info |
| 15 | ============ |
| 16 | |
| 17 | This is a minor bug fix release. |
| 18 | |
| 19 | Please see the CHANGES-1.0.txt file for a complete list of changes. |
| 20 | |
| 21 | Major changes |
| 22 | ------------- |
| 23 | |
| 24 | Obsolete items |
| 25 | -------------- |
| 26 | |
| 27 | Bug fixes |
| 28 | --------- |
| 29 | |
| 30 | Issue #10 - Changed the internal usage of the ``expn`` command to fix issues |
| 31 | under FreeBSD. |
| 32 | |
| 33 | General info |
| 34 | ============ |
| 35 | |
| 36 | The unit tests |
| 37 | -------------- |
| 38 | |
| 39 | shFlags is designed to work on as many environments as possible, but not all |
| 40 | environments are created equal. As such, not all of the unit tests will succeed |
| 41 | on every platform. The unit tests are therefore designed to fail, indicating to |
| 42 | the tester that the supported functionality is not present, but an additional |
| 43 | test is present to verify that shFlags properly caught the limitation and |
| 44 | presented the user with an appropriate error message. |
| 45 | |
| 46 | shFlags tries to support both the standard and enhanced versions of ``getopt``. |
| 47 | As each responds differently, and not everything is supported on the standard |
| 48 | version, some unit tests will be skipped (i.e. ASSERTS will not be thrown) when |
| 49 | the standard version of ``getopt`` is detected. The reason being that there is |
| 50 | no point testing for functionality that is positively known not to exist. A |
| 51 | tally of skipped tests will be kept for later reference. |
| 52 | |
| 53 | Standard vs Enhanced getopt |
| 54 | --------------------------- |
| 55 | |
| 56 | Here is a matrix of the supported features of the various **getopt** variants. |
| 57 | |
| 58 | +=========================================+=====+=====+ |
| 59 | | Feature | std | enh | |
| 60 | +-----------------------------------------+-----+-----+ |
| 61 | | short option names | Y | Y | |
| 62 | | long option names | N | Y | |
| 63 | | spaces in string options | N | Y | |
| 64 | | intermixing of flag and non-flag values | N | Y | |
| 65 | +=========================================+=====+=====+ |
| 66 | |
| 67 | Known Issues |
| 68 | ------------ |
| 69 | |
| 70 | The **getopt** version provided by default with all versions of Mac OS X (up to |
| 71 | and including 10.5.6) and Solaris (up to and including Solaris 10 and |
| 72 | OpenSolaris) is the standard version. |
| 73 | |
| 74 | Workarounds |
| 75 | ----------- |
| 76 | |
| 77 | The Zsh shell requires the ``shwordsplit`` option to be set and the special |
| 78 | ``FLAGS_PARENT`` variable must be defined. See ``src/shflags_test_helpers`` to |
| 79 | see how the unit tests do this. |
| 80 | |
| 81 | .. vim:fileencoding=latin1:ft=rst:spell:tw=80 |