Skip to content
This repository was archived by the owner on Jun 5, 2019. It is now read-only.

Commit 13973e2

Browse files
committed
Merge pull request #315 from mortezag/fixTimerServiceTests
Fix TimerServiceTests
2 parents 99d95ae + 8bb3db8 commit 13973e2

File tree

1 file changed

+24
-25
lines changed
  • Test/Platform/Tests/CLR/Microsoft.SPOT.Time/TimeServiceTests

1 file changed

+24
-25
lines changed

Test/Platform/Tests/CLR/Microsoft.SPOT.Time/TimeServiceTests/ServiceTests.cs

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)