@@ -127,19 +127,28 @@ public MFTestResults TimeServiceConfigTest0()
127127 return result ;
128128 }
129129
130- private void UpdateTimeNow ( )
130+ private IPAddress GetTimeServiceAddress ( )
131131 {
132- for ( int i = 0 ; i < 10 ; i ++ )
132+ IPHostEntry entry = Dns . GetHostEntry ( "time.nist.gov" ) ;
133+ if ( entry == null || entry . AddressList == null )
133134 {
134- TimeServiceStatus status = TimeService . UpdateNow ( new byte [ ] { 192 , 43 , 244 , 18 } , 10 ) ;
135+ throw new ApplicationException ( "Get time service ip failed" ) ; ;
136+ }
135137
136- if ( status . Flags == TimeServiceStatus . TimeServiceStatusFlags . SyncSucceeded )
137- {
138+ IPAddress timeServiceAddress = null ;
139+ for ( int i = 0 ; i < entry . AddressList . Length ; ++ i )
140+ {
141+ timeServiceAddress = entry . AddressList [ i ] ;
142+ if ( timeServiceAddress != null )
138143 break ;
139- }
144+ }
140145
141- Thread . Sleep ( 100 ) ;
146+ if ( timeServiceAddress == null )
147+ {
148+ throw new ApplicationException ( "Get time service ip failed" ) ; ;
142149 }
150+
151+ return timeServiceAddress ;
143152 }
144153
145154 [ TestMethod ]
@@ -149,7 +158,7 @@ public MFTestResults TimeServiceUpdateTest0()
149158 try
150159 {
151160 /// Now call UpdateNow this should set the time back to correct one.
152- UpdateTimeNow ( ) ;
161+ TimeService . UpdateNow ( GetTimeServiceAddress ( ) . GetAddressBytes ( ) , 10 ) ;
153162
154163 DateTime now = DateTime . Now ;
155164 DateTime nowEbs = now ;
@@ -166,9 +175,9 @@ public MFTestResults TimeServiceUpdateTest0()
166175 TimeService . SetUtcTime ( 119600064000000000 ) ; /// 1/1/1980.
167176 ///
168177 DateTime old = DateTime . Now ;
169-
178+
170179 /// Now call UpdateNow this should set the time back to correct one.
171- UpdateTimeNow ( ) ;
180+ TimeService . UpdateNow ( GetTimeServiceAddress ( ) . GetAddressBytes ( ) , 10 ) ;
172181
173182 DateTime end = DateTime . Now ;
174183
@@ -201,7 +210,7 @@ public MFTestResults TimeServiceUpdateTest1()
201210 timerEvent . Reset ( ) ;
202211
203212 TimeService . SystemTimeChanged += handler ;
204- UpdateTimeNow ( ) ;
213+ TimeService . UpdateNow ( GetTimeServiceAddress ( ) . GetAddressBytes ( ) , 10 ) ;
205214 if ( ! timerEvent . WaitOne ( 60 * 1000 , false ) ) /// Wait some time for the event to be fired.
206215 {
207216 result = MFTestResults . Fail ;
@@ -226,14 +235,13 @@ public MFTestResults TimeServiceUpdateTest2()
226235 {
227236 /// This failure only happens in device. Skipping it for now.
228237 MFTestResults result = MFTestResults . Skip ;
229-
230238 TimeSyncFailedEventHandler handler = new TimeSyncFailedEventHandler ( TimeService_TimeSyncFailed ) ;
231239 try
232240 {
233241 syncEvent . Reset ( ) ;
234242
235243 TimeService . TimeSyncFailed += handler ;
236- UpdateTimeNow ( ) ;
244+ TimeService . UpdateNow ( GetTimeServiceAddress ( ) . GetAddressBytes ( ) , 10 ) ;
237245 if ( ! syncEvent . WaitOne ( 5 * 1000 , false ) ) /// Wait some time for the event to be fired.
238246 {
239247 result = MFTestResults . Skip ;
@@ -322,11 +330,8 @@ public MFTestResults TimeServiceStartTest0()
322330
323331 TimeService . SystemTimeChanged += handler ;
324332
325- byte [ ] primaryServer = new byte [ ] { 192 , 43 , 244 , 18 } ;
326- byte [ ] alternateServer = new byte [ ] { 129 , 6 , 15 , 28 } ;
327333 TimeServiceSettings settings = new TimeServiceSettings ( ) ;
328- settings . PrimaryServer = primaryServer ;
329- settings . AlternateServer = alternateServer ;
334+ settings . PrimaryServer = GetTimeServiceAddress ( ) . GetAddressBytes ( ) ;
330335 settings . Tolerance = 100 ;
331336 settings . RefreshTime = 60 ;
332337
@@ -368,11 +373,8 @@ public MFTestResults TimeServiceStartTest1()
368373
369374 TimeService . SetUtcTime ( 119600064000000000 ) ; /// 1/1/1980.
370375 ///
371- byte [ ] primaryServer = new byte [ ] { 192 , 43 , 244 , 18 } ;
372- byte [ ] alternateServer = new byte [ ] { 129 , 6 , 15 , 28 } ;
373376 TimeServiceSettings settings = new TimeServiceSettings ( ) ;
374- settings . PrimaryServer = primaryServer ;
375- settings . AlternateServer = alternateServer ;
377+ settings . PrimaryServer = GetTimeServiceAddress ( ) . GetAddressBytes ( ) ;
376378 settings . Tolerance = 100 ;
377379 settings . RefreshTime = 60 ;
378380
@@ -415,11 +417,8 @@ public MFTestResults TimeServiceLastSyncStatusTest0()
415417
416418 TimeService . SetUtcTime ( 119600064000000000 ) ; /// 1/1/1980.
417419 ///
418- byte [ ] primaryServer = new byte [ ] { 192 , 43 , 244 , 18 } ;
419- byte [ ] alternateServer = new byte [ ] { 129 , 6 , 15 , 28 } ;
420420 TimeServiceSettings settings = new TimeServiceSettings ( ) ;
421- settings . PrimaryServer = primaryServer ;
422- settings . AlternateServer = alternateServer ;
421+ settings . PrimaryServer = GetTimeServiceAddress ( ) . GetAddressBytes ( ) ;
423422 settings . Tolerance = 100 ;
424423 settings . RefreshTime = 60 ;
425424 TimeServiceStatus status = null ;
0 commit comments