mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-12-04 17:11:06 +01:00
CA-108795: Fix TestDelay tests.
Removed TestDelays tests from UpdateManagerTests.cs Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
This commit is contained in:
parent
edce7529f6
commit
16429b4707
@ -146,64 +146,5 @@ namespace XenAdminTests.MiscTests
|
|||||||
secondUpdateStarted = true;
|
secondUpdateStarted = true;
|
||||||
_um.RequestUpdate();
|
_um.RequestUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TestUpdateDelays(int n, int requestPeriod, int updateDuration)
|
|
||||||
{
|
|
||||||
Stopwatch sw = Stopwatch.StartNew();
|
|
||||||
List<long> times = new List<long>();
|
|
||||||
int max = Math.Max(requestPeriod, updateDuration);
|
|
||||||
|
|
||||||
_um.Update += delegate
|
|
||||||
{
|
|
||||||
times.Add(sw.ElapsedMilliseconds);
|
|
||||||
AccurateSleep(updateDuration);
|
|
||||||
};
|
|
||||||
|
|
||||||
for (int i = 0; i < n; i++)
|
|
||||||
{
|
|
||||||
_um.RequestUpdate();
|
|
||||||
AccurateSleep(requestPeriod);
|
|
||||||
}
|
|
||||||
|
|
||||||
// wait for everything to finish
|
|
||||||
AccurateSleep(Leeway + (n * max));
|
|
||||||
|
|
||||||
for (int i = 1; i < times.Count; i++)
|
|
||||||
{
|
|
||||||
if (requestPeriod > updateDuration)
|
|
||||||
{
|
|
||||||
Assert.Less(times[i], times[i - 1] + max + Leeway, string.Format("The delay was too long between updates {0} and {1}.", i, i - 1));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Assert.GreaterOrEqual(times[i], times[i - 1] + Delay + max - Leeway, string.Format("There was no delay between updates {0} and {1}.", i, i-1));
|
|
||||||
Assert.Less(times[i], times[i - 1] + Delay + max + Leeway, string.Format("The delay was too long between updates {0} and {1}.", i, i - 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void TestDelay1()
|
|
||||||
{
|
|
||||||
TestUpdateDelays(5, 800, 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void TestDelay2()
|
|
||||||
{
|
|
||||||
TestUpdateDelays(5, 500, 800);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void TestDelay3()
|
|
||||||
{
|
|
||||||
TestUpdateDelays(5, 10, 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test, Ignore] //TODO: investigate failure, performance seems to be lower
|
|
||||||
public void TestDelay4()
|
|
||||||
{
|
|
||||||
TestUpdateDelays(5, 1000, 10);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user