Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Sep 5, 2011
  1. Checked in promise.js

  2. Revised mechanism by which events are sent so that single ssh stream …

    …is used as a pipe and kept open.
  3. Checked in new modules: send-events, which is invoked to send keyboar…

    …d events on a remote host; and server-client-comm, which is invoked on the coordinating host in order to communicate with clients.
    Updated handling of command line args in harness coordinator module
    Updated browser-main to fix sending of updated configurations so that they are sent sequentially.
  4. Added option stopOnFail to tell test harness to stop when a test fail…

    …s. This should make it easier to probe failed tests.
  5. Modified multi-process testing harness to allow distributed testing. …

    …Seems to work with one client; next step will be to test on multiple clients.
  6. Fixed bug with "after" property of events being ignored. Hooked up Xv…

    …fb as alternative to Xephyr for x server.
  7. Fixed bug where setTimeout and clearTimeout wrappers for browser envi…

    …ronment were set incorrectly, causing infinite recursion.
  8. Continuing to make progress. Fixed bugs in which transitionSelection …

    …optimization was not being initialized correctly, causing some tests to fail. Fixed the browser-main runner, as it was clearing the buffer too late, which was also causing some tests (e.g. TestInPredicate) to fail.
  9. Making progress on multi-process browser harness. Fixed bug where xdo…

    …tool.focus was being called before sending keyboard event, which was causing events to not be received by the browser window, failing intermittently. Next step will be to try to run all tests.
  10. Making progress. Bidirectional communication working well. However, s…

    …ome tests are failing unexpectedly, which needs to be investigated.
  11. Bidirectional communication now working with xdotool and ajax. Passes…

    … simple test. Next step will be to run all tests.
Commits on Jul 5, 2011
Commits on Jul 2, 2011
  1. Fixed use of Array.sort, so that it returns an int rather than a bool.

    Also, broke out defaultTransitionSelector into its own module.
Commits on Jun 27, 2011
  1. Added small optimization: tests that have been flattened will avoid h…

    …ierarchical lookups. All tests pass.
  2. Big update.

    Implemented ahead-of-time, transformational optimization: transition flattening. Added flattenTransitions.xsl to implement this transformation.
    Integrated flattening of test cases into build and test infrastructure.
    This exposed a bug in the interpretation algorithm (e.g. for an example of this bug, see the transition-flattened version of parallel+interrupt/test19.scxml).
    Fixed the bug in the interpreter in a slightly clever way, checking each state's selected transitions for consistency, before comparing all selected transitions for consistency.
    Decided that convention over configuration would be better in the naming of test scripts, so updated all JSON test scripts to remove redundant information: test name, group, and location of associated SCXML file.
    All tests, both flattened and non-flattened, with all optimizations pass under rhino and node.
Commits on Jun 25, 2011
  1. Added optimization that takes extra compiled information in model (an…

    …cestors, descendants, state depth, and transition LCA), and caches it in the model used at runtime. This will potentially speed up stachechart execution.
  2. Changed constructor API to be object-based (as opposed to solely base…

    …d on positional arguments), which I think is much cleaner.
Commits on Jun 22, 2011
  1. Created several different Set implementations. Integrated it with uni…

    …t testing harness. Passes all tests under both node and rhino.
Commits on Jun 21, 2011
  1. Changed scxml json model so that states are in an array, rather than …

    …object, as state order is important in many optimizations.
  2. Big commit. Created test harnesses to test all optimizations. All tes…

    …ts pass for all transition-select optimizations and non-optimized executions under node and rhino. Next step is to implement and test other optimizations.
Commits on Jun 18, 2011
Commits on Jun 15, 2011
  1. Intermediate commit. Working on optimizations now, specifically trans…

    …ition selection. Just finished the modules that will generate code for this. Next step is to integrate and test it.
  2. Intermediate commit. Changed the datamodel to primarily use the json …

    …datamodel returned by scxmlToJSON. There was too much redundancy in the having two models. Having one model should make it easier to implement many of the ahead-of-time optimizations.
Commits on Jun 14, 2011
  1. Create test harnesses for both node and spartan js shell environments…

    …. Created launcher scripts for starting test harnesses for node and spartan shell. Integrated with Makefile. Moved some duplicate code from test harnesses out into their own models. Generalized runner.js so that it could also be used when running under node.
  2. Added script to generate top-level module for requiring all test tupl…

    …es, to be used for running tests in spartan shells.
Commits on Jun 13, 2011
  1. Started to implement the build logic that will be needed to run tests…

    … under spartan js shell environments using RequireJS.
  2. Updated r.js to custom version to provide basic support for JavaScrip…

    …t shells that only expose load() and print() functions. Can be found in my requirejs fork on github.
Something went wrong with that request. Please try again.