@@ -64,11 +64,12 @@ static void MarkUidAsPresent(ThreadContextBase *tctx, void *arg) {
6464
6565static void TestRegistry (ThreadRegistry *registry, bool has_quarantine) {
6666 // Create and start a main thread.
67- EXPECT_EQ (0U , registry->CreateThread (get_uid (0 ), true , -1 , 0 ));
67+ EXPECT_EQ (0U , registry->CreateThread (get_uid (0 ), true , -1 , 0 , nullptr ));
6868 registry->StartThread (0 , 0 , ThreadType::Regular, 0 );
6969 // Create a bunch of threads.
7070 for (u32 i = 1 ; i <= 10 ; i++) {
71- EXPECT_EQ (i, registry->CreateThread (get_uid (i), is_detached (i), 0 , 0 ));
71+ EXPECT_EQ (i, registry->CreateThread (get_uid (i), is_detached (i), 100 + i,
72+ 200 + i, nullptr ));
7273 }
7374 CheckThreadQuantity (registry, 11 , 1 , 11 );
7475 // Start some of them.
@@ -88,19 +89,27 @@ static void TestRegistry(ThreadRegistry *registry, bool has_quarantine) {
8889 std::vector<u32 > new_tids;
8990 for (u32 i = 11 ; i <= 15 ; i++) {
9091 new_tids.push_back (
91- registry->CreateThread (get_uid (i), is_detached (i), 0 , 0 ));
92+ registry->CreateThread (get_uid (i), is_detached (i), 0 , 0 , nullptr ));
9293 }
9394 ASSERT_LE (kRegistryQuarantine , 5U );
94- u32 exp_total = 16 - (has_quarantine ? 5 - kRegistryQuarantine : 0 );
95+ u32 exp_total = 16 - (has_quarantine ? 5 - kRegistryQuarantine : 0 );
9596 CheckThreadQuantity (registry, exp_total, 6 , 11 );
9697 // Test SetThreadName and FindThread.
9798 registry->SetThreadName (6 , " six" );
9899 registry->SetThreadName (7 , " seven" );
99- EXPECT_EQ (7U , registry->FindThread (HasName, (void *)" seven" ));
100+ EXPECT_EQ (7U , registry->FindThread (HasName, (void *)" seven" ));
100101 EXPECT_EQ (kInvalidTid , registry->FindThread (HasName, (void *)" none" ));
101- EXPECT_EQ (0U , registry->FindThread (HasUid, (void *)get_uid (0 )));
102- EXPECT_EQ (10U , registry->FindThread (HasUid, (void *)get_uid (10 )));
102+ EXPECT_EQ (0U , registry->FindThread (HasUid, (void *)get_uid (0 )));
103+ EXPECT_EQ (10U , registry->FindThread (HasUid, (void *)get_uid (10 )));
103104 EXPECT_EQ (kInvalidTid , registry->FindThread (HasUid, (void *)0x1234 ));
105+ EXPECT_EQ (7U ,
106+ registry->FindThread ([](ThreadContextBase *tctx,
107+ void *) { return tctx->parent_tid == 107 ; },
108+ nullptr ));
109+ EXPECT_EQ (8U ,
110+ registry->FindThread ([](ThreadContextBase *tctx,
111+ void *) { return tctx->stack_id == 208 ; },
112+ nullptr ));
104113 // Detach and finish and join remaining threads.
105114 for (u32 i = 6 ; i <= 10 ; i++) {
106115 registry->DetachThread (i, 0 );
0 commit comments