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
This repository provides scripts and documentation to run the nightly Modelica library tests for OpenModelica.
6
+
This repository provides scripts and documentation to run the nightly Modelica
7
+
library tests for OpenModelica.
7
8
8
9
## OpenModelica nightly testsuite
9
10
10
-
Some of the open-source Modelica libraries managed by the [Open Modelica Package Manager](https://github.com/OpenModelica/OMPackageManager) are tested on a daily basis on the OSMC servers.
11
-
12
-
[Test results reports](testresults.md#open-source-modelica-library-testing-using-openmodelica) are publicly available.
13
-
14
-
The configuration file for the regular library nightly testsuite is [conf.json](configs/conf.json). Additional old and non-standard libraries are listed in [conf-old.json](configs/conf-old.json) and [conf-nonstandard.json](configs/conf-nonstandard.json), note that failures in those libraries may be due to the fact that they are not fully complying with the Modelica standard, rather than to OpenModelica issues. The setup of the configuration files is discussed in [conf-howto.md](conf-howto.md).
15
-
16
-
Test results reports are collected in the https://libraries.openmodelica.org/branches/ directory. The [overview.html](https://libraries.openmodelica.org/branches/overview.html) report gives the results of the regular testsuite with the default C runtime and solvers. Other reports contain the results using the C++ runtime, FMI, daeMode, and the old frontend. Combined reports also include results from the old and nonstandard libraries. The https://libraries.openmodelica.org/branches/history/ directory contains regression reports and plots using different versions (including master) and simulation runtime configurations (C++, daeMode, FMI, old frontend) of OpenModelica.
17
-
18
-
If you want to include your open-source library in the testsuite, please open a pull request on [conf.json](configs/conf.json), or open an issue on the [OpenModelica issue tracker](https://github.com/OpenModelica/OpenModelica/issues/new/choose) and ask us to do it for you.
11
+
Some of the open-source Modelica libraries managed by the
## Running the library testing infrastructure on your own server
21
46
22
-
The scripts from this repository can be used to run regression tests for public, private, and commercial Modelica libraries to keep track of coverage with different OpenModelica versions, according to the conditions of the [OSMC-PL license](OSMC-License.txt).
47
+
The scripts from this repository can be used to run regression tests for public,
48
+
private, and commercial Modelica libraries to keep track of coverage with
49
+
different OpenModelica versions, according to the conditions of the
"defaultTolerance": 1e-6, // tolerance for tests if not specified by the model, defaults to 1e-6
69
-
"defaultNumberOfIntervals": 2500, // number of intervals for tests if not specified by the model, defaults to 2500
70
-
"ulimitOmc":800, // specify a max timeout for a model build
71
-
"ulimitExe":300, // specify a max timeout for a model simulation
72
-
"ulimitMemory":62000000, // specify a max for the virtual memory of the running process when building a model
73
-
"procOMC":0, // [if procOMC = 0 use max procs, use procOMC = 1 if not defined, else use the given value] how many CPU cores should be used to run omc (load Modelica libraries in parallel and generate the C code in parallel)
74
-
"procCCompile":0, // [if procCCompile = 0 use max procs, use procCCompile = 1 if not defined, else use the given value] how many CPU cores should be used to compile the generated code
75
-
"optlevel":"-Os -march=native" // what optimizations should be used by the C compiler
"defaultTolerance": 1e-6, // tolerance for tests if not specified by the model, defaults to 1e-6
103
+
"defaultNumberOfIntervals": 2500, // number of intervals for tests if not specified by the model, defaults to 2500
104
+
"ulimitOmc":800, // specify a max timeout for a model build
105
+
"ulimitExe":300, // specify a max timeout for a model simulation
106
+
"ulimitMemory":62000000, // specify a max for the virtual memory of the running process when building a model
107
+
"procOMC":0, // [if procOMC = 0 use max procs, use procOMC = 1 if not defined, else use the given value] how many CPU cores should be used to run omc (load Modelica libraries in parallel and generate the C code in parallel)
108
+
"procCCompile":0, // [if procCCompile = 0 use max procs, use procCCompile = 1 if not defined, else use the given value] how many CPU cores should be used to compile the generated code
109
+
"optlevel":"-Os -march=native" // what optimizations should be used by the C compiler
- If you used `.CI/installLibraries.mos` to test all libraries you'll need to install reference results and set environment variables, see [Reference Results](#reference-results).
- `--fmisimulator=''`: The default is nothing but you can use the path to OMSimulator executable or 'fmpy'
118
-
- `--ulimitvmem=8388608`: Virtual memory limit (in kB)
119
-
- `--default=[]`: Add a default value for some configuration key, such as --default=ulimitExe=60. The equals sign is mandatory
120
-
- `-j`,`--jobs`: Number of cores to use for testing, default is 0 (max cores), use 1 to run serial (for large tests) and see procOMC and procCCompile above for more insight into individual test parallelization
121
-
122
-
- Generate HTML results
123
-
```bash
124
-
./report.py configs/myConf.json
125
-
```
126
-
- Upload and backup
127
-
- Upload HTML files somewhere
128
-
- backup sqlite3.db
147
+
Use `configs/*.json` to specify what to test.
148
+
The test results are saved in `sqlite3.db`.
149
+
150
+
Options:
151
+
152
+
- `--branch=master`: Branch of OpenModelica
153
+
- `--fmi=False`: Test FMI
154
+
- `--output=''`: Result location
155
+
- `--libraries=~/.openmodelica/libraries/`: Location of Modelica libraries
156
+
- `--extraflags=''`: Extra compiler flags.
157
+
- `--extrasimflags=''`: Extra simulation flags.
158
+
- `--ompython_omhome=''`: Path to OpenModelica for OMPython (can be different to
0 commit comments