Skip to content

Commit 1defaca

Browse files
committed
Merge remote-tracking branch 'origin/master' into fix-bug-flaky-inference
# Conflicts: # core-tests/e2e-tests/spring/spring-rest-openapi-v3/src/main/kotlin/com/foo/rest/examples/spring/openapi/v3/flakinessdetect/FlakinessDetectRest.kt
2 parents 5796806 + 565de8a commit 1defaca

303 files changed

Lines changed: 5864 additions & 1275 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,10 @@ jobs:
7676
steps:
7777
- uses: actions/checkout@v4
7878
- name: Setup JDK ${{env.build-jdk}}
79-
uses: actions/setup-java@v1
79+
uses: actions/setup-java@v5
8080
with:
8181
java-version: ${{env.build-jdk}}
82+
distribution: 'temurin'
8283
- name: Cache Maven packages
8384
uses: actions/cache@v3
8485
with:
@@ -99,9 +100,10 @@ jobs:
99100
- uses: actions/checkout@v4
100101
# Build/test for JDK
101102
- name: Setup JDK ${{env.build-jdk}}
102-
uses: actions/setup-java@v1
103+
uses: actions/setup-java@v5
103104
with:
104105
java-version: ${{env.build-jdk}}
106+
distribution: 'temurin'
105107
- name: Cache Maven packages
106108
uses: actions/cache@v3
107109
with:
@@ -147,9 +149,10 @@ jobs:
147149
steps:
148150
- uses: actions/checkout@v4
149151
- name: Setup JDK ${{env.release-jdk}}
150-
uses: actions/setup-java@v1
152+
uses: actions/setup-java@v5
151153
with:
152154
java-version: ${{env.release-jdk}}
155+
distribution: 'temurin'
153156
- name: Cache Maven packages
154157
uses: actions/cache@v3
155158
with:
@@ -168,9 +171,10 @@ jobs:
168171
steps:
169172
- uses: actions/checkout@v4
170173
- name: Setup JDK ${{env.release-jdk}}
171-
uses: actions/setup-java@v1
174+
uses: actions/setup-java@v5
172175
with:
173176
java-version: ${{env.release-jdk}}
177+
distribution: 'temurin'
174178
- name: Cache Maven packages
175179
uses: actions/cache@v3
176180
with:
@@ -196,9 +200,10 @@ jobs:
196200
# steps:
197201
# - uses: actions/checkout@v4
198202
# - name: Setup JDK ${{env.latest-jdk}}
199-
# uses: actions/setup-java@v1
203+
# uses: actions/setup-java@v5
200204
# with:
201205
# java-version: ${{env.latest-jdk}}
206+
# distribution: 'temurin'
202207
# - name: Cache Maven packages
203208
# uses: actions/cache@v3
204209
# with:
@@ -222,9 +227,10 @@ jobs:
222227
steps:
223228
- uses: actions/checkout@v4
224229
- name: Setup JDK ${{env.release-jdk}}
225-
uses: actions/setup-java@v1
230+
uses: actions/setup-java@v5
226231
with:
227232
java-version: ${{env.release-jdk}}
233+
distribution: 'temurin'
228234
- name: Download fat jar
229235
uses: actions/download-artifact@v4
230236
with:
@@ -247,9 +253,10 @@ jobs:
247253
steps:
248254
- uses: actions/checkout@v3
249255
- name: Setup JDK ${{env.release-jdk}}
250-
uses: actions/setup-java@v1
256+
uses: actions/setup-java@v5
251257
with:
252258
java-version: ${{env.release-jdk}}
259+
distribution: 'temurin'
253260
- name: Download fat jar
254261
uses: actions/download-artifact@v4
255262
with:
@@ -272,9 +279,10 @@ jobs:
272279
steps:
273280
- uses: actions/checkout@v4
274281
- name: Setup JDK ${{env.release-jdk}}
275-
uses: actions/setup-java@v1
282+
uses: actions/setup-java@v5
276283
with:
277284
java-version: ${{env.release-jdk}}
285+
distribution: 'temurin'
278286
- name: Download fat jar
279287
uses: actions/download-artifact@v4
280288
with:
@@ -339,9 +347,10 @@ jobs:
339347
steps:
340348
- uses: actions/checkout@v4
341349
- name: Setup JDK ${{env.build-jdk}}
342-
uses: actions/setup-java@v1
350+
uses: actions/setup-java@v5
343351
with:
344352
java-version: ${{env.build-jdk}}
353+
distribution: 'temurin'
345354
- name: Cache Maven packages
346355
uses: actions/cache@v3
347356
with:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ experiments/target/
5151

