anchor.diff:            }
             if (description.multitestExpectations != null) {
               if (isError(description.multitestExpectations)) {
  -              result = result.toNegativeTestResult();
  +              result = toNegativeTestResult(
  +                  result, description.multitestExpectations);
               }
             } else if (lastStep == lastStepRun &&
                 description.shortName.endsWith("negative_test")) {
  
positive.code:     logs.add(log);
    }
  
    Result<O> toNegativeTestResult() {
      Expectation outcome = this.outcome;
      if (outcome == Expectation.PASS) {
        outcome = Expectation.FAIL;
      } else if (outcome == Expectation.FAIL) {
        outcome = Expectation.PASS;
      }
      return new Result<O>(output, outcome, error, trace)
          ..logs.addAll(logs);
    }
  
negative.code:             } else if (result.outcome == Expectation.FAIL) {
                result.addLog("Negative test reported an error as expeceted.\n");
              }
              result = toNegativeTestResult(result);
            }
            if (!expectedOutcomes.contains(result.outcome)) {
              result.addLog("$sb");
  