#! /usr/bin/env perl # # Generates a list of test cases to be pulled into the httpdunit main test # suite. # # Supply all the test cases' source file contents on stdin; the resulting code # will be printed to stdout. Normally you will want to call this twice: once # with --declaration to print the function declarations of all the test cases, # and once without any options to produce the code that actually adds each test # case to the main suite. # use strict; use warnings; use Getopt::Long; my $print_declaration = 0; GetOptions("declaration" => \$print_declaration) or die("unknown option"); while (my $line = <>) { if ($line =~ /^HTTPD_BEGIN_TEST_CASE(?:\w+)?\((\w+)/) { my $name = "$1_test_case"; if ($print_declaration) { print "TCase *$name(void);\n"; } else { print "suite_add_tcase(suite, $name());\n"; } } }