1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#!/usr/bin/perl -w
#
use XML::Node;
# The following sample script calculates how many test cases there are in
# a test suite XML file.
#
# The XML file name can be passed as a parameter. Example:
# perl test.pl test.xml
#
my $suite_name = "";
my $testcase_name = "";
my $xml_filename = "test.xml";
my $testcase_no = 0;
my $arg1 = shift;
if ($arg1) {
$xml_filename = $arg1;
}
$p = XML::Node->new();
$p->register(">TestTalk>TestSuite>Name","char" => \$ suite_name);
$p->register(">TestTalk>TestSuite>TestCase>Name","char" => \$testcase_name);
$p->register(">TestTalk>TestSuite>TestCase","end" => \& handle_testcase_end);
$p->register(">TestTalk>TestSuite","end" => \& handle_testsuite_end);
print "\nProcessing file [$xml_filename]...\n\n";
$p->parse($xml_filename);
sub handle_testcase_end
{
print "Found test case [$testcase_name]\n";
$testcase_name = "";
$testcase_no ++;
}
sub handle_testsuite_end
{
print "\n--There are $testcase_no test cases in test suite [$suite_name]\n\n";
$testcase_name = "";
}
|