anchor.diff:  
     _after() {
       if (_isDone()) {
  -      _handleCallbackFunctionComplete();
  +      _handleCallbackFunctionComplete(_testNum);
       }
     }
   
  
positive.code:   // which is recursively invoked in the case of async tests that
    // run synchronously. Bad things can then happen.
    _defer(() {
      if (_currentTest < _tests.length) {
        final testCase = _tests[_currentTest];
        --testCase.callbackFunctionsOutstanding;
  
negative.code:  * Called when one of the callback functions is done with all expected
   * calls.
   */
  void _handleCallbackFunctionComplete(testNum) {
    // TODO (gram): we defer this to give the nextBatch recursive
    // stack a chance to unwind. This is a temporary hack but
    // really a bunch of code here needs to be fixed. We have a
  