Author: toad
Date: 2008-02-13 17:11:51 +0000 (Wed, 13 Feb 2008)
New Revision: 17869

Modified:
   trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
   trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
Log:
Exit on failure.
Parameter tweaking.

Modified: 
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-02-13 17:11:23 UTC (rev 17868)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java     
2008-02-13 17:11:51 UTC (rev 17869)
@@ -34,14 +34,16 @@
  */
 public class RealNodeRequestInsertTest extends RealNodeRoutingTest {

-    static final int NUMBER_OF_NODES = 100;
-    static final int DEGREE = 10;
+    static final int NUMBER_OF_NODES = 50;
+    static final int DEGREE = 5;
     static final short MAX_HTL = (short)10;
     static final boolean START_WITH_IDEAL_LOCATIONS = false;
     static final boolean FORCE_NEIGHBOUR_CONNECTIONS = false;
     static final boolean ENABLE_SWAPPING = true;
     static final boolean ENABLE_ULPRS = false;
     static final boolean ENABLE_PER_NODE_FAILURE_TABLES = false;
+    
+    static final int TARGET_SUCCESSES = 20;
     //static final int NUMBER_OF_NODES = 50;
     //static final short MAX_HTL = 10;

@@ -55,7 +57,7 @@
         wd.mkdir();
         //NOTE: globalTestInit returns in ignored random source
         //NodeStarter.globalTestInit(name, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNode:minor,freenet.node.Insert:MINOR,freenet.node.Request:MINOR,freenet.node.Node:MINOR");
-        NodeStarter.globalTestInit(name, false, Logger.ERROR, 
"freenet.node.Location:MINOR,freenet.io.comm:MINOR,freenet.node.Node:MINOR,freenet.node.FNP:MINOR,freenet.node.PacketSender:MINOR");
+        NodeStarter.globalTestInit(name, false, Logger.ERROR, 
"freenet.node.Location:MINOR,freenet.io.comm:MINOR,freenet.node.NodeDispatcher:MINOR");
         //NodeStarter.globalTestInit(name, false, Logger.ERROR, "");
         System.out.println("Insert/retrieve test");
         System.out.println();
@@ -124,6 +126,7 @@
                                } catch (freenet.node.LowLevelPutException 
putEx) {
                                        
Logger.error(RealNodeRequestInsertTest.class, "Insert failed: "+ putEx);
                                        System.err.println("Insert failed: "+ 
putEx);
+                                       System.exit(EXIT_INSERT_FAILED);
                                }
                 // Pick random node to request from
                 int node2;
@@ -136,6 +139,7 @@
                                        int 
percentSuccess=100*fetchSuccesses/insertAttempts;
                     Logger.error(RealNodeRequestInsertTest.class, "Fetch 
#"+requestNumber+" FAILED ("+percentSuccess+"%); from "+node2);
                     requestsAvg.report(0.0);
+                    System.exit(EXIT_REQUEST_FAILED);
                 } else {
                     byte[] results = block.memoryDecode();
                     requestsAvg.report(1.0);
@@ -144,9 +148,14 @@
                                                int 
percentSuccess=100*fetchSuccesses/insertAttempts;
                         Logger.error(RealNodeRequestInsertTest.class, "Fetch 
#"+requestNumber+" succeeded ("+percentSuccess+"%): "+new String(results));
                         System.err.println("Fetch #"+requestNumber+" succeeded 
("+percentSuccess+"%): \""+new String(results)+'\"');
+                        if(fetchSuccesses == TARGET_SUCCESSES) {
+                               System.err.println("Succeeded, 
"+TARGET_SUCCESSES+" successful fetches");
+                               System.exit(0);
+                        }
                     } else {
                         Logger.error(RealNodeRequestInsertTest.class, 
"Returned invalid data!: "+new String(results));
                         System.err.println("Returned invalid data!: "+new 
String(results));
+                        System.exit(EXIT_BAD_DATA);
                     }
                 }
                 StringBuffer load = new StringBuffer("Running UIDs for nodes: 
");

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeTest.java  2008-02-13 
17:11:23 UTC (rev 17868)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeTest.java  2008-02-13 
17:11:51 UTC (rev 17869)
@@ -23,6 +23,9 @@
        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;
+       static final int EXIT_INSERT_FAILED = EXIT_BASE + 5;
+       static final int EXIT_REQUEST_FAILED = EXIT_BASE + 6;
+       static final int EXIT_BAD_DATA = EXIT_BASE + 7;

        /*
         Borrowed from mrogers simulation code (February 6, 2008)


Reply via email to