- Added a
--trace
command-line flag to capture Flowtraces for fbp-spec runs. The Flowtraces will be stored into a.flowtrace
folder under the project
- Fixed issue with loading spec files
- Added a
--component-tests
command-line flag to control whether fbp-spec loads additional component tests from the runtime - Ported from CoffeeScript to modern JavaScript
- Made fbp-spec ignore failing getSource requests
- If network setup fails, teardown for the network will also be skipped
- Updated dependencies to include latest FBP Protocol Client and Schemas
- Updated browser build to use a modern Babel version
- Fixed a race condition with synchronous networks where we expect multiple output packets
- Fixed issue where received bracket IPs were causing fbp-spec to not see the actual data packet
- Switched FBP Protocol communications with the runtime to use the new fbp-client library
- All messages to and from runtime are now validated against the FBP Protocol schema
- Permissions are now validated against capabilities advertised by the runtime
- Tests now fail if runtime breaks the connection (for example, if runtime crashes mid-run)
- Tests now fail if runtime sends a
network:error
message - Tests now fail if runtime sends a
network:processerror
message - Tests now fail if runtime sends a message to an exported
error
outport if message to that port was expected - All FBP Protocol operations now time out if there is no response
- Updated to fbp parser 1.7 which introduces consistency validations for graphs. This can cause some tests to break due to them having incorrectly defined nodes in them
Bugfixes:
- We actually catch and show FBP parsing errors now
Breaking changes
- Require ES6 support. Node.js 6+ or a modern browser. If support for older environments are needed, use Babel to transpile.
Internal changes
- Now using CoffeeScript 2
- Updated to fbp-protocol-client 0.2.x, without support for MicroFlo transport
Bugfixes
- Fixed triggering Mocha error in start/stop due to returning Promise. Regression since 0.2.2.
- Automatically retry connection while during setup until
startTimeout
- Updated to Mocha 3.x. Can break tests in some cases where Promise is returned and callback is used at same time.
Internal changes
- Updated all dependencies to latest version
Features
- Several conveniences added in .fbp DSL from
fbp 1.5
testsuite.validate()
: Fix not catching invalid files, due to wrong schema lookup- Add support for sequences of inputs/expect. Allows testing stateful components/graphs/systems.
- Make
fixture
optional. If not specified, will be auto-created from component/graph intopic
- Some improvements to experimental
fbp-spec-mocha
- Send
network:output
FBP messages toconsole.log()
, for easier debugging of problems on runtime side. - Added experimental
fbp-spec-mocha
tool, for running Mocha tests over fbp-spec protocol.
First useful release
- Initial YAML testformat fully defined
- Tested with NoFlo, MicroFlo and Python example runtimes
fbp-spec
commandline tool for runningfbpspec.mocha.run
for integration in a Mocha testsuite- Simple set of UI widgets, with experimental integration in noflo-ui
Proof of concept
- Could run a MicroFlo testcase by talking over FBP runtime protocol