Revision history for Perl module Test::Cmd

1.09 2015-10-25 NEILB
    - README updated with current location of Aegis project.
      Thanks to @SparkeyG for the pull request
    - Updated github repo URL after changing my github username
    - Switched to Dist::Zilla

1.08 2015-01-25 NEILB
    - Documentation improvements from JMATES++.

1.07 2015-01-07 NEILB
    - Linkify external module references. JMATES++
    - Added Test::Pod as a release test. JMATES++

1.06 2014-04-09
    - First non-developer release by NEILB
    - Fixed RT#41504
    - Fixed RT#92082
    - Fixed RT#92081
    - Fixed RT#53619
    - Noted in the pod that I'm now maintaining it.

1.05_02 2014-04-08
    - If the constructor failed part way, it would sometimes leave cruft
      behind in TMPDIR. RT#41504 - thanks ANDK.

1.05_01 2014-04-02

    - Specified min perl version 5.6.0 in metadata and in code
    - Moved the modules into lib/Test/
    - Added github repo to metadata and the pod
    - Reformatted Changes file as per CPAN::Changes::Spec
    - Specified license as 'perl' in metadata, to match doc
    - Fixed pod error RT#92082
    - Pod spelling mistake RT#92081
    - Clarification in doc for new(), that it returns undef on failure,
      and not false. RT#53619

1.05 2001-09-07

    - Fix the subdir(), read(), and write() methods to handle
      the case when the first element in an array-reference file
      name is an absolute path name.

    - Fix writable() so that it only records errors from chmod()
      on files, not exit with no_result().

    - Doc changes to make some of the variables in the SYNOPSIS
      look like Perl variables.

    - Add a Test::Cmd::Common module that sub-classes Test::Cmd to
      provide common exception-handling, eliminating the need for
      everyone to roll their own fail()/no_result() logic for common

    - Update Test::Cmd documentation to add explicit examples of
      using Test::Cmd in conjunction with Test::Harness, Test::Unit,
      and Aegis.  Mention that Test::Cmd::Common is available.

1.04 2001-06-16

    - If the run() method is given an explicit 'prog' argument,
      don't use the test environment's 'interpreter' attribute to run
      it.  This loses if you're trying to run some other executable
      that isn't in the same scripting language as the program under

1.03 2001-06-11

    - Make specification of an 'interpreter' to the run() method
      independent of whether a 'prog' has been specified.

    - Actually store the absolute path to a workdir specified as a
      relative path, as advertised.
      (Thanks to Jonathan Ross <> for
      finding this bug and contributing a patch.)

1.02 2001-05-26

    - Small fix to make match() backwards compatible to Perl 5.003.

    - Add diff_exact() and diff_regex() methods for returning
      UNIX diff(1)-like output from file comparisons.

    - Accomodate $TMPDIR specifications that vary from Cwd::cwd()
      due to symbolic links or omission of NT drive letters.

1.01 200-08-29

    - Add a match_exact() method for non-regex matches.

    - Change the name of the match() method to match_regex().

    - Add a new match() method that calls a registered
      line-matching subroutine to do the match.  By default,
      this is match_regex(), so the external interface stays

    - Add a match_sub() method that allows an arbitrary
      line-matching subroutine to be registered.

    - EXPORT_OK the match_exact() and match_regex() methods
      to make it easier to register them.

1.00 2000-05-26

    - The early versions have been out there long enough,
      so promote the version number to 1.00.

    - White space cleanup.

    - Small fixes for Perl 5.003:  put quotes around hash index
      strings; don't use "my" on the same line as "foreach".

    - Add copyright statements to appropriate files.

0.04 2000-02-09

    - Removed unnecessary file (internal testing glue
      for the change management system).

    - In the run() method, add the ability to pipe input into a

    - Add a match() method that matches input lines one-for-one
      against an equal number of of regular expressions.

    - Have the run() method support 'prog' and 'interpreter' arguments,
      for one-shot execution of a program.

    - Remove direct exception throws (calls to $self->no_result)
      by the run() and workdir() methods.  Exceptions should be
      handled by the test itself or a subclass specific to the
      program under test.

0.03 2000-02-01

    - Minor white space cleanup.

    - Allow the write() method to take an absolute path name.

    - Documentation cleanup.

    - Add a read() method as a companion to write().

    - Directories were still removed on fail/no result if
      PRESERVE_FAIL and PRESERVE_NO_RESULT were set.  Fixed.

    - Where possible, use array assignment, not shift, for
      method arguments.

0.02 2000-01-13

    - Add a string() method to arrange for printing info about
      specific functionality under test upon failure or no result.

    - Add a basename() method to return the basename of the
      program under test (the prog() method returns the full path).

    - Add a workpath() method to catfile its arguments to the
      end of the temporary working directory; this pushes more
      of the OS-dependent gunk into the module.

    - Allow the write() method to take an array reference as a
      file name argument, in which case the arguments are
      concatenated using File::Spec->catfile().

    - Allow the subdir() method to take a array references as
      arguments, in which case the elements are concatenated
      using File::Spec->catfile().

    - Change the run() method to take named-keyword arguments
      like $test->run(args => '1 2 3', chdir => 'sub/dir')
      instead of the old positional arguments.

    - Add $caller arguments to the fail() and no_result()
      methods which specify how many levels back to print a
      trace of the exiting line.  This allows nested packages
      to get back to the original caller.

0.01 1999-11-11

    - Original version; created by h2xs 1.19
    - Not released to CPAN