Skip to content

Commit cf94f41

Browse files
committed
Merge branch 'master' of https://github.com/WebFuzzing/EvoMaster into config-enum-set
2 parents 9801afa + a74d114 commit cf94f41

98 files changed

Lines changed: 580 additions & 328 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: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
# - "**"
3333

3434
env:
35-
evomaster-version: 5.2.1
35+
evomaster-version: 6.0.1
3636
# Unfortunately, to use JPackage we need JDK 17 or above :(
3737
# Which is really bad due to the madness of --add-opens.
3838
# Even if hunt down all cases of reflections in EM, there is still the problem of
@@ -44,7 +44,7 @@ env:
4444
java-distribution: temurin
4545
retention-days: 5
4646
debug: false # put to true if need to debug a specific test
47-
debugTestName: "GeneRandomizedTest" # replace with test to debug
47+
debugTestName: "SamplerVerifierTest" # replace with test to debug
4848

4949
# This build is quite expensive (some hours), so we run it whole only on some JVM versions and OSs.
5050
# For the moment, we need to support JVM 8 and all following LTS versions (e.g, 11 and 17).

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- "v*"
99

1010
env:
11-
evomaster-version: 5.2.1
11+
evomaster-version: 6.0.1
1212
jdk-jar: 17
1313
jdk-jpackage: 21
1414
java-distribution: temurin

