 
 internal func doneTesting(st : State) -> Result {
 	if st.expectedFailure {
-		println("*** Passed " + "\(st.numSuccessTests)" + " tests")
 		println("*** Passed " + "\(st.numSuccessTests)" + pluralize(" test", st.numSuccessTests))
 		printDistributionGraph(st)
 		return .Success(numTests: st.numSuccessTests, labels: summary(st), output: "")

									, numSuccessShrinks: st.numSuccessShrinks
									, numTryShrinks: st.numTryShrinks
									, numTotTryShrinks: st.numTotTryShrinks
									, shouldAbort: abort)
					return .Right(Box(state))
				// Fail
				case .MatchResult(.Some(false), let expect, _, _, _, _, _, let abort):
					if !expect {
						print("+++ OK, failed as expected. ")
					} else {
						print("*** Failed! ")
					}

					// Attempt a shrink.
					let (numShrinks, totFailed, lastFailed) = findMinimalFailingTestCase(st, res, ts())

					if !expect {
						let s = Result.Success(numTests: st.numSuccessTests + 1, labels: summary(st), output: "+++ OK, failed as expected. ")
						return .Left(Box((s, st)))
					}

					let stat = Result.Failure(numTests: st.numSuccessTests + 1
											, numShrinks: numShrinks
											, usedSeed: st.randomSeed
											, usedSize: st.computeSize(st.numSuccessTests)(st.numDiscardedTests)
											, reason: res.reason
											, labels: summary(st)
											, output: "*** Failed! ")

					let state = State(name: st.name
									, maxSuccessTests: st.maxSuccessTests

					, numSuccessShrinks: numSuccessShrinks
					, numTryShrinks: numTryShrinks
					, numTotTryShrinks: numTotTryShrinks
					, shouldAbort: st.shouldAbort
					, quantifier: st.quantifier)
	return reportMinimumCaseFound(state, lastResult)
}

