fix(gateway): qualify stepped impairment throughput
This commit is contained in:
@@ -212,26 +212,31 @@ func TestQualificationSixImpairmentProfilesTraverseProductionPath(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestQualificationLossAndSteppedThroughputBounds(t *testing.T) {
|
||||
profiles := qualificationImpairmentProfiles()
|
||||
for _, profile := range profiles[3:] {
|
||||
observation, err := runQualificationImpairment(t, profile, qualificationMediaProfiles()[0],
|
||||
qualificationImpairmentPacketCount, filepath.Join(t.TempDir(), profile.Name+".csv.gz"))
|
||||
if err != nil {
|
||||
t.Fatalf("%s: %v", profile.Name, err)
|
||||
}
|
||||
if observation.ObservedThroughputKbps <= 0 ||
|
||||
profile.Name == "constrained" && len(observation.CapacityStepObservations) != 2 {
|
||||
t.Fatalf("%s observation = %#v", profile.Name, observation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestQualificationUsesPublicQUICAndProductionPacer(t *testing.T) {
|
||||
qualificationTraverseProfiles(t, qualificationMediaProfiles())
|
||||
evidence, err := qualificationPacerEvidence(t, filepath.Join(t.TempDir(), "fairness.csv.gz"), 2*time.Second, 2*time.Second)
|
||||
evidence, err := qualificationPacerEvidence(t, filepath.Join(t.TempDir(), "fairness.csv.gz"), 2*time.Second, 4*time.Second)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(evidence.PerFlowBytes) != 8 || len(evidence.CapacitySteps) != 2 ||
|
||||
len(evidence.Series) != 6 || evidence.RawSamplesSHA256 == "" || evidence.JainIndex < 0.99 {
|
||||
len(evidence.Series) != 10 || evidence.RawSamplesSHA256 == "" || evidence.JainIndex < 0.99 {
|
||||
t.Fatalf("pacer evidence = %#v", evidence)
|
||||
}
|
||||
}
|
||||
|
||||
func TestQualificationCapacityStepsConvergeWithinTenSeconds(t *testing.T) {
|
||||
evidence, err := qualificationPacerEvidence(t, filepath.Join(t.TempDir(), "fairness.csv.gz"), 2*time.Second, 10*time.Second)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(evidence.CapacitySteps) != 2 {
|
||||
t.Fatalf("capacity steps = %#v", evidence.CapacitySteps)
|
||||
}
|
||||
for _, step := range evidence.CapacitySteps {
|
||||
if step.Convergence > 10*time.Second || step.MaximumFiveSecond > step.FiveSecondCap*105/100 {
|
||||
t.Fatalf("capacity step = %#v", step)
|
||||
|
||||
Reference in New Issue
Block a user