The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension Test::Cmd.

1.05	

	- 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
	  errors.

	- 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	Sat Jun 16 13:28:17 CDT 2001

	- 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
	  test.



1.03	Sat Jun  9 16:57:16 CDT 2001

	- 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 <Jonathan.C.Ross@fmr.com> for
	  finding this bug and contributing a patch.)



1.02

	- 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  Sun Aug 27 05:40:35 CDT 2000

	- 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
	  backwards-compatible.

	- 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

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



0.05

	- 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  Tue Feb  1 05:20:19 CST 2000

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

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

	- 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  Wed Jan 12 18:02:38 CST 2000

	- 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  Mon Jan  3 23:59:53 2000

	- 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  Thu Nov 11 15:50:32 1999

	- original version; created by h2xs 1.19