/* other process */ struct thread *other, *other_leader; struct maps *other_maps;
/* * This test create 2 processes abstractions (struct thread) * with several threads and checks they properly share and * maintain maps info (struct maps). * * thread group (pid: 0, tids: 0, 1, 2, 3) * other group (pid: 4, tids: 4, 5)
*/
/* test the maps pointer is shared */
TEST_ASSERT_VAL("maps don't match", maps__equal(maps, thread__maps(t1)));
TEST_ASSERT_VAL("maps don't match", maps__equal(maps, thread__maps(t2)));
TEST_ASSERT_VAL("maps don't match", maps__equal(maps, thread__maps(t3)));
/* * Verify the other leader was created by previous call. * It should have shared maps with no change in * refcnt.
*/
other_leader = machine__find_thread(machine, 4, 4);
TEST_ASSERT_VAL("failed to find other leader", other_leader);
/* * Ok, now that all the rbtree related operations were done, * lets remove all of them from there so that we can do the * refcounting tests.
*/
machine__remove_thread(machine, leader);
machine__remove_thread(machine, t1);
machine__remove_thread(machine, t2);
machine__remove_thread(machine, t3);
machine__remove_thread(machine, other);
machine__remove_thread(machine, other_leader);