README.md

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,23 @@ building on decades of research in the field of [Search-Based Software Testing](
3939

4040
### 1-Minute Example
4141

42-
On a console, copy&paste the following (requires _Docker_ installed).
43-
It will fuzz the PetClinic example API from Swagger, for 30 seconds, as shown in the following video.
42+
Since version 6.0.0, the recommended way to install EvoMaster is through PyPi:
43+
44+
`pip install evomaster`
45+
46+
You can then run it on the command-line with `evomster <args>`, like for example:
47+
48+
`evomaster --schema https://petstore.swagger.io/v2/swagger.json`
49+
50+
It will fuzz the PetClinic example API from Swagger, for 60 seconds.
51+
52+
If you prefer, you can rather use Docker, as shown in the following video.
4453

4554
```
46-
docker run -v "$(pwd)/generated_tests":/generated_tests webfuzzing/evomaster --blackBox true --maxTime 30s --ratePerMinute 60 --bbSwaggerUrl https://petstore.swagger.io/v2/swagger.json
55+
docker run -v "$(pwd)/generated_tests":/generated_tests webfuzzing/evomaster --schema https://petstore.swagger.io/v2/swagger.json
4756
```
4857

58+
Note the video is old, using version 3.4.0, with some parameters that are no longer necessary.
4959

5060
![](docs/img/evomaster_docker_use.gif)
5161

@@ -56,19 +66,19 @@ Note that, depending on which shell and operating system you are using, you migh
5666
For example, if run in a MSYS shell on Windows like _Git Bash_, there is the need of an extra / before the $.
5767

5868
```
59-
docker run -v "/$(pwd)/generated_tests":/generated_tests webfuzzing/evomaster --blackBox true --maxTime 30s --ratePerMinute 60 --bbSwaggerUrl https://petstore.swagger.io/v2/swagger.json
69+
docker run -v "/$(pwd)/generated_tests":/generated_tests webfuzzing/evomaster --schema https://petstore.swagger.io/v2/swagger.json
6070
```
6171

6272
If you are rather using a Command Prompt (Cmd.exe) terminal, you need to use `%CD%` instead of `$(pwd)` to refer to the current folder:
6373

6474
```
65-
docker run -v %CD%/generated_tests:/generated_tests webfuzzing/evomaster --blackBox true --maxTime 30s --ratePerMinute 60 --bbSwaggerUrl https://petstore.swagger.io/v2/swagger.json
75+
docker run -v %CD%/generated_tests:/generated_tests webfuzzing/evomaster --schema https://petstore.swagger.io/v2/swagger.json
6676
```
6777

6878
On the other hand, on a PowerShell you need `${PWD}`:
6979

7080
```
71-
docker run -v ${PWD}/generated_tests:/generated_tests webfuzzing/evomaster --blackBox true --maxTime 30s --ratePerMinute 60 --bbSwaggerUrl https://petstore.swagger.io/v2/swagger.json
81+
docker run -v ${PWD}/generated_tests:/generated_tests webfuzzing/evomaster --schema https://petstore.swagger.io/v2/swagger.json
7282
```
7383

7484
#### Troubleshooting
@@ -110,16 +120,13 @@ Note, since version 4.0.0, now _EvoMaster_ by default also creates an interactiv
110120
more effective test cases. We support JDK __8__ and the major LTS versions after that (currently JDK __21__). Might work on other JVM versions, but we provide __NO__ support for it.
111121
Note: there was initial support for other languages as well, like for example JavaScript/TypeScript and C#, but they were not in a stable, feature-complete state. The support for those languages for white-box testing has been dropped, at least for the time being.
112122

113-
* _Installation_: we provide installers for the main operating systems: _Windows_ (`.msi`),
114-
_OSX_ (`.dmg`) and _Linux_ (`.deb`). We also provide an uber-fat JAR file.
115-
To download them, see the [Release page](https://github.com/WebFuzzing/EvoMaster/releases).
123+
* _Installation_: the current recommended way to install EvoMaster is via PyPi, e.g., `pip install evomaster`. We also provide an uber-fat JAR file.
124+
To download it, see the [Release page](https://github.com/WebFuzzing/EvoMaster/releases).
116125
Release notes are present in the file [release_notes.md](https://github.com/WebFuzzing/EvoMaster/blob/master/release_notes.md).
117-
If you are using the uber-fat JAR, it should work with any major LTS version (from JDK 8 on).
118-
Whereas for the client library, needed for white-box testing, we will support JDK 8 likely for a long, long while, be warned that future versions of the executable JAR might start to require higher versions of the JDK in a non-so-distant future.
119-
If that is going to be higher than your current version of the JVM, if you cannot upgrade or have 2 different JDKs on your machine, then you should not use the uber-jar but rather one of the installers.
120-
When you use one of the installers, keep in mind that currently they do not update the `PATH` variable. This needs to be done manually, [see documentation](docs/download.md).
121-
Also keep in mind we have not paid the [Microsoft/Apple Tax](docs/download.md). This means that your operating system by default will block the installation, stating it cannot verify it is not a malware.
122-
But the block [can be bypassed](docs/download.md).
126+
If you are using the uber-fat JAR, it should work with any major LTS version (from JDK 17 on).
127+
Whereas for the client library, needed for white-box testing, we will support JDK 8 likely for a long, long while.
128+
Note that we provide as well installers for the main operating systems: _Windows_ (`.msi`), _OSX_ (`.dmg`) and _Linux_ (`.deb`).
129+
Unfortunately, due to the [Microsoft/Apple Tax](docs/download.md), those installers should be considered "deprecated", [see documentation](docs/download.md).
123130

124131
* _Docker_: _EvoMaster_ is now released via Docker as well, under [webfuzzing/evomaster](https://hub.docker.com/r/webfuzzing/evomaster) on Docker Hub. For more information on how to use _EvoMaster_ via Docker, [see documentation](docs/docker.md).
125132

client-java/ci-utils/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<parent>
1414
<artifactId>evomaster-client-java</artifactId>
1515
<groupId>org.evomaster</groupId>
16-
<version>5.2.1-SNAPSHOT</version>
16+
<version>6.0.1-SNAPSHOT</version>
1717
</parent>
1818

1919
<artifactId>evomaster-ci-utils</artifactId>

client-java/client-util/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-client-java-util</artifactId>

client-java/controller-api/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-client-java-controller-api</artifactId>

client-java/controller/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-client-java-controller</artifactId>

client-java/dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<groupId>org.evomaster</groupId>

client-java/distance-heuristics/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-client-java-distance-heuristics</artifactId>

client-java/instrumentation-shared/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-client-java</artifactId>
8-
<version>5.2.1-SNAPSHOT</version>
8+
<version>6.0.1-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-client-java-instrumentation-shared</artifactId>

0 commit comments

Comments
 (0)