From 030234c7a6c7f6c5a901dab68591c9cfb2d4828f Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Sat, 3 Sep 2016 13:28:55 -0700 Subject: [core] Rework invokeWithCallback so that the callback is last --- test/util/thread.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/test/util/thread.cpp b/test/util/thread.cpp index bf76ec4aef..fc41fd4b78 100644 --- a/test/util/thread.cpp +++ b/test/util/thread.cpp @@ -83,10 +83,10 @@ TEST(Thread, invoke) { EXPECT_EQ(*result, 1); })); - requests.push_back(thread.invokeWithCallback(&TestObject::transferInOut, [&] (std::unique_ptr result) { + requests.push_back(thread.invokeWithCallback(&TestObject::transferInOut, std::make_unique(1), [&] (std::unique_ptr result) { EXPECT_EQ(tid, std::this_thread::get_id()); EXPECT_EQ(*result, 1); - }, std::make_unique(1))); + })); thread.invoke(&TestObject::transferInShared, std::make_shared(1)); requests.push_back(thread.invokeWithCallback(&TestObject::transferOutShared, [&] (std::shared_ptr result) { @@ -100,11 +100,11 @@ TEST(Thread, invoke) { }); std::string test("test"); - requests.push_back(thread.invokeWithCallback(&TestObject::transferString, [&] (std::string result){ + requests.push_back(thread.invokeWithCallback(&TestObject::transferString, test, [&] (std::string result){ EXPECT_EQ(tid, std::this_thread::get_id()); EXPECT_EQ(result, "test"); loop.stop(); - }, test)); + })); test.clear(); }); @@ -147,10 +147,10 @@ TEST(Thread, ExecutesAfter) { bool didAfter = false; auto request = thread.invokeWithCallback(&TestWorker::send, [&] { + didWork = true; + }, [&] { didAfter = true; loop.stop(); - }, [&] { - didWork = true; }); loop.run(); @@ -167,11 +167,11 @@ TEST(Thread, WorkRequestDeletionWaitsForWorkToComplete) { std::promise started; bool didWork = false; - auto request = thread.invokeWithCallback(&TestWorker::send, [&] {}, [&] { + auto request = thread.invokeWithCallback(&TestWorker::send, [&] { started.set_value(); usleep(10000); didWork = true; - }); + }, [&] {}); started.get_future().get(); request.reset(); @@ -186,9 +186,9 @@ TEST(Thread, WorkRequestDeletionCancelsAfter) { bool didAfter = false; auto request = thread.invokeWithCallback(&TestWorker::send, [&] { - didAfter = true; - }, [&] { started.set_value(); + }, [&] { + didAfter = true; }); started.get_future().get(); @@ -203,14 +203,14 @@ TEST(Thread, WorkRequestDeletionCancelsImmediately) { std::promise started; - auto request1 = thread.invokeWithCallback(&TestWorker::send, [&] {}, [&] { + auto request1 = thread.invokeWithCallback(&TestWorker::send, [&] { usleep(10000); started.set_value(); - }); + }, [&] {}); - auto request2 = thread.invokeWithCallback(&TestWorker::send, [&] {}, [&] { + auto request2 = thread.invokeWithCallback(&TestWorker::send, [&] { ADD_FAILURE() << "Second work item should not be invoked"; - }); + }, [&] {}); request2.reset(); started.get_future().get(); -- cgit v1.2.1