Joeri Exelmans 290ede49af Add some more test files 5 vuotta sitten
..
lib 202a78d34a Move some files 5 vuotta sitten
new_test_files 290ede49af Add some more test files 5 vuotta sitten
test_files e7fad50fbd Every event name in the statechart gets a unique integer ID. This avoids string comparisons and enables us to represent sets of enabled events as bitmaps. 5 vuotta sitten
wontfix f600f56401 Updated 'render' script + checked in reasonably looking rendered statechart images 5 vuotta sitten
README.md 549c81a8a8 Simplified things 5 vuotta sitten
render.py bf63200ebc Fix render scripts. 5 vuotta sitten
render2.py bf63200ebc Fix render scripts. 5 vuotta sitten
test.py cd427692c0 Added Bitmap type. Added an alternative transition candidate generation implementation, starting from enabled events instead of the current state configuration. Candidate generation returns a generator instead of a list (better performance when there are lots of candidates, basically when there is no concurrency, candidate generation ends after the first valid candidate). Conflicting transitions (to which the Priority semantic aspect applies) are dealt with much more simply and efficiently by making assumptions about the order in which candidates are generated. 5 vuotta sitten
test2.py 0aefc3aa70 Allow wildcard value for fields in semantic options, resulting in automatic generation of test cases for all possible values for those wildcard fields. Cleaner statechart / test loading code. Add 'render' script for new statechart / test XML format. 5 vuotta sitten

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.