(t *testing.T)
| 203 | } |
| 204 | |
| 205 | func TestReadConfig(t *testing.T) { |
| 206 | yamlContent := `ptpclientaddress: "/var/run/ptp4l" |
| 207 | ringsize: 30 |
| 208 | interval: 1s |
| 209 | iface: eth0 |
| 210 | linearizabilitytestinterval: 10s |
| 211 | sptp: true |
| 212 | bootdelay: 5s |
| 213 | enabledatav2: true |
| 214 | math: |
| 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 | |
| 242 | func TestReadConfigMissing(t *testing.T) { |
| 243 | _, err := ReadConfig("/nonexistent/path/config.yaml") |
nothing calls this directly
no test coverage detected
searching dependent graphs…