Joeri Exelmans 225a6d0c8d Implemented user-defined functions. Parameter types explicit, return types statically inferred. 5 lat temu
..
legacy_test_files 650cb9334c Overhaul of directory structure. 5 lat temu
lib 33cf1867c5 Extend semantic option wildcard mechanism to comma-separated lists of options. Parse transition event attribute as comma-separated list of (possibly negated) events with parameters. Event parameters added to transition scope. Input port ignored when generating ID for input/internal event (need this for Day & Atlee's examples) 5 lat temu
test_files 225a6d0c8d Implemented user-defined functions. Parameter types explicit, return types statically inferred. 5 lat temu
wontfix f600f56401 Updated 'render' script + checked in reasonably looking rendered statechart images 5 lat temu
README.md 549c81a8a8 Simplified things 5 lat temu
legacy_render.py 650cb9334c Overhaul of directory structure. 5 lat temu
legacy_test.py 650cb9334c Overhaul of directory structure. 5 lat temu
render.py 0e4e6fdd0d Begin adding examples from Day & Atlee paper. Clearer error when <state> initial attribute is invalid. SVG renderer: workaround for order of orthogonal components. 5 lat temu
test.py 80d532b9a3 Simpler handling of tests expected to fail. Added race condition test. 5 lat temu

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.