mirror of
https://github.com/fatedier/frp.git
synced 2026-04-26 10:59:09 +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
|
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 {
|
for _, cfg := range proxyCfgs {
|
||||||
|
remaining := time.Until(deadline)
|
||||||
|
if remaining <= 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
name := cfg.GetBaseConfig().Name
|
name := cfg.GetBaseConfig().Name
|
||||||
pattern := fmt.Sprintf("[%s] start proxy success", 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
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,8 +124,8 @@ func (p *Process) SetBeforeStopHandler(fn func()) {
|
|||||||
p.beforeStopHandler = fn
|
p.beforeStopHandler = fn
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitForOutput polls the combined process output until all patterns are found
|
// WaitForOutput polls the combined process output until the pattern is found
|
||||||
// or the timeout is reached. It also returns early if the process exits.
|
// 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 {
|
func (p *Process) WaitForOutput(pattern string, count int, timeout time.Duration) error {
|
||||||
deadline := time.Now().Add(timeout)
|
deadline := time.Now().Add(timeout)
|
||||||
for time.Now().Before(deadline) {
|
for time.Now().Before(deadline) {
|
||||||
|
|||||||
Reference in New Issue
Block a user