5252
/core-tests/e2e-tests/spring/spring-rest-openapi-v3/target
5353
/core-tests/e2e-tests/spring/spring-graphql/target
54+
/core-tests/e2e-tests/spring/spring-mcp-bb/target/
5455
/core-tests/e2e-tests/ci-utils/target
5556

5657
/core-tests/core-it/target/

client-java/controller-api/src/main/java/org/evomaster/client/java/controller/api/ControllerConstants.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public class ControllerConstants {
3030

3131
public static final String MONGO_INSERTION = "/mongoInsertion";
3232

33+
public static final String REDIS_INSERTION = "/redisInsertion";
34+
3335
public static final String POST_SEARCH_ACTION = "/postSearchAction";
3436

3537
public static final String DERIVE_PARAMS = "/deriveParams";

client-java/controller-api/src/main/java/org/evomaster/client/java/controller/api/dto/ExtraHeuristicsDto.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.evomaster.client.java.controller.api.dto;
22

3+
import org.evomaster.client.java.controller.api.dto.database.execution.RedisExecutionsDto;
34
import org.evomaster.client.java.controller.api.dto.database.execution.SqlExecutionsDto;
45
import org.evomaster.client.java.controller.api.dto.database.execution.MongoExecutionsDto;
56
import java.util.ArrayList;
@@ -21,4 +22,6 @@ public class ExtraHeuristicsDto {
2122
public SqlExecutionsDto sqlSqlExecutionsDto;
2223

2324
public MongoExecutionsDto mongoExecutionsDto;
25+
26+
public RedisExecutionsDto redisExecutionsDto;
2427
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.evomaster.client.java.controller.api.dto.database.execution;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* Each time a Redis command is executed, we keep track of those that return no data.
8+
* This class summarizes every failed command in a given execution.
9+
*/
10+
public class RedisExecutionsDto {
11+
12+
public RedisExecutionsDto() {}
13+
14+
public List<RedisFailedCommand> failedCommands = new ArrayList<>();
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.evomaster.client.java.controller.api.dto.database.execution;
2+
3+
/**
4+
* Each time a Redis command is executed and returns no data, we keep track of which keys were involved,
5+
* as well as relevant information such as the command type.
6+
*/
7+
public class RedisFailedCommand {
8+
9+
/**
10+
* Command keyword. Corresponds to a RedisCommandType label.
11+
*/
12+
public String command;
13+
14+
/**
15+
* Command type. Corresponds to a RedisCommandType dataType.
16+
*/
17+
public String type;
18+
19+
/**
20+
* Key involved. Could be null if the command does not have a key in the arguments. For example: KEYS (pattern).
21+
*/
22+
public String key;
23+
24+
public RedisFailedCommand() {}
25+
26+
public RedisFailedCommand(String command, String key, String type) {
27+
this.command = command;
28+
this.key = key;
29+
this.type = type;
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.evomaster.client.java.controller.api.dto.database.operations;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* Class used to execute Redis commands.
8+
* Each item in the insertions list corresponds to a command to be executed.
9+
*/
10+
public class RedisDatabaseCommandsDto {
11+
public List<RedisInsertionDto> insertions = new ArrayList<>();
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.evomaster.client.java.controller.api.dto.database.operations;
2+
3+
/**
4+
* Contains data to be inserted into Redis.
5+
*/
6+
public class RedisInsertionDto {
7+
8+
/** The Redis key.*/
9+
public String key;
10+
11+
/** The serialized value to set for that key. */
12+
public String value;
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.evomaster.client.java.controller.api.dto.database.operations;
2+
3+
import java.util.List;
4+
5+
/**
6+
* The execution result of {@link RedisDatabaseCommandsDto} that performs insertions.
7+
*/
8+
public class RedisInsertionResultsDto {
9+
10+
public RedisInsertionResultsDto() {}
11+
12+
/**
13+
* Whether the insertion at the index of a sequence of Redis insertions (i.e., {@link RedisDatabaseCommandsDto#insertions})
14+
* executed successfully.
15+
*/
16+
public List<Boolean> executionResults;
17+
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ public final void setExecutingInitMongo(boolean executingInitMongo) {
114114
ExecutionTracer.setExecutingInitMongo(executingInitMongo);
115115
}
116116

117+
@Override
118+
public final void setExecutingInitRedis(boolean executingInitRedis) {
119+
ExecutionTracer.setExecutingInitRedis(executingInitRedis);
120+
}
121+
117122
@Override
118123
public final void setExecutingAction(boolean executingAction){
119124
ExecutionTracer.setExecutingAction(executingAction);

0 commit comments

Comments
 (0)