Skip to content
Timothy Place edited this page Aug 30, 2016 · 1 revision

There are several shortcomings and potential enhancements to make for a v2 of the test framework.

Note: the test patcher format should not change. these changes apply to the test harness only.

Clean Environment / Re-Launch

Currently any test that is run is run in an environment dirtied by all other previous tests.

Instead we should:

  1. Launch Max, wait for the database, then request the list of tests
  2. Now launch Max cleanly for each test patcher and run it.
  • We don't need to wait for the database on any of these runs (to help speed things up).
  • If Max crashes we can more easily determine that and recover.
  • If it hangs we can more easily deal with it.
  • Pass the patcher to open as an argument to Max -- should make the opening process more realistic than what currently happens and maybe even solve a few of the mysterious problems we've experienced with hangs.

Trap Hangs and Crashes

And keep moving along after handling them

Change technology stack

We can simplify in some cases. For example, we know that we do not need to automate anything using Max messages -- we are automating with remote communication.

In other cases we can modernize, such as to use websockets instead of osc. We can use zeroconf instead of pinging/polling. We can potentially use Node instead of Ruby.

Investigate tying into "real" unit test frameworks

In particular we could investigate being automated by CMake / Catch. Or Not. We could at least use the floating-point comparison routine from catch.