Skip to content

Commit 278a188

Browse files
committed
fixes for PR, added EXECUTING_INIT_REDIS in Command (instrumentation-external) and corrected redis flow
1 parent b8a6962 commit 278a188

7 files changed

Lines changed: 32 additions & 7 deletions

File tree

client-java/controller/src/main/java/org/evomaster/client/java/controller/ExternalSutController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,9 +525,9 @@ public final void setExecutingInitMongo(boolean executingInitMongo) {
525525
@Override
526526
public final void setExecutingInitRedis(boolean executingInitRedis) {
527527
checkInstrumentation();
528-
serverController.setExecutingInitMongo(executingInitRedis);
529-
// sync executingInitMongo on the local ExecutionTracer
530-
ExecutionTracer.setExecutingInitMongo(executingInitRedis);
528+
serverController.setExecutingInitRedis(executingInitRedis);
529+
// sync executingInitRedis on the local ExecutionTracer
530+
ExecutionTracer.setExecutingInitRedis(executingInitRedis);
531531
}
532532

533533
@Override

client-java/instrumentation/src/main/java/org/evomaster/client/java/instrumentation/InstrumentationController.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ public static void setExecutingInitMongo(boolean executingInitMongo){
5151
ExecutionTracer.setExecutingInitMongo(executingInitMongo);
5252
}
5353

54+
public static void setExecutingInitRedis(boolean executingInitRedis){
55+
ExecutionTracer.setExecutingInitRedis(executingInitRedis);
56+
}
57+
5458
public static void setExecutingAction(boolean executingAction){
5559
ExecutionTracer.setExecutingAction(executingAction);
5660
}

client-java/instrumentation/src/main/java/org/evomaster/client/java/instrumentation/external/AgentController.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@ public static void start(int port){
9494
handleExecutingInitMongo();
9595
sendCommand(Command.ACK);
9696
break;
97+
case EXECUTING_INIT_REDIS:
98+
handleExecutingInitRedis();
99+
sendCommand(Command.ACK);
100+
break;
97101
case EXECUTING_ACTION:
98102
handleExecutingAction();
99103
sendCommand(Command.ACK);
@@ -180,6 +184,16 @@ private static void handleExecutingInitMongo() {
180184
}
181185
}
182186

187+
private static void handleExecutingInitRedis() {
188+
try {
189+
Object msg = in.readObject();
190+
Boolean executingInitRedis = (Boolean) msg;
191+
InstrumentationController.setExecutingInitRedis(executingInitRedis);
192+
} catch (Exception e){
193+
SimpleLogger.error("Failure in handling executing-init-redis: "+e.getMessage());
194+
}
195+
}
196+
183197
private static void handleExecutingAction() {
184198
try {
185199
Object msg = in.readObject();

client-java/instrumentation/src/main/java/org/evomaster/client/java/instrumentation/external/Command.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ public enum Command implements Serializable {
1919
KILL_SWITCH,
2020
EXECUTING_INIT_SQL,
2121
EXECUTING_INIT_MONGO,
22+
EXECUTING_INIT_REDIS,
2223
EXECUTING_ACTION,
2324
BOOT_TIME_INFO,
2425
EXTRACT_JVM_DTO,

client-java/instrumentation/src/main/java/org/evomaster/client/java/instrumentation/external/ServerController.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ public boolean setExecutingInitMongo(boolean executingInitMongo) {
208208
return sendWithDataAndExpectACK(Command.EXECUTING_INIT_MONGO, executingInitMongo);
209209
}
210210

211+
public boolean setExecutingInitRedis(boolean executingInitRedis) {
212+
return sendWithDataAndExpectACK(Command.EXECUTING_INIT_REDIS, executingInitRedis);
213+
}
214+
211215
public boolean setExecutingAction(boolean executingAction){
212216
return sendWithDataAndExpectACK(Command.EXECUTING_ACTION, executingAction);
213217
}

core-tests/e2e-tests/spring/spring-rest-redis/src/test/java/org/evomaster/e2etests/spring/rest/redis/lettuce/findkeynosave/findkey/RedisLettuceFindKeyNoSaveEMTest.java renamed to core-tests/e2e-tests/spring/spring-rest-redis/src/test/java/org/evomaster/e2etests/spring/rest/redis/lettuce/findkeynosave/RedisLettuceFindKeyNoSaveEMTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.evomaster.e2etests.spring.rest.redis.lettuce.findkeynosave.findkey;
1+
package org.evomaster.e2etests.spring.rest.redis.lettuce.findkeynosave;
22

33
import com.foo.spring.rest.redis.lettuce.findkeynosave.findkey.RedisLettuceFindKeyNoSaveController;
44
import org.evomaster.core.EMConfig;
@@ -30,7 +30,7 @@ public void testFindKeyWithGeneratedDataEM() throws Throwable {
3030
runTestHandlingFlakyAndCompilation(
3131
"RedisLettuceFindKeyNoSaveEM",
3232
"org.foo.spring.rest.redis.RedisLettuceFindKeyNoSaveEM",
33-
1000,
33+
100,
3434
true,
3535
(args) -> {
3636
setOption(args, "heuristicsForRedis", "true");

core/src/main/kotlin/org/evomaster/core/output/service/ApiTestCaseWriter.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ abstract class ApiTestCaseWriter : TestCaseWriter() {
6060
val initializingRedisActions = ind.individual.seeInitializingActions().filterIsInstance<RedisDbAction>()
6161
val initializingRedisResults = (ind.seeResults(initializingRedisActions))
6262
if (initializingRedisResults.any { (it as? RedisDbActionResult) == null })
63-
throw IllegalStateException("the type of results are expected as MongoDbActionResults")
63+
throw IllegalStateException("the type of results are expected as RedisDbActionResults")
6464

6565
val initializingHostnameResolutionActions = ind.individual
6666
.seeInitializingActions()
@@ -94,7 +94,9 @@ abstract class ApiTestCaseWriter : TestCaseWriter() {
9494
}
9595
EvaluatedRedisDbAction(initializingRedisActions[it], result)
9696
},
97-
lines, insertionVars = insertionVars, skipFailure = config.skipFailureSQLInTestFile)
97+
lines,
98+
insertionVars = insertionVars,
99+
skipFailure = config.skipFailureSQLInTestFile)
98100
// Same flag skipFailureSQLInTestFile as in mongo and sql.
99101
}
100102

0 commit comments

Comments
 (0)