Joeri Exelmans 5f128dac0d Rename SVG files. Add 'order of small steps' test. 5 سال پیش
..
lib 1de3aa2076 More efficient inState implementation 5 سال پیش
test_files 5f128dac0d Rename SVG files. Add 'order of small steps' test. 5 سال پیش
wontfix f600f56401 Updated 'render' script + checked in reasonably looking rendered statechart images 5 سال پیش
README.md 549c81a8a8 Simplified things 5 سال پیش
render.py 5f128dac0d Rename SVG files. Add 'order of small steps' test. 5 سال پیش
test.py 6327a97aa9 Split 'statechart syntax' classes (basically just data classes describing the statechart model: State, Transition, ...) from 'statechart instance' (describing an instance of a statechart, with a set of current states, execution logic, etc.) 5 سال پیش

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.