File indexing completed on 2025-05-11 08:24:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifdef HAVE_CONFIG_H
0030 #include "config.h"
0031 #endif
0032
0033 #define CONFIGURE_INIT
0034 #include "system.h"
0035 #include "tmacros.h"
0036
0037 #include <unistd.h>
0038 #include <stdint.h>
0039 #include <errno.h>
0040
0041 const char rtems_test_name[] = "PSXSYSCONF";
0042
0043 void *POSIX_Init(
0044 void *argument
0045 )
0046 {
0047 long sc;
0048
0049 TEST_BEGIN();
0050
0051 puts( "sysconf -- bad configuration parameter - negative" );
0052 sc = sysconf( -1 );
0053 fatal_posix_service_status_errno( sc, EINVAL, "bad conf name" );
0054
0055 #if UNUSED
0056
0057
0058
0059
0060 puts( "sysconf -- bad configuration parameter - too large" );
0061 sc = sysconf( LONG_MAX );
0062 fatal_posix_service_status_errno( sc, EINVAL, "bad conf name" );
0063 #endif
0064
0065 sc = sysconf( _SC_CLK_TCK );
0066 printf( "sysconf - _SC_CLK_TCK=%ld\n", sc );
0067 if ( sc == -1 )
0068 rtems_test_exit(0);
0069
0070 sc = sysconf( _SC_OPEN_MAX );
0071 printf( "sysconf - _SC_OPEN_MAX=%ld\n", sc );
0072 if ( sc == -1 )
0073 rtems_test_exit(0);
0074
0075 sc = sysconf( _SC_GETPW_R_SIZE_MAX );
0076 printf( "sysconf - _SC_GETPW_R_SIZE_MAX=%ld\n", sc );
0077 if ( sc == -1 )
0078 rtems_test_exit(0);
0079
0080 sc = sysconf( _SC_PAGESIZE );
0081 printf( "sysconf - _SC_PAGESIZE=%ld\n", sc );
0082 if ( sc == -1 )
0083 rtems_test_exit(0);
0084
0085 sc = getpagesize();
0086 printf( "getpagesize = %ld\n", sc );
0087 if ( sc == -1 )
0088 rtems_test_exit(0);
0089
0090 sc = sysconf( INT_MAX );
0091 printf( "sysconf - bad parameter = %ld errno=%s\n", sc, strerror(errno) );
0092 if ( (sc != -1) || (errno != EINVAL) )
0093 rtems_test_exit(0);
0094
0095 rtems_test_assert(
0096 sysconf( _SC_NPROCESSORS_CONF )
0097 == (long) rtems_configuration_get_maximum_processors()
0098 );
0099
0100 rtems_test_assert(
0101 sysconf( _SC_NPROCESSORS_ONLN )
0102 == (long) rtems_scheduler_get_processor_maximum()
0103 );
0104
0105 TEST_END();
0106 rtems_test_exit( 0 );
0107
0108 return NULL;
0109 }