Make event plugin FsStoreTest parse options

This paves the way for adding more options, such as thread count, in a
sane way.

Change-Id: I6aaf646760c14a48156d17527be96a6277c4ff39
diff --git a/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/FsStoreTest.java b/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/FsStoreTest.java
index 9306158..31deaed 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/FsStoreTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/FsStoreTest.java
@@ -20,6 +20,9 @@
 import java.nio.file.Paths;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
@@ -215,7 +218,7 @@
    * <p>To run type:
    *
    * <p>java -cp target/classes:target/test-classes:target/junit-4.8.1.jar \
-   * com.googlesource.gerrit.plugins.events.fsstore.FsStoreTest \ [dir [count [store-id]]]
+   * com.googlesource.gerrit.plugins.events.fsstore.FsStoreTest [--id store-id] [dir [count]]
    *
    * <p>Note: if you do not specify <dir>, it will create a directory under /tmp
    *
@@ -229,18 +232,30 @@
    * <p>Mixed workers: NFS(WAN) 1 worker (+NFS LAN continuous) count=10, 3m28s
    */
   public static void main(String[] argv) throws Exception {
-    if (argv.length > 0) {
-      base = Paths.get(argv[0]);
-    }
     FsStoreTest t = new FsStoreTest();
-    if (argv.length > 1) {
-      t.count = Long.parseLong(argv[1]);
+    t.submitMarker = ".";
+
+    List<String> args = new LinkedList<>();
+    for (String arg : argv) {
+      args.add(arg);
     }
 
-    t.submitMarker = ".";
-    if (argv.length > 2) {
-      t.id = argv[2];
-      t.submitMarker += t.id + ".";
+    for (Iterator<String> it = args.iterator(); it.hasNext(); ) {
+      String arg = it.next();
+      if ("--id".equals(arg) && it.hasNext()) {
+        it.remove();
+        t.id = it.next();
+        it.remove();
+        t.submitMarker += t.id + ".";
+      }
+    }
+
+    if (args.size() > 0) {
+      base = Paths.get(args.remove(0));
+    }
+
+    if (args.size() > 0) {
+      t.count = Long.parseLong(args.remove(0));
     }
 
     t.setUp();