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

Function TestActivatePPSSourceSetPTPPeroutFailure

phc/pps_source_test.go:110–139  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

108}
109
110func TestActivatePPSSourceSetPTPPeroutFailure(t *testing.T) {
111 // Prepare
112 _, mockDeviceController, finish := SetupMocks(t)
113 defer finish()
114 var actualPeroutRequest *PtpPeroutRequest
115 gomock.InOrder(
116 mockDeviceController.EXPECT().setPinFunc(gomock.Any(), gomock.Any(), gomock.Any()).Return(fmt.Errorf("error")),
117 mockDeviceController.EXPECT().File().Return(os.NewFile(3, "mock_file")),
118 mockDeviceController.EXPECT().Time().Return(time.Unix(1075896000, 500000000), nil),
119 // If first attempt to set PTPPerout fails
120 mockDeviceController.EXPECT().setPTPPerout(gomock.Any()).Return(fmt.Errorf("error")),
121 // Should retry setPTPPerout with backward compatible flag
122 mockDeviceController.EXPECT().setPTPPerout(gomock.Any()).Return(nil).Do(func(arg *PtpPeroutRequest) { actualPeroutRequest = arg }),
123 )
124 expectedPeroutRequest := &PtpPeroutRequest{
125 Index: uint32(0),
126 Flags: uint32(0x0),
127 StartOrPhase: PtpClockTime{Sec: 1075896002},
128 Period: PtpClockTime{Sec: 1},
129 On: PtpClockTime{Nsec: 0},
130 }
131
132 // Act
133 ppsSource, err := ActivatePPSSource(mockDeviceController, 0)
134
135 // Assert
136 require.NoError(t, err)
137 require.EqualValues(t, expectedPeroutRequest, actualPeroutRequest, "setPTPPerout parameter mismatch")
138 require.Equal(t, PPSSet, ppsSource.state)
139}
140
141func TestActivatePPSSourceSetPTPPeroutDoubleFailure(t *testing.T) {
142 // Prepare

Callers

nothing calls this directly

Calls 8

SetupMocksFunction · 0.85
ActivatePPSSourceFunction · 0.85
UnixMethod · 0.80
setPinFuncMethod · 0.65
FileMethod · 0.65
TimeMethod · 0.65
setPTPPeroutMethod · 0.65
EXPECTMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…