Home | History | Annotate | Download | only in speculative
      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