Files
i2p.i2p/core/perl/i2ptest.sh
smeghead 382cbb18db 2005-02-03 smeghead
* Added Ant buildfile in apps/fortuna for creating a custom Fortuna PRNG jar
      library from GNU Crypto's CVS HEAD sources.
2005-02-03 13:39:46 +00:00

140 lines
3.7 KiB
Bash

#!/usr/bin/perl
# Use the "--gij" parameter to run the tests against libgcj.
# Use the "--sourcedir" parameter if running this from the source tree.
# Yeah yeah, a lot of repetitive code here, but it works for now.
$runtime = "java";
$classpath = "../lib/i2p.jar:../lib/jbigi.jar";
foreach $argv (@ARGV) {
if ($argv eq "--gij") {
$runtime = "gij";
print "\n*** Using gij + libgcj ***\n\n";
}
if ($argv eq "--sourcedir") {
$classpath = "../../build/i2p.jar:../../build/jbigi.jar";
}
}
$javacommand = "$runtime -cp $classpath -Dlogger.shutdownDelay=0";
$failed = 0;
$passed = 0;
$failedtotal = 0;
$passedtotal = 0;
print "\nTest Suite #1: i2p/core/java/test/net/i2p/data/*Test\n\n";
@testclasses = ( "AbuseReason", "AbuseSeverity", "Boolean", "Certificate",
"CreateLeaseSetMessage", "CreateSessionMessage", "Date", "Destination",
"DestroySessionMessage", "DisconnectMessage", "Hash", "LeaseSet", "Lease",
"Mapping", "MessageId", "MessagePayloadMessage", "MessageStatusMessage",
"Payload", "PrivateKey", "PublicKey", "ReceiveMessageBeginMessage",
"ReceiveMessageEndMessage", "ReportAbuseMessage", "RequestLeaseSetMessage",
"RouterAddress", "RouterIdentity", "RouterInfo", "SendMessageMessage",
"SessionConfig", "SessionId", "SessionKey", "SessionStatusMessage",
"Signature", "SigningPrivateKey", "SigningPublicKey", "String", "TunnelId",
"UnsignedInteger" );
foreach $testclass (@testclasses) {
print "[TEST] $testclass: ";
if(! system("$javacommand net.i2p.data.TestData test $testclass $testclass.dat > /dev/null 2>test.tmp")) {
print "OK\n";
$passed++;
} else {
print "FAILED\n";
print "Error Messages:\n\n";
open TMP, "test.tmp";
while (<TMP>) {
print "$_";
}
print "\n";
$failed++;
}
system("rm -f $testclass.dat test.tmp > /dev/null 2>&1");
}
print "\nTEST SUITE #1 RESULTS\nPassed: $passed\nFailed: $failed\n\n";
$failedtotal += $failed;
$passedtotal += $passed;
$failed = 0;
$passed = 0;
print "\nTest Suite #2: i2p/core/java/test/net/i2p/crypto/*\n\n";
@testclasses = ( "ElGamalAESEngine", "ElGamalVerify", "SessionEncryptionTest" );
foreach $testclass (@testclasses) {
if ($testclass eq "SessionEncryptionTest") {
print "[TEST] $testclass: ";
if(! system("$javacommand net.i2p.crypto.SessionEncryptionTest > /dev/null 2>test.tmp")) {
print "OK\n";
$passed++;
} else {
print "FAILED\n";
print "Error Messages:\n\n";
open TMP, "test.tmp";
while (<TMP>) {
print "$_";
}
$failed++;
}
} else {
print "[TEST] $testclass:\n\n";
if(! system("$javacommand net.i2p.crypto.$testclass")) {
$passed++;
} else {
$failed++;
}
}
print "\n";
system("rm -f test.tmp > /dev/null 2>&1");
}
print "\nTEST SUITE #2 RESULTS\nPassed: $passed\nFailed: $failed\n\n";
$failedtotal += $failed;
$passedtotal += $passed;
$failed = 0;
$passed = 0;
print "\nTest Suite #3: Miscellaneous\n\n";
@testclasses = ( "net.i2p.util.LogManager", "net.i2p.util.OrderedProperties",
"net.i2p.stat.RateStat", "net.i2p.data.UnsignedInteger" );
foreach $testclass (@testclasses) {
if ($testclass eq "net.i2p.data.UnsignedInteger") {
print "[TEST] $testclass:\n\n";
if(! system("$javacommand net.i2p.data.UnsignedInteger")) {
$passed++;
} else {
$failed++;
}
print "\n";
} else {
print "[TEST] $testclass: ";
if(! system("$javacommand $testclass > /dev/null 2>test.tmp")) {
print "OK\n";
$passed++;
} else {
print "FAILED\n";
print "Error Messages:\n\n";
open TMP, "test.tmp";
while (<TMP>) {
print "$_";
}
$failed++;
}
}
system("rm -f test.tmp > /dev/null 2>&1");
}
print "\nTEST SUITE #3 RESULTS\nPassed: $passed\nFailed: $failed\n\n";
$failedtotal += $failed;
$passedtotal += $passed;
print "\n*** ALL TESTS COMPLETE ***\n\nTotal Passed: $passedtotal\nTotal Failed: $failedtotal\n\n";