#------------------------------------------------------------------------------
# System data
#

# test run info
shells="/bin/sh /bin/bash /bin/dash /bin/ksh /bin/pdksh /bin/zsh"
tests=" shflags_test_defines.sh shflags_test_parsing.sh shflags_test_private.sh shflags_test_public.sh"

# system info
$ date
Sun Jan  6 22:52:35 GMT 2013
$ uname -mprsv
Linux 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:42:16 UTC 2012 x86_64 x86_64


#------------------------------------------------------------------------------
# Running the test suite with /bin/sh
#
shell name: sh
shell version: unknown

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)


#------------------------------------------------------------------------------
# Running the test suite with /bin/bash
#
shell name: bash
shell version: 4.2.24(1)-release

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)


#------------------------------------------------------------------------------
# Running the test suite with /bin/dash
#
shell name: dash
shell version: 0.5.7-2ubuntu2

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)


#------------------------------------------------------------------------------
# Running the test suite with /bin/ksh
#
shell name: ksh
shell version: 2011-02-08

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)


#------------------------------------------------------------------------------
# Running the test suite with /bin/pdksh
#
shell name: pdksh
shell version: v5.2.14-99/07/13.2

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)


#------------------------------------------------------------------------------
# Running the test suite with /bin/zsh
#
shell name: zsh
shell version: 4.3.17

--- Executing the 'defines' test suite ---
testFlagsDefine
testBoolean
testFloat
testInteger
testString
testShortNameLength
testFlagNameIsReserved

Ran 7 tests.

OK

--- Executing the 'parsing' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testGetoptStandard
testGetoptEnhanced
testValidBoolsShort
testValidBoolsLong
testValidFloats
testInvalidFloats
testValidIntegers
testInvalidIntegers
testValidStrings
testMultipleFlags
testSingleNonFlagArg
testMultipleNonFlagArgs
testMultipleNonFlagStringArgsWithSpaces
testFlagsWithEquals
testComplicatedCommandLineStandard
testComplicatedCommandLineEnhanced

Ran 16 tests.

OK

--- Executing the 'private' test suite ---
testColumns
testExpr
testGenOptStr
testGetFlagInfo
testItemInList
testValidBool
testValidFloatBuiltin
testValidFloatExpr
testValidIntBuiltin
testValidIntExpr
testMathBuiltin
testMathExpr

Ran 12 tests.

OK

--- Executing the 'public' test suite ---
test:WARN Enhanced version of getopt found. Standard tests will be skipped.
testHelp
testStandardHelpOutput
testEnhancedHelpOutput
testNoHelp

Ran 4 tests.

OK (skipped=2)
