summaryrefslogtreecommitdiff
path: root/cpp/test
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2010-06-04 05:52:09 -0700
committerMark Spruiell <mes@zeroc.com>2010-06-04 05:52:09 -0700
commit026188d994b5f2cdc21a68608a19d69ed8295dd3 (patch)
treee88c3f6a3cea56c92317a58153eb9093f4971e60 /cpp/test
parentbug 4726 - adding node to third-party README.txt (diff)
downloadice-026188d994b5f2cdc21a68608a19d69ed8295dd3.tar.bz2
ice-026188d994b5f2cdc21a68608a19d69ed8295dd3.tar.xz
ice-026188d994b5f2cdc21a68608a19d69ed8295dd3.zip
fixing minor bug in cpp/test/IceUtil/timer
Diffstat (limited to 'cpp/test')
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp49
1 files changed, 25 insertions, 24 deletions
diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp
index 523dbb58b44..fe050935248 100644
--- a/cpp/test/IceUtil/timer/Client.cpp
+++ b/cpp/test/IceUtil/timer/Client.cpp
@@ -26,8 +26,8 @@ public:
TestTask(const IceUtil::Time& scheduledTime) : _scheduledTime(scheduledTime), _count(0)
{
}
-
- virtual void
+
+ virtual void
runTimerTask()
{
Lock sync(*this);
@@ -50,13 +50,13 @@ public:
return _run != IceUtil::Time();
}
- int
+ int
getCount() const
{
Lock sync(*this);
return _count;
}
-
+
virtual IceUtil::Time
getRunTime() const
{
@@ -83,7 +83,7 @@ public:
}
}
- void
+ void
clear()
{
_run = IceUtil::Time();
@@ -107,7 +107,7 @@ public:
{
}
- virtual void
+ virtual void
runTimerTask()
{
Lock sync(*this);
@@ -147,20 +147,21 @@ int main(int argc, char* argv[])
timer->schedule(task, IceUtil::Time());
task->waitForRun();
task->clear();
- while(true)
- {
- try
- {
- timer->schedule(task, IceUtil::Time::milliSeconds(-10));
- timer->schedule(task, IceUtil::Time());
- }
- catch(const IceUtil::IllegalArgumentException&)
- {
- break;
- }
- task->waitForRun();
- task->clear();
- }
+
+ //
+ // Verify that the same task cannot be scheduled more than once.
+ //
+ timer->schedule(task, IceUtil::Time::milliSeconds(100));
+ try
+ {
+ timer->schedule(task, IceUtil::Time());
+ }
+ catch(const IceUtil::IllegalArgumentException&)
+ {
+ // Expected.
+ }
+ task->waitForRun();
+ task->clear();
}
{
@@ -182,7 +183,7 @@ int main(int argc, char* argv[])
}
random_shuffle(tasks.begin(), tasks.end());
- vector<TestTaskPtr>::const_iterator p;
+ vector<TestTaskPtr>::const_iterator p;
for(p = tasks.begin(); p != tasks.end(); ++p)
{
timer->schedule(*p, (*p)->getScheduledTime());
@@ -191,7 +192,7 @@ int main(int argc, char* argv[])
for(p = tasks.begin(); p != tasks.end(); ++p)
{
(*p)->waitForRun();
- }
+ }
test(IceUtil::Time::now(IceUtil::Time::Monotonic) > start);
@@ -210,8 +211,8 @@ int main(int argc, char* argv[])
timer->scheduleRepeated(task, IceUtil::Time::milliSeconds(20));
IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(500));
test(task->hasRun());
- test(task->getCount() > 1);
- test(task->getCount() < 26);
+ test(task->getCount() > 1);
+ test(task->getCount() < 26);
test(timer->cancel(task));
int count = task->getCount();
IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(100));