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
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ We just re-implemented in different languages, and put them behind a web service
84
84
* SCS (not-known license, artificial string examples coming from different sources)
85
85
86
86
87
-
### REST: .Net/C#
87
+
### REST: .NET/C#
88
88
89
89
* Menu.API (not-known license), from [https://github.com/chayxana/Restaurant-App](https://github.com/chayxana/Restaurant-App)
90
90
@@ -124,7 +124,7 @@ There are 2 main use cases for EMB:
124
124
* Run experiments with other tools
125
125
126
126
Everything can be setup by running the script `scripts/dist.py`.
127
-
Note that you will need installed at least JDK 8, JDK 11, NPM and .Net 3.x, as well as Docker.
127
+
Note that you will need installed at least JDK 8, JDK 11, NPM and .NET 3.x, as well as Docker.
128
128
Also, you will need to setup environment variables like `JAVA_HOME_8` and `JAVA_HOME_11`.
129
129
The script will issue error messages if any prerequisite is missing.
130
130
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).
@@ -145,14 +145,18 @@ Once the script is completed, all the SUTs will be available under the `dist` fo
145
145
146
146
147
147
148
-
Note that here the drivers will be built as well besides the SUTs, and the SUT themselves will also have an instrumented version (for white-box testing heuristics) for _EvoMaster_ (this is for JavaScript and .Net, whereas instrumentation for JVM is done at runtime, via an attached JavaAgent).
148
+
Note that here the drivers will be built as well besides the SUTs, and the SUT themselves will also have an instrumented version (for white-box testing heuristics) for _EvoMaster_ (this is for JavaScript and .NET, whereas instrumentation for JVM is done at runtime, via an attached JavaAgent).
149
149
150
150
In the built `dist` folder, the files will be organized as follows:
151
151
152
152
* For JVM: `<name>-sut.jar` will be the non-instrumented SUTs, whereas their executable drivers will be called `<name>-evomaster-runner.jar`.
153
153
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 `exp.py` (available in the EvoMaster's repository). Or it can be attached manually with JVM option `-Devomaster.instrumentation.jar.path=evomaster-agent.jar` when starting the driver.
154
154
* For NodeJS: under the folder `<name>` (for each NodeJS SUT), the SUT is available under `src`, whereas the instrumented version is under `build`.
155
-
* For .Net: currently only the instrumented version is available (WORK IN PROGRESS)
155
+
* For .NET: currently only the instrumented version is available (WORK IN PROGRESS)
156
+
157
+
Note: the building of .NET SUTs/drivers is disabled by default in `dist.py`.
158
+
The reason is that, at the time of this writing, it is _very_ expensive to publish libraries on NuGet (due to the high costs of code certificates).
159
+
The EM Driver library for .NET would have to be installed manually on local machine before any of the C# drivers can be used.
156
160
157
161
158
162
@@ -171,15 +175,15 @@ Each folder represents a set of SUTs (and drivers) that can be built using the s
171
175
For example, the folder `jdk_8_maven` contains all the SUTs that need JDK 8 and are built with Maven.
172
176
On the other hand, the SUTs in the folder `jdk_11_gradle` require JDK 11 and Gradle.
173
177
174
-
For JVM and .Net, each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
178
+
For JVM and .NET, each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
175
179
`cs` contains all the source code of the different SUTs, whereas `em` contains all the drivers.
176
180
Note: building a top-module will build as well all of its internal submodules.
177
181
178
182
Regarding JavaScript, unfortunately NodeJS does not have a good handling of multi-module projects.
179
183
Each SUT has to be built separately.
180
184
However, for each SUT, we put its source code under a folder called `src`, whereas all the code related to the drivers is under `em`.
181
185
182
-
The driver classes for Java and .Net are called `EmbeddedEvoMasterController`.
186
+
The driver classes for Java and .NET are called `EmbeddedEvoMasterController`.
183
187
For JavaScript, they are in a script file called `app-driver.js`.
184
188
Note that Java also a different kind of driver called `ExternalEvoMasterController`.
185
189
The difference is that in External the SUT is started on a separated process, and not running in the same JVM of the driver itself.
0 commit comments