MCPcopy Create free account
hub / github.com/facebook/time / TestReadConfig

Function TestReadConfig

fbclock/daemon/helpers_test.go:205–240  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

203}
204
205func TestReadConfig(t *testing.T) {
206 yamlContent := `ptpclientaddress: "/var/run/ptp4l"
207ringsize: 30
208interval: 1s
209iface: eth0
210linearizabilitytestinterval: 10s
211sptp: true
212bootdelay: 5s
213enabledatav2: true
214math:
215 m: "mean(clockaccuracy, 30) + abs(mean(offset, 30))"
216 w: "mean(m, 30) + 4.0 * stddev(m, 30)"
217 drift: "1.5 * mean(freqchangeabs, 29)"
218`
219 tmpFile, err := os.CreateTemp("", "config_test_*.yaml")
220 require.NoError(t, err)
221 defer os.Remove(tmpFile.Name())
222
223 _, err = tmpFile.WriteString(yamlContent)
224 require.NoError(t, err)
225 tmpFile.Close()
226
227 cfg, err := ReadConfig(tmpFile.Name())
228 require.NoError(t, err)
229 require.Equal(t, "/var/run/ptp4l", cfg.PTPClientAddress)
230 require.Equal(t, 30, cfg.RingSize)
231 require.Equal(t, time.Second, cfg.Interval)
232 require.Equal(t, "eth0", cfg.Iface)
233 require.Equal(t, 10*time.Second, cfg.LinearizabilityTestInterval)
234 require.True(t, cfg.SPTP)
235 require.Equal(t, 5*time.Second, cfg.BootDelay)
236 require.True(t, cfg.EnableDataV2)
237 require.Equal(t, "mean(clockaccuracy, 30) + abs(mean(offset, 30))", cfg.Math.M)
238 require.Equal(t, "mean(m, 30) + 4.0 * stddev(m, 30)", cfg.Math.W)
239 require.Equal(t, "1.5 * mean(freqchangeabs, 29)", cfg.Math.Drift)
240}
241
242func TestReadConfigMissing(t *testing.T) {
243 _, err := ReadConfig("/nonexistent/path/config.yaml")

Callers

nothing calls this directly

Calls 3

ReadConfigFunction · 0.70
NameMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…