xref: /xnu-11215.61.5/tests/ipc/port_api.c (revision 4f1223e81cd707a65cc109d0b8ad6653699da3c4)
1*4f1223e8SApple OSS Distributions #include <darwintest.h>
2*4f1223e8SApple OSS Distributions #include <darwintest_utils.h>
3*4f1223e8SApple OSS Distributions 
4*4f1223e8SApple OSS Distributions #include <mach/mach.h>
5*4f1223e8SApple OSS Distributions #include <mach/mach_types.h>
6*4f1223e8SApple OSS Distributions #include <mach/mach_vm.h>
7*4f1223e8SApple OSS Distributions #include <mach/message.h>
8*4f1223e8SApple OSS Distributions #include <mach/mach_error.h>
9*4f1223e8SApple OSS Distributions #include <mach/task.h>
10*4f1223e8SApple OSS Distributions 
11*4f1223e8SApple OSS Distributions #include <pthread.h>
12*4f1223e8SApple OSS Distributions #include <pthread/workqueue_private.h>
13*4f1223e8SApple OSS Distributions 
14*4f1223e8SApple OSS Distributions T_GLOBAL_META(
15*4f1223e8SApple OSS Distributions 	T_META_NAMESPACE("xnu.ipc"),
16*4f1223e8SApple OSS Distributions 	T_META_RUN_CONCURRENTLY(TRUE),
17*4f1223e8SApple OSS Distributions 	T_META_RADAR_COMPONENT_NAME("xnu"),
18*4f1223e8SApple OSS Distributions 	T_META_RADAR_COMPONENT_VERSION("IPC"));
19*4f1223e8SApple OSS Distributions 
20*4f1223e8SApple OSS Distributions T_DECL(mach_port_insert_right_123724977, "regression test for 123724977")
21*4f1223e8SApple OSS Distributions {
22*4f1223e8SApple OSS Distributions 	mach_port_name_t pset;
23*4f1223e8SApple OSS Distributions 	kern_return_t kr;
24*4f1223e8SApple OSS Distributions 
25*4f1223e8SApple OSS Distributions 	kr = mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_PORT_SET, &pset);
26*4f1223e8SApple OSS Distributions 	T_ASSERT_MACH_SUCCESS(kr, "creating port set");
27*4f1223e8SApple OSS Distributions 
28*4f1223e8SApple OSS Distributions 	kr = mach_port_insert_right(mach_task_self(), pset, pset,
29*4f1223e8SApple OSS Distributions 	    MACH_MSG_TYPE_MAKE_SEND);
30*4f1223e8SApple OSS Distributions 	T_ASSERT_MACH_ERROR(kr, KERN_INVALID_RIGHT, "insert right fails");
31*4f1223e8SApple OSS Distributions }
32