Query: apache::testutil
OS: redhat
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
Apache::TestUtil(3) User Contributed Perl Documentation Apache::TestUtil(3)NAMEApache::TestUtil - Utility functions for writing testsSYNOPSISuse Apache::Test; use Apache::TestUtil; ok t_cmp("foo", "foo", "sanity check"); t_write_file("filename", @content); my $fh = t_open_file($filename); t_mkdir("/foo/bar"); t_rmtree("/foo/bar"); t_is_equal($a, $b);DESCRIPTION"Apache::TestUtil" automatically exports a number of functions useful in writing tests. All the files and directories created using the functions from this package will be automatically destroyed at the end of the program exe- cution (via END block). You should not use these functions other than from within tests which should cleanup all the created directories and files at the end of the test.FUNCTIONSt_cmp() t_cmp($expected, $received, $comment); t_cmp() prints the values of $comment, $expected and $received. e.g.: t_cmp(1, 1, "1 == 1?"); prints: # testing : 1 == 1? # expected: 1 # received: 1 then it returns the result of comparison of the $expected and the $received variables. Usually, the return value of this function is fed directly to the ok() function, like this: ok t_cmp(1, 1, "1 == 1?"); the third argument ($comment) is optional, mostly useful for telling what the comparison is trying to do. It is valid to use "undef" as an expected value. Therefore: my $foo; t_cmp(undef, $foo, "undef == undef?"); will return a true value. You can compare any two data-structures with t_cmp(). Just make sure that if you pass non-scalars, you have to pass their references. The datastructures can be deeply nested. For example you can compare: t_cmp({1 => [2..3,{5..8}], 4 => [5..6]}, {1 => [2..3,{5..8}], 4 => [5..6]}, "hash of array of hashes"); You can also compare the second argument against the first as a regex. Use the "qr//" function in the first argument. For example: t_cmp(qr/^abc/, "abcd", "regex compare"); will do: "abcd" =~ /^abc/; This function is exported by default. t_debug() t_debug("testing feature foo"); t_debug("test", [1..3], 5, {a=>[1..5]}); t_debug() prints out any datastructure while prepending "#" at the beginning of each line, to make the debug printouts comply with "Test::Harness"'s requirements. This function should be always used for debug prints, since if in the future the debug printing will change (e.g. redirected into a file) your tests won't need to be changed. This function is exported by default. t_write_file() t_write_file($filename, @lines); t_write_file() creates a new file at $filename or overwrites the existing file with the content passed in @lines. If only the $filename is passed, an empty file will be created. If parent directories of $filename don't exist they will be automagically created. The generated file will be automatically deleted at the end of the program's execution. This function is exported by default. write_shell_script() write_shell_script($filename, @lines); Similar to t_write_file() but creates a portable shell/batch script. The created filename is constructed from $filename and an appro- priate extension automatically selected according to the platform the code is running under. It returns the extension of the created file. write_perl_script() write_perl_script($filename, @lines); Similar to t_write_file() but creates a executable Perl script with correctly set shebang line. t_open_file() my $fh = t_open_file($filename); t_open_file() opens a file $filename for writing and returns the file handle to the opened file. If parent directories of $filename don't exist they will be automagically created. The generated file will be automatically deleted at the end of the program's execution. This function is exported by default. t_mkdir() t_mkdir($dirname); t_mkdir() creates a directory $dirname. The operation will fail if the parent directory doesn't exist. If parent directories of $dirname don't exist they will be automagically created. The generated directory will be automatically deleted at the end of the program's execution. This function is exported by default. t_rmtree() t_rmtree(@dirs); t_rmtree() deletes the whole directories trees passed in @dirs. This function is exported by default. chown() Apache::TestUtil::chown($file); Change ownership of $file to the test's User/Group. This function is noop on platforms where chown(2) is unsupported (e.g. Win32). t_is_equal() t_is_equal($a, $b); t_is_equal() compares any two datastructures and returns 1 if they are exactly the same, otherwise 0. The datastructures can be nested hashes, arrays, scalars, undefs or a combination of any of these. See t_cmp() for an example. If $a is a regex reference, the regex comparison "$b =~ $a" is performed. For example: t_is_equal(qr{^Apache}, $server_version); If comparing non-scalars make sure to pass the references to the datastructures. This function is exported by default.AUTHORStas Bekman <stas@stason.org>SEE ALSOperl(1) perl v5.8.0 2002-01-06 Apache::TestUtil(3)
Related Man Pages |
---|
apache::testutil(3) - mojave |
apache::testconfig(3) - redhat |
apache::testutil(3) - redhat |
apache::testconfig(3pm) - debian |
apache::testutil(3pm) - debian |
Similar Topics in the Unix Linux Community |
---|
compare data |
Display File |