mirror of
https://github.com/fatedier/frp.git
synced 2026-03-18 07:49:16 +08:00
test/e2e: use shared deadline for proxy readiness and fix doc comment
- Use a single deadline in waitForClientProxyReady so total wait across all proxies does not exceed the given timeout - Fix WaitForOutput doc comment to accurately describe single pattern with count semantics
This commit is contained in:
@@ -128,10 +128,16 @@ func waitForClientProxyReady(configPath string, p *process.Process, timeout time
|
||||
return false
|
||||
}
|
||||
|
||||
// Use a single deadline so the total wait across all proxies does not exceed timeout.
|
||||
deadline := time.Now().Add(timeout)
|
||||
for _, cfg := range proxyCfgs {
|
||||
remaining := time.Until(deadline)
|
||||
if remaining <= 0 {
|
||||
return false
|
||||
}
|
||||
name := cfg.GetBaseConfig().Name
|
||||
pattern := fmt.Sprintf("[%s] start proxy success", name)
|
||||
if err := p.WaitForOutput(pattern, 1, timeout); err != nil {
|
||||
if err := p.WaitForOutput(pattern, 1, remaining); err != nil {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,8 +124,8 @@ func (p *Process) SetBeforeStopHandler(fn func()) {
|
||||
p.beforeStopHandler = fn
|
||||
}
|
||||
|
||||
// WaitForOutput polls the combined process output until all patterns are found
|
||||
// or the timeout is reached. It also returns early if the process exits.
|
||||
// WaitForOutput polls the combined process output until the pattern is found
|
||||
// count time(s) or the timeout is reached. It also returns early if the process exits.
|
||||
func (p *Process) WaitForOutput(pattern string, count int, timeout time.Duration) error {
|
||||
deadline := time.Now().Add(timeout)
|
||||
for time.Now().Before(deadline) {
|
||||
|
||||
Reference in New Issue
Block a user