Mercurial > hg > orthanc
diff UnitTestsSources/MultiThreadingTests.cpp @ 1009:26642cecd36d lua-scripting
clearer job interface
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 09 Jul 2014 16:11:44 +0200 |
parents | 84b6d7bca6db |
children | 6e7e5ed91c2d |
line wrap: on
line diff
--- a/UnitTestsSources/MultiThreadingTests.cpp Tue Jul 08 18:14:24 2014 +0200 +++ b/UnitTestsSources/MultiThreadingTests.cpp Wed Jul 09 16:11:44 2014 +0200 @@ -303,15 +303,10 @@ outputs.push_back(boost::lexical_cast<std::string>(b)); } - Toolbox::USleep(1000000); + Toolbox::USleep(100000); return true; } - - virtual bool SendOutputsToSink() const - { - return true; - } }; @@ -319,31 +314,18 @@ { typedef IServerCommand::ListOfStrings ListOfStrings; -#if 1 while (!(*done)) { ListOfStrings l; s->GetListOfJobs(l); for (ListOfStrings::iterator i = l.begin(); i != l.end(); i++) printf(">> %s: %0.1f\n", i->c_str(), 100.0f * s->GetProgress(*i)); - Toolbox::USleep(100000); + Toolbox::USleep(10000); } -#else - ListOfStrings l; - s->GetListOfJobs(l); - for (ListOfStrings::iterator i = l.begin(); i != l.end(); i++) - printf(">> %s\n", i->c_str()); - Toolbox::USleep(1500000); - s->Cancel(*j); - Toolbox::USleep(1000000); - s->GetListOfJobs(l); - for (ListOfStrings::iterator i = l.begin(); i != l.end(); i++) - printf(">> %s\n", i->c_str()); -#endif } -TEST(MultiThreading, DISABLED_ServerScheduler) +TEST(MultiThreading, ServerScheduler) { ServerScheduler scheduler(10); @@ -355,9 +337,12 @@ f2.AddInput(boost::lexical_cast<std::string>(42)); //f3.AddInput(boost::lexical_cast<std::string>(42)); //f4.AddInput(boost::lexical_cast<std::string>(42)); - f2.ConnectNext(f3); - f3.ConnectNext(f4); - f4.ConnectNext(f5); + f2.ConnectOutput(f3); + f3.ConnectOutput(f4); + f4.ConnectOutput(f5); + + f3.SetConnectedToSink(true); + f5.SetConnectedToSink(true); job.SetDescription("tutu"); @@ -370,6 +355,10 @@ IServerCommand::ListOfStrings l; scheduler.SubmitAndWait(l, job); + ASSERT_EQ(2, l.size()); + ASSERT_EQ(42 * 2 * 3, boost::lexical_cast<int>(l.front())); + ASSERT_EQ(42 * 2 * 3 * 4 * 5, boost::lexical_cast<int>(l.back())); + for (IServerCommand::ListOfStrings::iterator i = l.begin(); i != l.end(); i++) { printf("** %s\n", i->c_str());