MCPcopy Index your code
hub / github.com/github/copilot-sdk / waitForCapability

Function waitForCapability

go/session_test.go:916–930  ·  view source on GitHub ↗

waitForCapability polls Session.Capabilities() until predicate matches or timeout. Returns the last observed capabilities. Avoids time.Sleep in tests.

(t *testing.T, session *Session, predicate func(SessionCapabilities) bool, timeout time.Duration)

Source from the content-addressed store, hash-verified

914// waitForCapability polls Session.Capabilities() until predicate matches or timeout.
915// Returns the last observed capabilities. Avoids time.Sleep in tests.
916func waitForCapability(t *testing.T, session *Session, predicate func(SessionCapabilities) bool, timeout time.Duration) SessionCapabilities {
917 t.Helper()
918 deadline := time.Now().Add(timeout)
919 var last SessionCapabilities
920 for {
921 last = session.Capabilities()
922 if predicate(last) {
923 return last
924 }
925 if time.Now().After(deadline) {
926 return last
927 }
928 time.Sleep(5 * time.Millisecond)
929 }
930}
931
932func TestSession_ElicitationCapabilityGating(t *testing.T) {
933 t.Run("elicitation errors when capability is missing", func(t *testing.T) {

Callers 1

TestSession_CapabilitiesFunction · 0.85

Calls 3

predicateFunction · 0.85
CapabilitiesMethod · 0.80
AddMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…