From 5e0b8d508ed51004bd836384293be00950ee62c9 Mon Sep 17 00:00:00 2001 From: Pasha Date: Tue, 20 Feb 2024 18:49:50 +0000 Subject: init gnumach copy --- tests/test-mach_port.c | 121 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 tests/test-mach_port.c (limited to 'tests/test-mach_port.c') diff --git a/tests/test-mach_port.c b/tests/test-mach_port.c new file mode 100644 index 0000000..81a1072 --- /dev/null +++ b/tests/test-mach_port.c @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2024 Free Software Foundation + * + * This program is free software ; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation ; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY ; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the program ; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include + +#include +#include + +#include +#include + +void test_mach_port(void) +{ + kern_return_t err; + + mach_port_name_t *namesp; + mach_msg_type_number_t namesCnt=0; + mach_port_type_t *typesp; + mach_msg_type_number_t typesCnt=0; + err = mach_port_names(mach_task_self(), &namesp, &namesCnt, &typesp, &typesCnt); + ASSERT_RET(err, "mach_port_names"); + printf("mach_port_names: type/name length: %d %d\n", namesCnt, typesCnt); + ASSERT((namesCnt != 0) && (namesCnt == typesCnt), + "mach_port_names: wrong type/name length"); + for (int i=0; i