_____ _ ____ ____ ___ |_ _|__ ___| |_ _ _ / ___/ ___|_ _| _ _ | |/ _ \/ __| __| (_|_) | | | | _ | | (_|_) | | __/\__ \ |_ _ _ | |__| |_| || | _ _ |_|\___||___/\__| (_|_) \____\____|___| (_|_) _____ _ _ | ____|_ _| |_ ___ _ __ _ __ __ _| | | _| \ \/ / __/ _ \ '__| '_ \ / _` | | | |___ > <| || __/ | | | | | (_| | | |_____/_/\_\\__\___|_| |_| |_|\__,_|_| This is the README for Test::CGI::External version 0.23. Test::CGI::External is a "module" for the Perl computer programming language, a library of computer code to install on a computer. This document contains four sections: 1. About - what the module does 2. Documentation - how to learn more about the module 3. Installation - how to install this module on a computer 4. Help - what to do if you get stuck ----------------------------------------------------------------------------- 1. ABOUT Test::CGI::External - run tests on an external CGI program Test::CGI::External is a tool for mocking a CGI (common gateway interface) environment and running basic checks of the operation of a CGI program. For example, use Test::More; my $tester = Test::CGI::External->new (); $tester->set_cgi_executable ('example.cgi'); $tester->run ({}); done_testing (); tests whether * there is a program called "example.cgi", * the program "example.cgi" is executable (except on Windows), and when run, "example.cgi" * produces something on standard output; * produces a correct "Content-Type" header; * does not print out ill-formed headers (for example, print debugging messages on standard output); * exits with a zero status; * does not print any error messages. Test::CGI::External tests for mistakes such as forgetting to install the program, forgetting to make it executable, executing print statements before the headers are printed, exiting without any printing output, or printing useless error messages during running. Test::CGI::External runs CGI programs as stand-alone programs, under a faked CGI-like environment created by manipulating environment variables. Thus it does not require a web server. The tested CGI program can be in any language, not just Perl; the "external" in Test::CGI::External means it is meant to test external programs which are completely independent of itself. Test::CGI::External was originally created to check the operation of CGI programs written in C. Test::CGI::External is meant for the testing stage before the program is put onto a web server. For example, if a program with stray printf statements is uploaded to the web server and run as a CGI program, the browser will show only a 500 Server Error message. If the program is tested with this module before being uploaded, it will be much easier to find the error. Another typical mistake is forgetting to make the CGI program executable; again, this results in a difficult-to-understand server error. This module nips these sorts of problems in the bud by checking for careless mistakes before the uploading. Test::CGI::External is TAP (Test Anything Protocol)-compliant and works with the standard Perl testing modules like "Test::More". ----------------------------------------------------------------------------- 2. DOCUMENTATION You can read the documentation for the module online at the following websites: * http://search.cpan.org/perldoc?Test::CGI::External * http://metacpan.org/release/Test-CGI-External (These links go to the latest version of the module.) After installing the module, you can read the documentation on your computer using perldoc Test::CGI::External ----------------------------------------------------------------------------- 3. INSTALLATION This module requires Perl version 5.6.0 or later. To install the module from CPAN, use cpan Test::CGI::External If you have the App::cpanminus installer, you may prefer cpanm Test::CGI::External To install the module from the source file, Test-CGI-External-0.23.tar.gz, follow this sequence of commands: tar xfz Test-CGI-External-0.23.tar.gz cd Test-CGI-External-0.23 perl Makefile.PL make make install If you want to test the module before installing it, use "make test" after "make" and before "make install". ----------------------------------------------------------------------------- 4. HELP To get help with the module, you can email the author, Ben Bullock, at <bkb@cpan.org>. If you think there is a problem in the module, you can report a bug at <https://github.com/benkasminbullock/test-cgi-external/issues>, or if you want to alter the source code of Test::CGI::External, try the public repository on github at <https://github.com/benkasminbullock/test-cgi-external>. ----------------------------------------------------------------------------- This README was written on Fri Oct 6 14:17:37 2017. -----------------------------------------------------------------------------