fix: disable maxRuntime when not WebConnectivity (#302)

This commit cherry-picks 6306c09963

See https://github.com/ooni/probe/issues/1433

Conflicts:
	internal/version/version.go
This commit is contained in:
Simone Basso 2021-04-06 20:48:56 +02:00 committed by GitHub
parent 5d8cf60f55
commit 46d19f47ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -120,6 +120,11 @@ func (c *Controller) Run(builder *engine.ExperimentBuilder, inputs []string) err
log.Debug("disabling maxRuntime when running in the background")
maxRuntime = 0
}
_, isWebConnectivity := c.nt.(WebConnectivity)
if !isWebConnectivity {
log.Debug("disabling maxRuntime without Web Connectivity")
maxRuntime = 0
}
start := time.Now()
c.ntStartTime = start
for idx, input := range inputs {
@ -214,7 +219,8 @@ func (c *Controller) Run(builder *engine.ExperimentBuilder, inputs []string) err
func (c *Controller) OnProgress(perc float64, msg string) {
// when we have maxRuntime, honor it
maxRuntime := time.Duration(c.Probe.Config().Nettests.WebsitesMaxRuntime) * time.Second
if c.RunType == "manual" && maxRuntime > 0 {
_, isWebConnectivity := c.nt.(WebConnectivity)
if c.RunType == "manual" && maxRuntime > 0 && isWebConnectivity {
elapsed := time.Since(c.ntStartTime)
perc = float64(elapsed) / float64(maxRuntime)
eta := maxRuntime.Seconds() - elapsed.Seconds()