Author: [email protected]
Date: Mon Mar 28 14:27:03 2011
New Revision: 907
Log:
[AMDATU-332] Added -port option
Modified:
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
Modified:
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
==============================================================================
---
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
(original)
+++
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/main/Main.java
Mon Mar 28 14:27:03 2011
@@ -51,6 +51,7 @@
public static String TMPDIR_ARG = "-tmpdir";
public static String TESTLOOPS_ARG = "-testloops";
public static String OMIT_ARG = "-omit";
+ public static String PORT_ARG = "-port";
// Wordy arguments
private final static List<String> BOOLEAN_ARGS = new ArrayList<String>();
@@ -82,6 +83,7 @@
static {
OTHER_ARGS.add(TESTLOOPS_ARG);
OTHER_ARGS.add(OMIT_ARG);
+ OTHER_ARGS.add(PORT_ARG);
}
public static void main(String[] args) {
try {
Modified:
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
==============================================================================
---
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
(original)
+++
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/AmdatuLauncher.java
Mon Mar 28 14:27:03 2011
@@ -38,15 +38,15 @@
"http://localhost:8080/dashboard/jsp/dashboard.jsp",
"http://localhost:8080/rest/authorization/status"
};
-
+
private ApplicationContext m_context;
private File m_tmpDir;
private Process m_amdatuProcess;
-
+
public AmdatuLauncher(ApplicationContext context) {
m_context = context;
}
-
+
public void start() throws IOException, InterruptedException {
// First unzip the file to the java io tmpdir
File zipFile = new File(m_context.currentContext.binFile);
@@ -60,6 +60,7 @@
if (m_context.noExamples) {
removeExamples();
}
+ setPortNumber();
}
// Start the Amdatu server in a separate process
@@ -90,11 +91,11 @@
if (!ok) {
throw new IllegalStateException("Amdatu could not be launched from
'" + m_tmpDir + "'. Aborting test.");
}
-
+
// For safety, additional wait for 5 seconds
System.out.println("Amdatu seems up and running, waiting another 5
seconds...");
Thread.sleep(5000);
-
+
long diff = System.currentTimeMillis() - before;
System.out.println("Amdatu startup completed in " + diff + " ms,
running JMeter test plans");
}
@@ -108,26 +109,26 @@
OutputStream os = m_amdatuProcess.getOutputStream();
os.write("shutdown\n".getBytes());
os.close();
-
+
m_amdatuProcess.waitFor();
}
-
+
System.out.println("Amdatu shutdown completed");
}
-
+
public void kill() throws IOException, InterruptedException {
// Kill it instantly, no nice shutdown needed
stop();
-
+
System.out.println("Removing Amdatu work directory");
FileUtils.deleteDirectory(m_tmpDir);
}
-
+
private void removeExamples() throws IOException {
// Remove all jar files in amdatu-examples
File exampleDir = new File (m_tmpDir, "amdatu-examples");
FileUtils.deleteDirectory(exampleDir);
-
+
// Remove from Felix config properties
File felixConfig = new File(m_tmpDir, "conf/felix-config.properties");
List<String> lines = FileUtils.readLines(felixConfig);
@@ -141,6 +142,22 @@
FileUtils.writeLines(felixConfig, newLines);
}
+ private void setPortNumber() throws IOException {
+ if (m_context.port != -1) {
+ File felixHttpConfig = new File(m_tmpDir,
"deploy/org.apache.felix.http.cfg");
+ List<String> lines = FileUtils.readLines(felixHttpConfig);
+ List<String> newLines = new ArrayList<String>();
+ for (String line : lines) {
+ if (line.indexOf("org.osgi.service.http.port=") != -1) {
+ newLines.add("org.osgi.service.http.port=" +
m_context.port);
+ } else {
+ newLines.add(line);
+ }
+ }
+ FileUtils.writeLines(felixHttpConfig, newLines);
+ }
+ }
+
private boolean waitForURL(URL url, int responseCode, int timeout) throws
IOException {
long deadline = System.currentTimeMillis() + timeout;
while (System.currentTimeMillis() < deadline &&
amdatuProcessRunning()) {
@@ -176,7 +193,7 @@
return true;
}
}
-
+
private String getFelixMainJar() {
File systemDir = new File(m_tmpDir, "amdatu-system");
for (File file : systemDir.listFiles()) {
@@ -186,6 +203,4 @@
}
return null;
}
-
-
}
Modified:
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
==============================================================================
---
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
(original)
+++
trunk/etc/performancetest/src/main/java/org/amdatu/test/performance/runtest/ApplicationContext.java
Mon Mar 28 14:27:03 2011
@@ -28,6 +28,7 @@
public int omit; // Amount of initial results to omit
public File rootTmpDir; // Root temporary directory
public int testLoops;
+ public int port = -1;
public final static String VERSION_X = "X";
public final static String VERSION_Y = "Y";
@@ -46,6 +47,9 @@
omit = arguments.containsKey(Main.OMIT_ARG) ?
Integer.parseInt(arguments.get(Main.OMIT_ARG).toString()) : 0;
rootTmpDir = getRootTmpDir(arguments.get(Main.TMPDIR_ARG));
testLoops = arguments.containsKey(Main.TESTLOOPS_ARG) ?
Integer.parseInt(arguments.get(Main.TESTLOOPS_ARG).toString()) : 1;
+ if (arguments.containsKey(Main.PORT_ARG)) {
+ port = Integer.parseInt(arguments.get(Main.PORT_ARG).toString());
+ }
}
public void setContext(TestContext x, TestContext y) {
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits