Skip to content

Commit 03cbd09

Browse files
author
Xerus
committed
fix(testclient): save executable as File
1 parent 9c1598a commit 03cbd09

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

.dev/scopes.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ server
99
sdk
1010
framework
1111
protocol
12+
testclient

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ wechselt und dort `./gradlew run` ausführt.
4949
Wenn notwendig, können bei der Ausführung eines Subprojektes via `run`
5050
per `-Dargs="Argument1 Argument2"`Argumente mitgegeben werden.
5151

52+
Der TestClient kann z.B. mit dem Befehl `./gradlew :test-client:run -Dargs="--player1 ../../player/build/libs/defaultplayer.jar --player2 ../../player/build/libs/defaultplayer.jar --tests 3"`
53+
5254
### Arbeiten mit Intellij IDEA
5355

5456
Zuerst sollte sichergestellt werden, dass die neuste Version von

helpers/test-client/src/sc/TestClient.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public static void main(String[] args) {
110110
for (int i = 0; i < 2; i++) {
111111
players[i].canTimeout = !(noTimeout || (boolean) parser.getOptionValue(noTimeoutOptions[i], false));
112112
players[i].name = (String) parser.getOptionValue(nameOptions[i], "player" + (i + 1));
113-
players[i].executable = (String) parser.getOptionValue(execOptions[i], "./defaultplayer.jar");
113+
players[i].executable = new File((String) parser.getOptionValue(execOptions[i], "./defaultplayer.jar"));
114114
players[i].isJar = Util.isJar(players[i].executable);
115115
}
116116
if (players[0].name.equals(players[1].name)) {
@@ -296,10 +296,10 @@ private void startPlayer(int id, String reservation) throws IOException {
296296
ProcessBuilder builder;
297297
if (player.isJar) {
298298
logger.debug("Invoking client {} with Java", player.name);
299-
builder = new ProcessBuilder("java", "-jar", "-mx1500m", player.executable, "-r", reservation, "-h", host, "-p", Integer.toString(port));
299+
builder = new ProcessBuilder("java", "-jar", "-mx1500m", player.executable.getAbsolutePath(), "-r", reservation, "-h", host, "-p", Integer.toString(port));
300300
} else {
301301
logger.debug("Invoking client {}", player.name);
302-
builder = new ProcessBuilder(player.executable, "--reservation", reservation, "--host", host, "--port", Integer.toString(port));
302+
builder = new ProcessBuilder(player.executable.getAbsolutePath(), "--reservation", reservation, "--host", host, "--port", Integer.toString(port));
303303
}
304304

305305
logDir.mkdirs();
@@ -389,7 +389,7 @@ class ClientPlayer {
389389
String name;
390390
boolean canTimeout;
391391

392-
String executable;
392+
File executable;
393393
boolean isJar;
394394

395395
@Override
@@ -403,8 +403,8 @@ public String toString() {
403403

404404
class Util {
405405

406-
static boolean isJar(String f) {
407-
return f.endsWith("jar") && new File(f).exists();
406+
static boolean isJar(File f) {
407+
return f.getName().endsWith("jar") && f.exists();
408408
}
409409

410410
static double factorial(int n) {

0 commit comments

Comments
 (0)