1 /* 2 * This program is free software; you can redistribute it and/or modify 3 * it under the terms of the GNU General Public License version 2. 4 * 5 * This program is distributed in the hope that it will be useful, 6 * but WITHOUT ANY WARRANTY; without even the implied warranty of 7 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 8 * GNU General Public License for more details. 9 * 10 * 11 * Test if sched_getparam() sets errno == EFAULT or EINVAL if param points to 12 * NULL. 13 * 14 * This behavior is not specified in the specs, so this test is speculative. 15 */ 16 17 #include <stdio.h> 18 #include <sched.h> 19 #include <errno.h> 20 #include "posixtest.h" 21 22 int main(void) 23 { 24 int result = -1; 25 26 result = sched_getparam(0, NULL); 27 28 if (result == -1 && errno == EFAULT) { 29 printf("sched_getparam() sets errno == EFAULT " 30 "when param argument points to NULL\n"); 31 return PTS_PASS; 32 } 33 if (result == -1 && errno == EINVAL) { 34 printf("sched_getparam() sets errno == EINVAL " 35 "when param argument points to NULL\n"); 36 return PTS_PASS; 37 } 38 39 printf("sched_getparam() return %i and sets errno == %i.\n", 40 result, errno); 41 return PTS_UNRESOLVED; 42 } 43