You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-23Lines changed: 13 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ __White-box Testing__. For each SUT, we implemented _driver_ classes for _EvoMas
25
25
As well as enable setting up different properties in a _uniform_ way, like choosing TCP port numbers for the HTTP servers.
26
26
If a SUT uses any external services (e.g., a SQL database), these will be automatically started via Docker in these driver classes.
27
27
28
-
**NOTE**: version 1.6.1 was last one in which we still updated drivers for JavaScript and C\#. Those SUTs are not built anymore by default, and latest versions of *EvoMaster*might not work on those old drivers. Updating drivers for different programming languages (and re-implement white-box heuristics) is a massive amount of work, which unfortunately has little to no value for the scientific community (based on our experience). Those SUTs are still here in WFD to be able to replicate old experiments, but unfortunately not for *white-box* testing with latest versions of *EvoMaster*.
28
+
**NOTE**: version 1.6.1 was last one in which we still updated drivers for JavaScript and C\#. Those SUTs are not built anymore by default, and latest versions of *EvoMaster*will not work on those old drivers. Updating drivers for different programming languages (and re-implement white-box heuristics) is a massive amount of work, which unfortunately has little to no value for the scientific community (based on our experience). Those SUTs are still here in WFD to be able to replicate old experiments, but unfortunately not for *white-box* testing with latest versions of *EvoMaster*.
29
29
30
30
31
31
@@ -242,7 +242,7 @@ Auth configuration files can found in the [auth](auth) folder.
242
242
243
243
## Using This Repository
244
244
245
-
Due to several reasons, the software in this repository is not published as a library (e.g., on Maven and NPM).
245
+
Due to several reasons, the software in this repository is not published as a library (e.g., on Maven).
Everything can be setup by running the script `scripts/dist.py`.
259
+
_Black-box_ testing: you can build all the SUTs via Docker using `scripts/dist-docker.py`. Once the script is completed, all the SUTs will be available under the `dist` folder. Each SUT can be started with the Docker Compose files under `dockerfiles`. For example:
260
+
261
+
```
262
+
docker-compose -f dockerfiles/reservations-api.yaml up
263
+
```
264
+
265
+
_White-box_ testing: everything can be setup by running the script `scripts/dist.py`.
260
266
Note that you will need installed at least Maven, Gradle, JDK 8, JDK 11, JDK 17, JDK 21, NPM, as well as Docker.
261
267
Also, you will need to setup environment variables like `JAVA_HOME_8`, `JAVA_HOME_11`, `JAVA_HOME_17` and `JAVA_HOME_21`.
262
268
The script will issue error messages if any prerequisite is missing.
263
-
Once the script is completed, all the SUTs will be available under the `dist` folder, and a `dist.zip` will be created as well (if `scripts/dist.py` is run with `True` as input).
269
+
Once the script is completed, not only all the SUTs will be available under the `dist` folder, but also all the _driver_ executables for _EvoMaster_.
264
270
265
271
Regarding Maven, most-third party dependencies are automatically downloaded from Maven Central.
266
272
However, some dependencies are from GitHub, which unfortunately require authentication to be able to download such dependencies.
@@ -296,22 +302,6 @@ In latest versions of Maven, you need to create an authorization token in GitHub
296
302
297
303
298
304
299
-
[//]: #(There is also a Docker file to run `dist.py`, named `build.dockerfile`.)
[//]: #(The `dist` folder with all SUTs will be under `/emb/dist`. )
312
-
313
-
314
-
315
305
In the built `dist` folder, the files will be organized as follows:
316
306
`<name>-sut.jar` will be the non-instrumented SUTs, whereas their executable drivers for white-box testing will be called `<name>-evomaster-runner.jar`.
317
307
Instrumentation can be done at runtime by attaching the `evomaster-agent.jar` JavaAgent. If you are running experiments with EvoMaster, this will be automatically attached when running experiments with experiment scripts (discussed in next section). Or it can be attached manually with JVM option `-Devomaster.instrumentation.jar.path=evomaster-agent.jar` when starting the driver.
@@ -327,7 +317,7 @@ Each folder represents a set of SUTs (and drivers) that can be built using the s
327
317
For example, the folder `jdk_8_maven` contains all the SUTs that need JDK 8 and are built with Maven.
328
318
On the other hand, the SUTs in the folder `jdk_11_gradle` require JDK 11 and Gradle.
329
319
330
-
For thr JVM, each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
320
+
Each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
331
321
`cs` contains all the source code of the different SUTs, whereas `em` contains all the drivers.
332
322
Note: building a top-module will build as well all of its internal submodules.
0 commit comments