Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > media > contrib > by-pkgid > dcb99369305ede543dfec65360493334 > files > 50

apache2-mod_parmguard-2.0.47_1.1-1mdk.i586.rpm

#!/usr/bin/perl
#
# This is a validation script which runs "wget" commands and check
# the expecting result if OK
#
# These tests can also be intercatively played using a Web Browser
# (see the test*/*html files)
#
use File::Basename;

# --------------------
# 0-Configure the test:
# --------------------
#$HTTPD_CONF  = "`apxs -q SYSCONFDIR`/httpd.conf";
#@PG_CONFLIST = `grep ParmguardConfFile $HTTPD_CONF`;
#$PG_CONF = "";
#
#for ( $i = 0 ; $i < scalar(@PG_CONFLIST) ; $i++ ) {
#	if ($PG_CONFLIST[$i] =~ /^ParmguardConfFile/) {
#		($dummy,$PG_CONF) = split(/ /,$PG_CONFLIST[$i]);
#		$PG_CONF =~ s/"//g;
#		break;
#	}
#}
#
#if ($PG_CONF eq "") {
#	print "No Configuration File found in $HTTPD_CONF\n";
#	exit(1);
#}
#print "The active Configuration File is: $PG_CONF\n";
#
#$PG_CONF2 = dirname($PG_CONF);
#$PG_CONF2 = basename($PG_CONF2,"");
#
$PLAYED = 0;
$FAILED = 0;
$SUCCESS = 0;

# --------------------------------------
# 1-Requests handled by "test1/conf.xml":
# --------------------------------------
#if ($PG_CONF2 eq "test1") {
	$PG_CONF2 = "test1";
	print "Active Script is: $PG_CONF2\n";
	
	&Check("$PG_CONF2/test.html",200);
	&Check("$PG_CONF2/test.html?",200);
	&Check("$PG_CONF2/test.html?=",200);
	&Check("$PG_CONF2/test.html?price=",506);
	&Check("$PG_CONF2/test.html?price=10",200);
	&Check("$PG_CONF2/test.html?price=ab",506);
	&Check("$PG_CONF2/test.html?price=10ab",506);
	&Check("$PG_CONF2/test.html?price=-100",506);
	&Check("$PG_CONF2/test.html?price=999999",506);
	&Check("$PG_CONF2/test.html?price=99%26currency=Euros",200);
	&Check("$PG_CONF2/test.html?price=99%26currency=Yen",506);
	&Check("$PG_CONF2/test.html?price=999999999%26currency=Yen",506);
	&Check("$PG_CONF2/test.html?dummy=any",200);
	&Check("$PG_CONF2/test-pass.html?dummy=any",200);
#}

# --------------------------------------
# 2-Requests handled by "test2/conf.xml":
# --------------------------------------
#if ($PG_CONF2 eq "test2") {
	$PG_CONF2 = "test2";
	print "Active Script is: $PG_CONF2\n";
	
	&Check("$PG_CONF2/test.html",200);
	&Check("$PG_CONF2/test.html?",200);
	&Check("$PG_CONF2/test.html?=",500);
	&Check("$PG_CONF2/test.html?price=",500);
	&Check("$PG_CONF2/test.html?price=10",200);
	&Check("$PG_CONF2/test.html?price=ab",500);
	&Check("$PG_CONF2/test.html?price=10ab",500);
	&Check("$PG_CONF2/test.html?price=-100",500);
	&Check("$PG_CONF2/test.html?price=999999",500);
	&Check("$PG_CONF2/test.html?price=99%26currency=Euros",200);
	&Check("$PG_CONF2/test.html?price=99%26currency=Yen",500);
	&Check("$PG_CONF2/test.html?price=999999999%26currency=Yen",500);
	&Check("$PG_CONF2/test.html?dummy=any",500);
	&Check("$PG_CONF2/test-pass.html?dummy=any",500);
#}

# --------------------------------------
# 3-Requests handled by "test3/conf.xml":
# --------------------------------------
#if ($PG_CONF2 eq "test3") {
	$PG_CONF2 = "test3";
	print "Active Script is: $PG_CONF2\n";
	
	&Check("$PG_CONF2/test.php",200);
	&Check("$PG_CONF2/test.php?",200);
	&Check("$PG_CONF2/test.php?=",200);
	&Check("$PG_CONF2/test.php?price=",200);
	&Check("$PG_CONF2/test.php?price=10",200);
	&Check("$PG_CONF2/test.php?price=ab",200);
	&Check("$PG_CONF2/test.php?price=10ab",200);
	&Check("$PG_CONF2/test.php?price=-100",200);
	&Check("$PG_CONF2/test.php?price=999999",200);
	&Check("$PG_CONF2/test.php?price=99%26currency=Euros",200);
	&Check("$PG_CONF2/test.php?price=99%26currency=Yen",200);
	&Check("$PG_CONF2/test.php?price=999999999%26currency=Yen",200);
	&Check("$PG_CONF2/test.php?dummy=any",200);
	&Check("$PG_CONF2/test-pass.php?dummy=any",200);
#}

# --------------------------------------
# 4-Requests handled by "sampleconf.xml":
# --------------------------------------
#if ($PG_CONF2 eq "test4") {
	$PG_CONF2 = "test4";
	print "Active Script is: $PG_CONF2\n";
	
	&Check("$PG_CONF2/test.html",200);
#}

# -------------
# 99-Statistics:
# -------------
print "============================\n";
print "Played tests    : $PLAYED\n";
print "Succesfull tests: $SUCCESS\n";
print "Failed Tests    : $FAILED\n";
print "============================\n";

# -------------------------------------------------
# Test function
# -------------------------------------------------
sub Check
{
	my ($url,$expected) = @_;

	$PLAYED++;

	# Change the root URL here:
	$ROOT = "http://localhost/parmguard/test";

	print "Test $ROOT/$url: ";
	
	open(FD,"wget -S -O /dev/null $ROOT/$url 2>&1 |");
	while (<FD>) {
		@cols = split(/ /,$_);
		if ($cols[1] eq "1") {
			close(FD);
			if ($cols[3] eq $expected) {
				print "OK: obtained=".$cols[3]."\n";
				$SUCCESS++;
				return;
			}
			print "FAILED: expected status=$expected, obtained=".$cols[3]."\n";
			$FAILED++;
			return;
		}
	}

	print "NO RESULT (INTERNAL PROBLEM !)\n";
	close(FD);

	$FAILED++;
}

# EOF