// Forward implements Resolver.Forward(). func (s *turnResolver) Forward(n async.ResultT) { assert.True(!s.isResolved(), "Cannot forward an already completed result.") next := async.InternalUseOnlyGetResolver(n).(*turnResolver) assert.True(next.manager == s.manager, "Cannot forward across managers.") next = next.getShortest() turns := s.turns s.turns, s.outcome, s.next = nil, nil, next next.queueList(turns) }
func (t *TurnRunnerCoreSuite) Done() { log.Infof("Running test %s", base.GetMethodName()) manager := NewManager(NewUniqueIDGenerator()) runner := NewTurnRunner(manager) tlsRelease := async.SetAmbientRunner(runner) defer tlsRelease() done := async.Done() s := async.InternalUseOnlyGetResolver(done.ResultT).(*turnResolver) if !s.isResolved() { t.Errorf("Expected Done() to be resolved. Got: %v, Want: resolved", done) } }