Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Unified Diff: mojo/edk/system/awakable_list_unittest.cc

Issue 2084593005: Rationalize AddAwakable...() and RemoveAwakable...() methods. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: doh Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/edk/system/awakable_list.cc ('k') | mojo/edk/system/channel_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/system/awakable_list_unittest.cc
diff --git a/mojo/edk/system/awakable_list_unittest.cc b/mojo/edk/system/awakable_list_unittest.cc
index d193e5c85b006104286275288087173a442d9a22..2f8c619e8c6e4c5bccaef7f978dbb8f430326924 100644
--- a/mojo/edk/system/awakable_list_unittest.cc
+++ b/mojo/edk/system/awakable_list_unittest.cc
@@ -30,11 +30,11 @@ TEST(AwakableListTest, BasicCancel) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
+ awakable_list.Add(thread.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
awakable_list.CancelAll();
// Double-remove okay:
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_CANCELLED, result);
EXPECT_EQ(1u, context);
@@ -43,7 +43,7 @@ TEST(AwakableListTest, BasicCancel) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 2);
+ awakable_list.Add(thread.waiter(), 2, MOJO_HANDLE_SIGNAL_WRITABLE);
awakable_list.CancelAll();
thread.Start();
} // Join |thread|.
@@ -54,7 +54,7 @@ TEST(AwakableListTest, BasicCancel) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 3);
+ awakable_list.Add(thread.waiter(), 3, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.CancelAll();
@@ -71,7 +71,7 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
+ awakable_list.Add(thread.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
awakable_list.OnStateChange(
HandleSignalsState(
@@ -80,7 +80,7 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_OK, result);
EXPECT_EQ(1u, context);
@@ -89,7 +89,7 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 2);
+ awakable_list.Add(thread.waiter(), 2, MOJO_HANDLE_SIGNAL_WRITABLE);
awakable_list.OnStateChange(
HandleSignalsState(
MOJO_HANDLE_SIGNAL_NONE,
@@ -97,9 +97,9 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_WRITABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
// Double-remove okay:
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
thread.Start();
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_OK, result);
@@ -109,7 +109,7 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 3);
+ awakable_list.Add(thread.waiter(), 3, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.OnStateChange(
@@ -119,7 +119,7 @@ TEST(AwakableListTest, BasicAwakeSatisfied) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_OK, result);
EXPECT_EQ(3u, context);
@@ -133,7 +133,7 @@ TEST(AwakableListTest, BasicAwakeUnsatisfiable) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
+ awakable_list.Add(thread.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
awakable_list.OnStateChange(
HandleSignalsState(
@@ -141,7 +141,7 @@ TEST(AwakableListTest, BasicAwakeUnsatisfiable) {
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE),
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE,
MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result);
EXPECT_EQ(1u, context);
@@ -150,14 +150,14 @@ TEST(AwakableListTest, BasicAwakeUnsatisfiable) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 2);
+ awakable_list.Add(thread.waiter(), 2, MOJO_HANDLE_SIGNAL_WRITABLE);
awakable_list.OnStateChange(
HandleSignalsState(
MOJO_HANDLE_SIGNAL_NONE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE),
HandleSignalsState(MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
thread.Start();
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result);
@@ -167,7 +167,7 @@ TEST(AwakableListTest, BasicAwakeUnsatisfiable) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 3);
+ awakable_list.Add(thread.waiter(), 3, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.OnStateChange(
@@ -176,9 +176,9 @@ TEST(AwakableListTest, BasicAwakeUnsatisfiable) {
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE),
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE,
MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
// Double-remove okay:
- awakable_list.Remove(thread.waiter());
+ awakable_list.Remove(false, thread.waiter(), 0);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_FAILED_PRECONDITION, result);
EXPECT_EQ(3u, context);
@@ -198,10 +198,10 @@ TEST(AwakableListTest, MultipleAwakables) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread1(&result1, &context1);
- awakable_list.Add(thread1.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
+ awakable_list.Add(thread1.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
thread1.Start();
test::SimpleWaiterThread thread2(&result2, &context2);
- awakable_list.Add(thread2.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 2);
+ awakable_list.Add(thread2.waiter(), 2, MOJO_HANDLE_SIGNAL_WRITABLE);
thread2.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.CancelAll();
@@ -215,10 +215,10 @@ TEST(AwakableListTest, MultipleAwakables) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread1(&result1, &context1);
- awakable_list.Add(thread1.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 3);
+ awakable_list.Add(thread1.waiter(), 3, MOJO_HANDLE_SIGNAL_READABLE);
thread1.Start();
test::SimpleWaiterThread thread2(&result2, &context2);
- awakable_list.Add(thread2.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 4);
+ awakable_list.Add(thread2.waiter(), 4, MOJO_HANDLE_SIGNAL_WRITABLE);
thread2.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.OnStateChange(
@@ -228,7 +228,7 @@ TEST(AwakableListTest, MultipleAwakables) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread1.waiter());
+ awakable_list.Remove(false, thread1.waiter(), 0);
awakable_list.CancelAll();
} // Join threads.
EXPECT_EQ(MOJO_RESULT_OK, result1);
@@ -240,10 +240,10 @@ TEST(AwakableListTest, MultipleAwakables) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread1(&result1, &context1);
- awakable_list.Add(thread1.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 5);
+ awakable_list.Add(thread1.waiter(), 5, MOJO_HANDLE_SIGNAL_READABLE);
thread1.Start();
test::SimpleWaiterThread thread2(&result2, &context2);
- awakable_list.Add(thread2.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 6);
+ awakable_list.Add(thread2.waiter(), 6, MOJO_HANDLE_SIGNAL_WRITABLE);
thread2.Start();
ThreadSleep(2 * test::EpsilonTimeout());
awakable_list.OnStateChange(
@@ -252,7 +252,7 @@ TEST(AwakableListTest, MultipleAwakables) {
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE),
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE,
MOJO_HANDLE_SIGNAL_READABLE));
- awakable_list.Remove(thread2.waiter());
+ awakable_list.Remove(false, thread2.waiter(), 0);
awakable_list.CancelAll();
} // Join threads.
EXPECT_EQ(MOJO_RESULT_CANCELLED, result1);
@@ -264,7 +264,7 @@ TEST(AwakableListTest, MultipleAwakables) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread1(&result1, &context1);
- awakable_list.Add(thread1.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 7);
+ awakable_list.Add(thread1.waiter(), 7, MOJO_HANDLE_SIGNAL_READABLE);
thread1.Start();
ThreadSleep(1 * test::EpsilonTimeout());
@@ -279,7 +279,7 @@ TEST(AwakableListTest, MultipleAwakables) {
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
test::SimpleWaiterThread thread2(&result2, &context2);
- awakable_list.Add(thread2.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 8);
+ awakable_list.Add(thread2.waiter(), 8, MOJO_HANDLE_SIGNAL_WRITABLE);
thread2.Start();
ThreadSleep(1 * test::EpsilonTimeout());
@@ -292,16 +292,16 @@ TEST(AwakableListTest, MultipleAwakables) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.Remove(thread1.waiter());
+ awakable_list.Remove(false, thread1.waiter(), 0);
ThreadSleep(1 * test::EpsilonTimeout());
test::SimpleWaiterThread thread3(&result3, &context3);
- awakable_list.Add(thread3.waiter(), MOJO_HANDLE_SIGNAL_WRITABLE, 9);
+ awakable_list.Add(thread3.waiter(), 9, MOJO_HANDLE_SIGNAL_WRITABLE);
thread3.Start();
test::SimpleWaiterThread thread4(&result4, &context4);
- awakable_list.Add(thread4.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 10);
+ awakable_list.Add(thread4.waiter(), 10, MOJO_HANDLE_SIGNAL_READABLE);
thread4.Start();
ThreadSleep(1 * test::EpsilonTimeout());
@@ -313,8 +313,8 @@ TEST(AwakableListTest, MultipleAwakables) {
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE),
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE,
MOJO_HANDLE_SIGNAL_READABLE));
- awakable_list.Remove(thread2.waiter());
- awakable_list.Remove(thread3.waiter());
+ awakable_list.Remove(false, thread2.waiter(), 0);
+ awakable_list.Remove(false, thread3.waiter(), 0);
// Cancel #4.
awakable_list.CancelAll();
@@ -329,17 +329,17 @@ TEST(AwakableListTest, MultipleAwakables) {
EXPECT_EQ(10u, context4);
}
-TEST(AwakableListTest, RemoveWithContext) {
+TEST(AwakableListTest, RemoveMatchContext) {
MojoResult result;
uint64_t context;
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 2);
+ awakable_list.Add(thread.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
+ awakable_list.Add(thread.waiter(), 2, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
- awakable_list.RemoveWithContext(thread.waiter(), 2);
+ awakable_list.Remove(true, thread.waiter(), 2);
awakable_list.OnStateChange(
HandleSignalsState(
MOJO_HANDLE_SIGNAL_NONE,
@@ -347,9 +347,9 @@ TEST(AwakableListTest, RemoveWithContext) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.RemoveWithContext(thread.waiter(), 1);
+ awakable_list.Remove(true, thread.waiter(), 1);
// Double-remove okay:
- awakable_list.RemoveWithContext(thread.waiter(), 1);
+ awakable_list.Remove(true, thread.waiter(), 1);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_OK, result);
EXPECT_EQ(1u, context);
@@ -358,10 +358,10 @@ TEST(AwakableListTest, RemoveWithContext) {
{
AwakableList awakable_list;
test::SimpleWaiterThread thread(&result, &context);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 1);
- awakable_list.Add(thread.waiter(), MOJO_HANDLE_SIGNAL_READABLE, 2);
+ awakable_list.Add(thread.waiter(), 1, MOJO_HANDLE_SIGNAL_READABLE);
+ awakable_list.Add(thread.waiter(), 2, MOJO_HANDLE_SIGNAL_READABLE);
thread.Start();
- awakable_list.RemoveWithContext(thread.waiter(), 1);
+ awakable_list.Remove(true, thread.waiter(), 1);
awakable_list.OnStateChange(
HandleSignalsState(
MOJO_HANDLE_SIGNAL_NONE,
@@ -369,7 +369,7 @@ TEST(AwakableListTest, RemoveWithContext) {
HandleSignalsState(
MOJO_HANDLE_SIGNAL_READABLE,
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_WRITABLE));
- awakable_list.RemoveWithContext(thread.waiter(), 2);
+ awakable_list.Remove(true, thread.waiter(), 2);
} // Join |thread|.
EXPECT_EQ(MOJO_RESULT_OK, result);
EXPECT_EQ(2u, context);
@@ -415,8 +415,8 @@ TEST(AwakableListTest, KeepAwakablesReturningTrue) {
RemoveAwakable remove2;
AwakableList remove_all;
- remove_all.Add(&remove0, MOJO_HANDLE_SIGNAL_WRITABLE, 0);
- remove_all.Add(&remove1, MOJO_HANDLE_SIGNAL_WRITABLE, 0);
+ remove_all.Add(&remove0, 0, MOJO_HANDLE_SIGNAL_WRITABLE);
+ remove_all.Add(&remove1, 0, MOJO_HANDLE_SIGNAL_WRITABLE);
remove_all.OnStateChange(
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE, MOJO_HANDLE_SIGNAL_WRITABLE),
@@ -433,9 +433,9 @@ TEST(AwakableListTest, KeepAwakablesReturningTrue) {
EXPECT_EQ(remove1.awake_count, 1);
AwakableList remove_first;
- remove_first.Add(&remove2, MOJO_HANDLE_SIGNAL_WRITABLE, 0);
- remove_first.Add(&keep0, MOJO_HANDLE_SIGNAL_WRITABLE, 0);
- remove_first.Add(&keep1, MOJO_HANDLE_SIGNAL_WRITABLE, 0);
+ remove_first.Add(&remove2, 0, MOJO_HANDLE_SIGNAL_WRITABLE);
+ remove_first.Add(&keep0, 0, MOJO_HANDLE_SIGNAL_WRITABLE);
+ remove_first.Add(&keep1, 0, MOJO_HANDLE_SIGNAL_WRITABLE);
remove_first.OnStateChange(
HandleSignalsState(MOJO_HANDLE_SIGNAL_NONE, MOJO_HANDLE_SIGNAL_WRITABLE),
@@ -453,8 +453,8 @@ TEST(AwakableListTest, KeepAwakablesReturningTrue) {
EXPECT_EQ(keep1.awake_count, 2);
EXPECT_EQ(remove2.awake_count, 1);
- remove_first.Remove(&keep0);
- remove_first.Remove(&keep1);
+ remove_first.Remove(false, &keep0, 0);
+ remove_first.Remove(false, &keep1, 0);
}
} // namespace
« no previous file with comments | « mojo/edk/system/awakable_list.cc ('k') | mojo/edk/system/channel_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698