|
| 1 | +import libdispatch |
| 2 | +import objc |
| 3 | +from PyObjCTools.TestSupport import TestCase, min_os_level |
| 4 | + |
| 5 | + |
| 6 | +class TestWorkgroupObjectAPI(TestCase): |
| 7 | + @min_os_level("11.0") |
| 8 | + def test_functions(self): |
| 9 | + self.assertResultHasType(libdispatch.os_workgroup_copy_port, objc._C_INT) |
| 10 | + self.assertArgHasType(libdispatch.os_workgroup_copy_port, 0, objc._C_ID) |
| 11 | + self.assertArgHasType( |
| 12 | + libdispatch.os_workgroup_copy_port, |
| 13 | + 1, |
| 14 | + objc._C_OUT + objc._C_PTR + objc._C_UINT, |
| 15 | + ) |
| 16 | + |
| 17 | + self.assertResultHasType(libdispatch.os_workgroup_create_with_port, objc._C_ID) |
| 18 | + self.assertArgHasType( |
| 19 | + libdispatch.os_workgroup_create_with_port, |
| 20 | + 0, |
| 21 | + objc._C_IN + objc._C_PTR + objc._C_CHAR_AS_TEXT, |
| 22 | + ) |
| 23 | + self.assertArgIsNullTerminated(libdispatch.os_workgroup_create_with_port, 0) |
| 24 | + self.assertArgHasType( |
| 25 | + libdispatch.os_workgroup_create_with_port, 1, objc._C_UINT |
| 26 | + ) |
| 27 | + |
| 28 | + self.assertResultHasType( |
| 29 | + libdispatch.os_workgroup_create_with_workgroup, objc._C_ID |
| 30 | + ) |
| 31 | + self.assertArgHasType( |
| 32 | + libdispatch.os_workgroup_create_with_workgroup, |
| 33 | + 0, |
| 34 | + objc._C_IN + objc._C_PTR + objc._C_CHAR_AS_TEXT, |
| 35 | + ) |
| 36 | + self.assertArgIsNullTerminated( |
| 37 | + libdispatch.os_workgroup_create_with_workgroup, 0 |
| 38 | + ) |
| 39 | + self.assertArgHasType( |
| 40 | + libdispatch.os_workgroup_create_with_workgroup, 1, objc._C_ID |
| 41 | + ) |
| 42 | + |
| 43 | + self.assertResultHasType(libdispatch.os_workgroup_join, objc._C_INT) |
| 44 | + self.assertArgHasType(libdispatch.os_workgroup_join, 0, objc._C_ID) |
| 45 | + self.assertArgHasType( |
| 46 | + libdispatch.os_workgroup_join, 1, b"^{os_workgroup_join_token_opaque_s=}" |
| 47 | + ) |
| 48 | + |
| 49 | + self.assertResultHasType(libdispatch.os_workgroup_leave, objc._C_VOID) |
| 50 | + self.assertArgHasType(libdispatch.os_workgroup_leave, 0, objc._C_ID) |
| 51 | + self.assertArgHasType( |
| 52 | + libdispatch.os_workgroup_leave, 1, b"^{os_workgroup_join_token_opaque_s=}" |
| 53 | + ) |
| 54 | + |
| 55 | + self.assertResultHasType( |
| 56 | + libdispatch.os_workgroup_set_working_arena, objc._C_INT |
| 57 | + ) |
| 58 | + self.assertArgHasType(libdispatch.os_workgroup_set_working_arena, 0, objc._C_ID) |
| 59 | + self.assertArgHasType(libdispatch.os_workgroup_set_working_arena, 1, b"n^v") |
| 60 | + self.assertArgIsVariableSize(libdispatch.os_workgroup_set_working_arena, 1) |
| 61 | + self.assertArgHasType( |
| 62 | + libdispatch.os_workgroup_set_working_arena, 2, objc._C_UINT |
| 63 | + ) |
| 64 | + self.assertArgIsBlock(libdispatch.os_workgroup_set_working_arena, 3, b"vn^v") |
| 65 | + |
| 66 | + self.assertResultHasType(libdispatch.os_workgroup_get_working_arena, b"^v") |
| 67 | + self.assertResultIsVariableSize(libdispatch.os_workgroup_get_working_arena) |
| 68 | + self.assertArgHasType(libdispatch.os_workgroup_get_working_arena, 0, objc._C_ID) |
| 69 | + self.assertArgHasType(libdispatch.os_workgroup_get_working_arena, 1, b"o^I") |
| 70 | + |
| 71 | + self.assertResultHasType(libdispatch.os_workgroup_cancel, objc._C_VOID) |
| 72 | + self.assertArgHasType(libdispatch.os_workgroup_cancel, 0, objc._C_ID) |
| 73 | + |
| 74 | + self.assertResultHasType(libdispatch.os_workgroup_testcancel, objc._C_BOOL) |
| 75 | + self.assertArgHasType(libdispatch.os_workgroup_testcancel, 0, objc._C_ID) |
| 76 | + |
| 77 | + self.assertResultHasType( |
| 78 | + libdispatch.os_workgroup_max_parallel_threads, objc._C_INT |
| 79 | + ) |
| 80 | + self.assertArgHasType( |
| 81 | + libdispatch.os_workgroup_max_parallel_threads, 0, objc._C_ID |
| 82 | + ) |
| 83 | + self.assertArgHasType( |
| 84 | + libdispatch.os_workgroup_max_parallel_threads, |
| 85 | + 1, |
| 86 | + b"^{os_workgroup_mpt_attr_s=}", |
| 87 | + ) |
0 commit comments