| 108 | } |
| 109 | |
| 110 | func TestOffsetBetweenExtendedReadings(t *testing.T) { |
| 111 | extendedA := &PTPSysOffsetExtended{ |
| 112 | Samples: 6, |
| 113 | Ts: [unix.PTP_MAX_SAMPLES][3]PtpClockTime{ |
| 114 | {{Sec: 1667818190, Nsec: 552297411}, {Sec: 1667818153, Nsec: 552297462}, {Sec: 1667818190, Nsec: 552297522}}, |
| 115 | {{Sec: 1667818190, Nsec: 552297533}, {Sec: 1667818153, Nsec: 552297582}, {Sec: 1667818190, Nsec: 552297602}}, |
| 116 | {{Sec: 1667818190, Nsec: 552297644}, {Sec: 1667818153, Nsec: 552297661}, {Sec: 1667818190, Nsec: 552297722}}, |
| 117 | {{Sec: 1667818190, Nsec: 552297755}, {Sec: 1667818153, Nsec: 552297782}, {Sec: 1667818190, Nsec: 552297822}}, |
| 118 | {{Sec: 1667818190, Nsec: 552297866}, {Sec: 1667818153, Nsec: 552297861}, {Sec: 1667818190, Nsec: 552297922}}, |
| 119 | {{Sec: 1667818190, Nsec: 552297966}, {Sec: 1667818153, Nsec: 552297961}, {Sec: 1667818190, Nsec: 552298022}}, |
| 120 | }, |
| 121 | } |
| 122 | |
| 123 | extendedB := &PTPSysOffsetExtended{ |
| 124 | Samples: 5, |
| 125 | Ts: [unix.PTP_MAX_SAMPLES][3]PtpClockTime{ |
| 126 | {{Sec: 1667818191, Nsec: 552298311}, {Sec: 1667818154, Nsec: 552297452}, {Sec: 1667818191, Nsec: 552298512}}, |
| 127 | {{Sec: 1667818191, Nsec: 552298033}, {Sec: 1667818154, Nsec: 552297572}, {Sec: 1667818191, Nsec: 552298712}}, |
| 128 | {{Sec: 1667818191, Nsec: 552299644}, {Sec: 1667818154, Nsec: 552297691}, {Sec: 1667818191, Nsec: 552308702}}, |
| 129 | {{Sec: 1667818191, Nsec: 552300755}, {Sec: 1667818154, Nsec: 552297782}, {Sec: 1667818191, Nsec: 552309812}}, |
| 130 | {{Sec: 1667818191, Nsec: 552301866}, {Sec: 1667818154, Nsec: 552297861}, {Sec: 1667818191, Nsec: 552328912}}, |
| 131 | }, |
| 132 | } |
| 133 | offset, err := extendedB.Sub(extendedA) |
| 134 | require.NoError(t, err) |
| 135 | require.Equal(t, time.Duration(-815), offset) |
| 136 | } |