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