feat: introduce the tcpping experiment (#696)

See https://github.com/ooni/probe/issues/2030 (reference issue) and https://github.com/ooni/spec/pull/235 (spec).
This commit is contained in:
Simone Basso 2022-05-09 09:33:18 +02:00 committed by GitHub
commit e983a5cffb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 306 additions and 23 deletions

View file

@ -18,6 +18,7 @@ import (
"github.com/ooni/probe-cli/v3/internal/engine/experiment/signal"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/sniblocking"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/stunreachability"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/tcpping"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/telegram"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/tlstool"
"github.com/ooni/probe-cli/v3/internal/engine/experiment/tor"
@ -215,6 +216,18 @@ var experimentsByName = map[string]func(*Session) *ExperimentBuilder{
}
},
"tcpping": func(session *Session) *ExperimentBuilder {
return &ExperimentBuilder{
build: func(config interface{}) *Experiment {
return NewExperiment(session, tcpping.NewExperimentMeasurer(
*config.(*tcpping.Config),
))
},
config: &tcpping.Config{},
inputPolicy: InputStrictlyRequired,
}
},
"telegram": func(session *Session) *ExperimentBuilder {
return &ExperimentBuilder{
build: func(config interface{}) *Experiment {