Joeri Exelmans 8870590d16 Greatest common divisor is calculated for all durations in a model, serving as the "model delta", the smallest amount of time that can be simulated. "After" transitions always have units. 5 anni fa
..
legacy_test_files 650cb9334c Overhaul of directory structure. 5 anni fa
lib 431c30a80c Tests beginning with "fail_" instead of "test_" should give an error when loading. Add some tests of illegal situations. 5 anni fa
test_files 8870590d16 Greatest common divisor is calculated for all durations in a model, serving as the "model delta", the smallest amount of time that can be simulated. "After" transitions always have units. 5 anni fa
wontfix f600f56401 Updated 'render' script + checked in reasonably looking rendered statechart images 5 anni fa
README.md 549c81a8a8 Simplified things 5 anni fa
legacy_render.py 650cb9334c Overhaul of directory structure. 5 anni fa
legacy_test.py 650cb9334c Overhaul of directory structure. 5 anni fa
render.py 3618939825 Add 'duration' literal to action language + DurationLiteral expression type to statecharts syntax. Begin implementation of static type checker for expressions. 5 anni fa
test.py 431c30a80c Tests beginning with "fail_" instead of "test_" should give an error when loading. Add some tests of illegal situations. 5 anni fa

README.md

test.py

The Python program test.py replaces the old run_tests.py. It takes test input files (in SCCD XML format) as parameter. It compiles tests and runs them.

For example, to run the "semantics" tests:

python3 test.py test_files/semantics

This will create a 'build' directory with compiled statechart models. It is always safe to remove this directory, it merely serves as a 'cache' for build artifacts.

render.py

The Python program render.py renders the test file state machines as SVG images. Rendered SVG files are already checked in to this repository. If you wish to re-render them, you need the NPM (NodeJS) package state-machine-cat. Install NodeJS and NPM, and then install the NPM package 'state-machine-cat':

npm i -g state-machine-cat

Now, e.g. render the "semantics" tests:

python3 render.py test_files/semantics

By default, the SVG files are stored next to the test XML files.