Author: toad
Date: 2008-02-09 16:13:48 +0000 (Sat, 09 Feb 2008)
New Revision: 17767
Modified:
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
Log:
Exit with failure if not settled in 2000 pings.
Modified:
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
2008-02-09 16:11:46 UTC (rev 17766)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
2008-02-09 16:13:48 UTC (rev 17767)
@@ -70,7 +70,7 @@
waitForAllConnected(nodes);
- waitForPingAverage(0.98, nodes, random);
+ waitForPingAverage(0.98, nodes, random, MAX_PINGS);
System.out.println();
System.out.println("Ping average > 98%, lets do some
inserts/requests");
Modified: trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
2008-02-09 16:11:46 UTC (rev 17766)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRoutingTest.java
2008-02-09 16:13:48 UTC (rev 17767)
@@ -37,6 +37,7 @@
static final short MAX_HTL = (short)10;
static final boolean START_WITH_IDEAL_LOCATIONS = true;
static final boolean FORCE_NEIGHBOUR_CONNECTIONS = true;
+ static final int MAX_PINGS = 2000;
public static void main(String[] args) throws Exception {
System.out.println("Routing test using real nodes:");
@@ -74,11 +75,11 @@
waitForAllConnected(nodes);
- waitForPingAverage(0.98, nodes, random);
+ waitForPingAverage(0.98, nodes, random, MAX_PINGS);
}
- static void waitForPingAverage(double accuracy, Node[] nodes,
RandomSource random) {
+ static void waitForPingAverage(double accuracy, Node[] nodes,
RandomSource random, int maxTests) {
int cycleNumber = 0;
int lastSwaps = 0;
int lastNoSwaps = 0;
@@ -87,7 +88,7 @@
RunningAverage avg = new SimpleRunningAverage(100, 0.0);
RunningAverage avg2 = new BootstrappingDecayingRunningAverage(0.0,
0.0, 1.0, 100, null);
int pings = 0;
- while(true) {
+ for(int total=0;total<maxTests;total++) {
cycleNumber++;
try {
Thread.sleep(5000);
@@ -163,6 +164,6 @@
return;
}
}
-
+ System.exit(EXIT_PING_TARGET_NOT_REACHED);
}
}
Modified: trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeTest.java 2008-02-09
16:11:46 UTC (rev 17766)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeTest.java 2008-02-09
16:13:48 UTC (rev 17767)
@@ -21,6 +21,7 @@
static final int EXIT_BASE = NodeInitException.EXIT_NODE_UPPER_LIMIT;
static final int EXIT_CANNOT_DELETE_OLD_DATA = EXIT_BASE + 3;
+ static final int EXIT_PING_TARGET_NOT_REACHED = EXIT_BASE + 4;
/*
Borrowed from mrogers simulation code (February 6, 2008)