package exec_test import ( "testing" "agent-native/exec" ) // TestResultZeroValueKeepsLegacyMeaning pins backward compatibility: // empty SideEffects reads as possible; Canceled/Unknown stay false. func TestResultZeroValueKeepsLegacyMeaning(t *testing.T) { var r exec.Result if r.Success || r.Retryable || r.Canceled || r.Unknown { t.Fatalf("zero Result must keep legacy false flags, got %+v", r) } if r.SideEffects != "" { t.Fatalf("zero SideEffects must be empty (legacy), got %q", r.SideEffects) } if got := r.EffectiveSideEffects(); got != exec.SideEffectPossible { t.Fatalf("EffectiveSideEffects() = %q, want %q", got, exec.SideEffectPossible) } r.SideEffects = exec.SideEffectNone if got := r.EffectiveSideEffects(); got != exec.SideEffectNone { t.Fatalf("explicit none: EffectiveSideEffects() = %q", got) } r.SideEffects = exec.SideEffectPossible if got := r.EffectiveSideEffects(); got != exec.SideEffectPossible { t.Fatalf("explicit possible: EffectiveSideEffects() = %q", got) } }