diff options
author | Davide Cavalca <dcavalca@fb.com> | 2016-10-29 16:18:59 -0700 |
---|---|---|
committer | Davide Cavalca <dcavalca@fb.com> | 2016-11-30 15:06:41 -0800 |
commit | db6360e271a7d70205795ee96b18cbf368fe8640 (patch) | |
tree | 10e80975a9b09a8be33ac7f47ebf28b238d3c6d6 | |
parent | 5f43d30a38cee0a87c479988283a6bd934c07d01 (diff) | |
download | ohai-db6360e271a7d70205795ee96b18cbf368fe8640.tar.gz |
Add sysconf plugin to expose system configuration variables
Signed-off-by: Davide Cavalca <dcavalca@fb.com>
-rw-r--r-- | lib/ohai/plugins/sysconf.rb | 45 | ||||
-rw-r--r-- | spec/unit/plugins/sysconf_spec.rb | 679 |
2 files changed, 724 insertions, 0 deletions
diff --git a/lib/ohai/plugins/sysconf.rb b/lib/ohai/plugins/sysconf.rb new file mode 100644 index 00000000..c2deee96 --- /dev/null +++ b/lib/ohai/plugins/sysconf.rb @@ -0,0 +1,45 @@ +# +# Author:: Davide Cavalca <dcavalca@fb.com> +# Copyright:: Copyright (c) 2016 Facebook +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +Ohai.plugin(:Sysconf) do + provides "sysconf" + + collect_data(:aix, :linux, :solaris2) do + getconf_path = which("getconf") + if getconf_path + getconf = shell_out("#{getconf_path} -a") + + if getconf.exitstatus == 0 + sysconf Mash.new unless sysconf + + getconf.stdout.split("\n").each do |line| + key, val = /^(\S+)\s*(.*)?$/.match(line).captures + if val && !val.empty? + begin + sysconf[key] = Integer(val) + rescue + sysconf[key] = val + end + else + sysconf[key] = nil + end + end + end + end + end +end diff --git a/spec/unit/plugins/sysconf_spec.rb b/spec/unit/plugins/sysconf_spec.rb new file mode 100644 index 00000000..e2f6f361 --- /dev/null +++ b/spec/unit/plugins/sysconf_spec.rb @@ -0,0 +1,679 @@ +# +# Author:: Davide Cavalca <dcavalca@fb.com> +# Copyright:: Copyright (c) 2016 Facebook +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper.rb") + +describe Ohai::System, "sysconf plugin", :unix_only do + let(:plugin) { get_plugin("sysconf") } + + it "should populate sysconf if getconf is found" do + getconf_out = <<-GETCONF_OUT +LINK_MAX 65000 +_POSIX_LINK_MAX 65000 +MAX_CANON 255 +_POSIX_MAX_CANON 255 +MAX_INPUT 255 +_POSIX_MAX_INPUT 255 +NAME_MAX 255 +_POSIX_NAME_MAX 255 +PATH_MAX 4096 +_POSIX_PATH_MAX 4096 +PIPE_BUF 4096 +_POSIX_PIPE_BUF 4096 +SOCK_MAXBUF +_POSIX_ASYNC_IO +_POSIX_CHOWN_RESTRICTED 1 +_POSIX_NO_TRUNC 1 +_POSIX_PRIO_IO +_POSIX_SYNC_IO +_POSIX_VDISABLE 0 +ARG_MAX 2097152 +ATEXIT_MAX 2147483647 +CHAR_BIT 8 +CHAR_MAX 127 +CHAR_MIN -128 +CHILD_MAX 63672 +CLK_TCK 100 +INT_MAX 2147483647 +INT_MIN -2147483648 +IOV_MAX 1024 +LOGNAME_MAX 256 +LONG_BIT 64 +MB_LEN_MAX 16 +NGROUPS_MAX 65536 +NL_ARGMAX 4096 +NL_LANGMAX 2048 +NL_MSGMAX 2147483647 +NL_NMAX 2147483647 +NL_SETMAX 2147483647 +NL_TEXTMAX 2147483647 +NSS_BUFLEN_GROUP 1024 +NSS_BUFLEN_PASSWD 1024 +NZERO 20 +OPEN_MAX 1024 +PAGESIZE 4096 +PAGE_SIZE 4096 +PASS_MAX 8192 +PTHREAD_DESTRUCTOR_ITERATIONS 4 +PTHREAD_KEYS_MAX 1024 +PTHREAD_STACK_MIN 16384 +PTHREAD_THREADS_MAX +SCHAR_MAX 127 +SCHAR_MIN -128 +SHRT_MAX 32767 +SHRT_MIN -32768 +SSIZE_MAX 32767 +TTY_NAME_MAX 32 +TZNAME_MAX 6 +UCHAR_MAX 255 +UINT_MAX 4294967295 +UIO_MAXIOV 1024 +ULONG_MAX 18446744073709551615 +USHRT_MAX 65535 +WORD_BIT 32 +_AVPHYS_PAGES 2101393 +_NPROCESSORS_CONF 8 +_NPROCESSORS_ONLN 8 +_PHYS_PAGES 4096040 +_POSIX_ARG_MAX 2097152 +_POSIX_ASYNCHRONOUS_IO 200809 +_POSIX_CHILD_MAX 63672 +_POSIX_FSYNC 200809 +_POSIX_JOB_CONTROL 1 +_POSIX_MAPPED_FILES 200809 +_POSIX_MEMLOCK 200809 +_POSIX_MEMLOCK_RANGE 200809 +_POSIX_MEMORY_PROTECTION 200809 +_POSIX_MESSAGE_PASSING 200809 +_POSIX_NGROUPS_MAX 65536 +_POSIX_OPEN_MAX 1024 +_POSIX_PII +_POSIX_PII_INTERNET +_POSIX_PII_INTERNET_DGRAM +_POSIX_PII_INTERNET_STREAM +_POSIX_PII_OSI +_POSIX_PII_OSI_CLTS +_POSIX_PII_OSI_COTS +_POSIX_PII_OSI_M +_POSIX_PII_SOCKET +_POSIX_PII_XTI +_POSIX_POLL +_POSIX_PRIORITIZED_IO 200809 +_POSIX_PRIORITY_SCHEDULING 200809 +_POSIX_REALTIME_SIGNALS 200809 +_POSIX_SAVED_IDS 1 +_POSIX_SELECT +_POSIX_SEMAPHORES 200809 +_POSIX_SHARED_MEMORY_OBJECTS 200809 +_POSIX_SSIZE_MAX 32767 +_POSIX_STREAM_MAX 16 +_POSIX_SYNCHRONIZED_IO 200809 +_POSIX_THREADS 200809 +_POSIX_THREAD_ATTR_STACKADDR 200809 +_POSIX_THREAD_ATTR_STACKSIZE 200809 +_POSIX_THREAD_PRIORITY_SCHEDULING 200809 +_POSIX_THREAD_PRIO_INHERIT 200809 +_POSIX_THREAD_PRIO_PROTECT 200809 +_POSIX_THREAD_ROBUST_PRIO_INHERIT +_POSIX_THREAD_ROBUST_PRIO_PROTECT +_POSIX_THREAD_PROCESS_SHARED 200809 +_POSIX_THREAD_SAFE_FUNCTIONS 200809 +_POSIX_TIMERS 200809 +TIMER_MAX +_POSIX_TZNAME_MAX 6 +_POSIX_VERSION 200809 +_T_IOV_MAX +_XOPEN_CRYPT 1 +_XOPEN_ENH_I18N 1 +_XOPEN_LEGACY 1 +_XOPEN_REALTIME 1 +_XOPEN_REALTIME_THREADS 1 +_XOPEN_SHM 1 +_XOPEN_UNIX 1 +_XOPEN_VERSION 700 +_XOPEN_XCU_VERSION 4 +_XOPEN_XPG2 1 +_XOPEN_XPG3 1 +_XOPEN_XPG4 1 +BC_BASE_MAX 99 +BC_DIM_MAX 2048 +BC_SCALE_MAX 99 +BC_STRING_MAX 1000 +CHARCLASS_NAME_MAX 2048 +COLL_WEIGHTS_MAX 255 +EQUIV_CLASS_MAX +EXPR_NEST_MAX 32 +LINE_MAX 2048 +POSIX2_BC_BASE_MAX 99 +POSIX2_BC_DIM_MAX 2048 +POSIX2_BC_SCALE_MAX 99 +POSIX2_BC_STRING_MAX 1000 +POSIX2_CHAR_TERM 200809 +POSIX2_COLL_WEIGHTS_MAX 255 +POSIX2_C_BIND 200809 +POSIX2_C_DEV 200809 +POSIX2_C_VERSION 200809 +POSIX2_EXPR_NEST_MAX 32 +POSIX2_FORT_DEV +POSIX2_FORT_RUN +_POSIX2_LINE_MAX 2048 +POSIX2_LINE_MAX 2048 +POSIX2_LOCALEDEF 200809 +POSIX2_RE_DUP_MAX 32767 +POSIX2_SW_DEV 200809 +POSIX2_UPE +POSIX2_VERSION 200809 +RE_DUP_MAX 32767 +PATH /bin:/usr/bin +CS_PATH /bin:/usr/bin +LFS_CFLAGS +LFS_LDFLAGS +LFS_LIBS +LFS_LINTFLAGS +LFS64_CFLAGS -D_LARGEFILE64_SOURCE +LFS64_LDFLAGS +LFS64_LIBS +LFS64_LINTFLAGS -D_LARGEFILE64_SOURCE +_XBS5_WIDTH_RESTRICTED_ENVS XBS5_LP64_OFF64 +XBS5_WIDTH_RESTRICTED_ENVS XBS5_LP64_OFF64 +_XBS5_ILP32_OFF32 +XBS5_ILP32_OFF32_CFLAGS +XBS5_ILP32_OFF32_LDFLAGS +XBS5_ILP32_OFF32_LIBS +XBS5_ILP32_OFF32_LINTFLAGS +_XBS5_ILP32_OFFBIG +XBS5_ILP32_OFFBIG_CFLAGS +XBS5_ILP32_OFFBIG_LDFLAGS +XBS5_ILP32_OFFBIG_LIBS +XBS5_ILP32_OFFBIG_LINTFLAGS +_XBS5_LP64_OFF64 1 +XBS5_LP64_OFF64_CFLAGS -m64 +XBS5_LP64_OFF64_LDFLAGS -m64 +XBS5_LP64_OFF64_LIBS +XBS5_LP64_OFF64_LINTFLAGS +_XBS5_LPBIG_OFFBIG +XBS5_LPBIG_OFFBIG_CFLAGS +XBS5_LPBIG_OFFBIG_LDFLAGS +XBS5_LPBIG_OFFBIG_LIBS +XBS5_LPBIG_OFFBIG_LINTFLAGS +_POSIX_V6_ILP32_OFF32 +POSIX_V6_ILP32_OFF32_CFLAGS +POSIX_V6_ILP32_OFF32_LDFLAGS +POSIX_V6_ILP32_OFF32_LIBS +POSIX_V6_ILP32_OFF32_LINTFLAGS +_POSIX_V6_WIDTH_RESTRICTED_ENVS POSIX_V6_LP64_OFF64 +POSIX_V6_WIDTH_RESTRICTED_ENVS POSIX_V6_LP64_OFF64 +_POSIX_V6_ILP32_OFFBIG +POSIX_V6_ILP32_OFFBIG_CFLAGS +POSIX_V6_ILP32_OFFBIG_LDFLAGS +POSIX_V6_ILP32_OFFBIG_LIBS +POSIX_V6_ILP32_OFFBIG_LINTFLAGS +_POSIX_V6_LP64_OFF64 1 +POSIX_V6_LP64_OFF64_CFLAGS -m64 +POSIX_V6_LP64_OFF64_LDFLAGS -m64 +POSIX_V6_LP64_OFF64_LIBS +POSIX_V6_LP64_OFF64_LINTFLAGS +_POSIX_V6_LPBIG_OFFBIG +POSIX_V6_LPBIG_OFFBIG_CFLAGS +POSIX_V6_LPBIG_OFFBIG_LDFLAGS +POSIX_V6_LPBIG_OFFBIG_LIBS +POSIX_V6_LPBIG_OFFBIG_LINTFLAGS +_POSIX_V7_ILP32_OFF32 +POSIX_V7_ILP32_OFF32_CFLAGS +POSIX_V7_ILP32_OFF32_LDFLAGS +POSIX_V7_ILP32_OFF32_LIBS +POSIX_V7_ILP32_OFF32_LINTFLAGS +_POSIX_V7_WIDTH_RESTRICTED_ENVS POSIX_V7_LP64_OFF64 +POSIX_V7_WIDTH_RESTRICTED_ENVS POSIX_V7_LP64_OFF64 +_POSIX_V7_ILP32_OFFBIG +POSIX_V7_ILP32_OFFBIG_CFLAGS +POSIX_V7_ILP32_OFFBIG_LDFLAGS +POSIX_V7_ILP32_OFFBIG_LIBS +POSIX_V7_ILP32_OFFBIG_LINTFLAGS +_POSIX_V7_LP64_OFF64 1 +POSIX_V7_LP64_OFF64_CFLAGS -m64 +POSIX_V7_LP64_OFF64_LDFLAGS -m64 +POSIX_V7_LP64_OFF64_LIBS +POSIX_V7_LP64_OFF64_LINTFLAGS +_POSIX_V7_LPBIG_OFFBIG +POSIX_V7_LPBIG_OFFBIG_CFLAGS +POSIX_V7_LPBIG_OFFBIG_LDFLAGS +POSIX_V7_LPBIG_OFFBIG_LIBS +POSIX_V7_LPBIG_OFFBIG_LINTFLAGS +_POSIX_ADVISORY_INFO 200809 +_POSIX_BARRIERS 200809 +_POSIX_BASE +_POSIX_C_LANG_SUPPORT +_POSIX_C_LANG_SUPPORT_R +_POSIX_CLOCK_SELECTION 200809 +_POSIX_CPUTIME 200809 +_POSIX_THREAD_CPUTIME 200809 +_POSIX_DEVICE_SPECIFIC +_POSIX_DEVICE_SPECIFIC_R +_POSIX_FD_MGMT +_POSIX_FIFO +_POSIX_PIPE +_POSIX_FILE_ATTRIBUTES +_POSIX_FILE_LOCKING +_POSIX_FILE_SYSTEM +_POSIX_MONOTONIC_CLOCK 200809 +_POSIX_MULTI_PROCESS +_POSIX_SINGLE_PROCESS +_POSIX_NETWORKING +_POSIX_READER_WRITER_LOCKS 200809 +_POSIX_SPIN_LOCKS 200809 +_POSIX_REGEXP 1 +_REGEX_VERSION +_POSIX_SHELL 1 +_POSIX_SIGNALS +_POSIX_SPAWN 200809 +_POSIX_SPORADIC_SERVER +_POSIX_THREAD_SPORADIC_SERVER +_POSIX_SYSTEM_DATABASE +_POSIX_SYSTEM_DATABASE_R +_POSIX_TIMEOUTS 200809 +_POSIX_TYPED_MEMORY_OBJECTS +_POSIX_USER_GROUPS +_POSIX_USER_GROUPS_R +POSIX2_PBS +POSIX2_PBS_ACCOUNTING +POSIX2_PBS_LOCATE +POSIX2_PBS_TRACK +POSIX2_PBS_MESSAGE +SYMLOOP_MAX +STREAM_MAX 16 +AIO_LISTIO_MAX +AIO_MAX +AIO_PRIO_DELTA_MAX 20 +DELAYTIMER_MAX 2147483647 +HOST_NAME_MAX 64 +LOGIN_NAME_MAX 256 +MQ_OPEN_MAX +MQ_PRIO_MAX 32768 +_POSIX_DEVICE_IO +_POSIX_TRACE +_POSIX_TRACE_EVENT_FILTER +_POSIX_TRACE_INHERIT +_POSIX_TRACE_LOG +RTSIG_MAX 32 +SEM_NSEMS_MAX +SEM_VALUE_MAX 2147483647 +SIGQUEUE_MAX 63672 +FILESIZEBITS 64 +POSIX_ALLOC_SIZE_MIN 4096 +POSIX_REC_INCR_XFER_SIZE +POSIX_REC_MAX_XFER_SIZE +POSIX_REC_MIN_XFER_SIZE 4096 +POSIX_REC_XFER_ALIGN 4096 +SYMLINK_MAX +GNU_LIBC_VERSION glibc 2.24 +GNU_LIBPTHREAD_VERSION NPTL 2.24 +POSIX2_SYMLINKS 1 +LEVEL1_ICACHE_SIZE 32768 +LEVEL1_ICACHE_ASSOC 8 +LEVEL1_ICACHE_LINESIZE 64 +LEVEL1_DCACHE_SIZE 32768 +LEVEL1_DCACHE_ASSOC 8 +LEVEL1_DCACHE_LINESIZE 64 +LEVEL2_CACHE_SIZE 262144 +LEVEL2_CACHE_ASSOC 4 +LEVEL2_CACHE_LINESIZE 64 +LEVEL3_CACHE_SIZE 8388608 +LEVEL3_CACHE_ASSOC 16 +LEVEL3_CACHE_LINESIZE 64 +LEVEL4_CACHE_SIZE 0 +LEVEL4_CACHE_ASSOC 0 +LEVEL4_CACHE_LINESIZE 0 +IPV6 200809 +RAW_SOCKETS 200809 +_POSIX_IPV6 200809 +_POSIX_RAW_SOCKETS 200809 +GETCONF_OUT + allow(plugin).to receive(:which).with("getconf").and_return("/usr/bin/getconf") + allow(plugin).to receive(:shell_out).with("/usr/bin/getconf -a").and_return(mock_shell_out(0, getconf_out, "")) + plugin.run + expect(plugin[:sysconf].to_hash).to eq({ + "LINK_MAX" => 65000, + "_POSIX_LINK_MAX" => 65000, + "MAX_CANON" => 255, + "_POSIX_MAX_CANON" => 255, + "MAX_INPUT" => 255, + "_POSIX_MAX_INPUT" => 255, + "NAME_MAX" => 255, + "_POSIX_NAME_MAX" => 255, + "PATH_MAX" => 4096, + "_POSIX_PATH_MAX" => 4096, + "PIPE_BUF" => 4096, + "_POSIX_PIPE_BUF" => 4096, + "SOCK_MAXBUF" => nil, + "_POSIX_ASYNC_IO" => nil, + "_POSIX_CHOWN_RESTRICTED" => 1, + "_POSIX_NO_TRUNC" => 1, + "_POSIX_PRIO_IO" => nil, + "_POSIX_SYNC_IO" => nil, + "_POSIX_VDISABLE" => 0, + "ARG_MAX" => 2097152, + "ATEXIT_MAX" => 2147483647, + "CHAR_BIT" => 8, + "CHAR_MAX" => 127, + "CHAR_MIN" => -128, + "CHILD_MAX" => 63672, + "CLK_TCK" => 100, + "INT_MAX" => 2147483647, + "INT_MIN" => -2147483648, + "IOV_MAX" => 1024, + "LOGNAME_MAX" => 256, + "LONG_BIT" => 64, + "MB_LEN_MAX" => 16, + "NGROUPS_MAX" => 65536, + "NL_ARGMAX" => 4096, + "NL_LANGMAX" => 2048, + "NL_MSGMAX" => 2147483647, + "NL_NMAX" => 2147483647, + "NL_SETMAX" => 2147483647, + "NL_TEXTMAX" => 2147483647, + "NSS_BUFLEN_GROUP" => 1024, + "NSS_BUFLEN_PASSWD" => 1024, + "NZERO" => 20, + "OPEN_MAX" => 1024, + "PAGESIZE" => 4096, + "PAGE_SIZE" => 4096, + "PASS_MAX" => 8192, + "PTHREAD_DESTRUCTOR_ITERATIONS" => 4, + "PTHREAD_KEYS_MAX" => 1024, + "PTHREAD_STACK_MIN" => 16384, + "PTHREAD_THREADS_MAX" => nil, + "SCHAR_MAX" => 127, + "SCHAR_MIN" => -128, + "SHRT_MAX" => 32767, + "SHRT_MIN" => -32768, + "SSIZE_MAX" => 32767, + "TTY_NAME_MAX" => 32, + "TZNAME_MAX" => 6, + "UCHAR_MAX" => 255, + "UINT_MAX" => 4294967295, + "UIO_MAXIOV" => 1024, + "ULONG_MAX" => 18446744073709551615, + "USHRT_MAX" => 65535, + "WORD_BIT" => 32, + "_AVPHYS_PAGES" => 2101393, + "_NPROCESSORS_CONF" => 8, + "_NPROCESSORS_ONLN" => 8, + "_PHYS_PAGES" => 4096040, + "_POSIX_ARG_MAX" => 2097152, + "_POSIX_ASYNCHRONOUS_IO" => 200809, + "_POSIX_CHILD_MAX" => 63672, + "_POSIX_FSYNC" => 200809, + "_POSIX_JOB_CONTROL" => 1, + "_POSIX_MAPPED_FILES" => 200809, + "_POSIX_MEMLOCK" => 200809, + "_POSIX_MEMLOCK_RANGE" => 200809, + "_POSIX_MEMORY_PROTECTION" => 200809, + "_POSIX_MESSAGE_PASSING" => 200809, + "_POSIX_NGROUPS_MAX" => 65536, + "_POSIX_OPEN_MAX" => 1024, + "_POSIX_PII" => nil, + "_POSIX_PII_INTERNET" => nil, + "_POSIX_PII_INTERNET_DGRAM" => nil, + "_POSIX_PII_INTERNET_STREAM" => nil, + "_POSIX_PII_OSI" => nil, + "_POSIX_PII_OSI_CLTS" => nil, + "_POSIX_PII_OSI_COTS" => nil, + "_POSIX_PII_OSI_M" => nil, + "_POSIX_PII_SOCKET" => nil, + "_POSIX_PII_XTI" => nil, + "_POSIX_POLL" => nil, + "_POSIX_PRIORITIZED_IO" => 200809, + "_POSIX_PRIORITY_SCHEDULING" => 200809, + "_POSIX_REALTIME_SIGNALS" => 200809, + "_POSIX_SAVED_IDS" => 1, + "_POSIX_SELECT" => nil, + "_POSIX_SEMAPHORES" => 200809, + "_POSIX_SHARED_MEMORY_OBJECTS" => 200809, + "_POSIX_SSIZE_MAX" => 32767, + "_POSIX_STREAM_MAX" => 16, + "_POSIX_SYNCHRONIZED_IO" => 200809, + "_POSIX_THREADS" => 200809, + "_POSIX_THREAD_ATTR_STACKADDR" => 200809, + "_POSIX_THREAD_ATTR_STACKSIZE" => 200809, + "_POSIX_THREAD_PRIORITY_SCHEDULING" => 200809, + "_POSIX_THREAD_PRIO_INHERIT" => 200809, + "_POSIX_THREAD_PRIO_PROTECT" => 200809, + "_POSIX_THREAD_ROBUST_PRIO_INHERIT" => nil, + "_POSIX_THREAD_ROBUST_PRIO_PROTECT" => nil, + "_POSIX_THREAD_PROCESS_SHARED" => 200809, + "_POSIX_THREAD_SAFE_FUNCTIONS" => 200809, + "_POSIX_TIMERS" => 200809, + "TIMER_MAX" => nil, + "_POSIX_TZNAME_MAX" => 6, + "_POSIX_VERSION" => 200809, + "_T_IOV_MAX" => nil, + "_XOPEN_CRYPT" => 1, + "_XOPEN_ENH_I18N" => 1, + "_XOPEN_LEGACY" => 1, + "_XOPEN_REALTIME" => 1, + "_XOPEN_REALTIME_THREADS" => 1, + "_XOPEN_SHM" => 1, + "_XOPEN_UNIX" => 1, + "_XOPEN_VERSION" => 700, + "_XOPEN_XCU_VERSION" => 4, + "_XOPEN_XPG2" => 1, + "_XOPEN_XPG3" => 1, + "_XOPEN_XPG4" => 1, + "BC_BASE_MAX" => 99, + "BC_DIM_MAX" => 2048, + "BC_SCALE_MAX" => 99, + "BC_STRING_MAX" => 1000, + "CHARCLASS_NAME_MAX" => 2048, + "COLL_WEIGHTS_MAX" => 255, + "EQUIV_CLASS_MAX" => nil, + "EXPR_NEST_MAX" => 32, + "LINE_MAX" => 2048, + "POSIX2_BC_BASE_MAX" => 99, + "POSIX2_BC_DIM_MAX" => 2048, + "POSIX2_BC_SCALE_MAX" => 99, + "POSIX2_BC_STRING_MAX" => 1000, + "POSIX2_CHAR_TERM" => 200809, + "POSIX2_COLL_WEIGHTS_MAX" => 255, + "POSIX2_C_BIND" => 200809, + "POSIX2_C_DEV" => 200809, + "POSIX2_C_VERSION" => 200809, + "POSIX2_EXPR_NEST_MAX" => 32, + "POSIX2_FORT_DEV" => nil, + "POSIX2_FORT_RUN" => nil, + "_POSIX2_LINE_MAX" => 2048, + "POSIX2_LINE_MAX" => 2048, + "POSIX2_LOCALEDEF" => 200809, + "POSIX2_RE_DUP_MAX" => 32767, + "POSIX2_SW_DEV" => 200809, + "POSIX2_UPE" => nil, + "POSIX2_VERSION" => 200809, + "RE_DUP_MAX" => 32767, + "PATH" => "/bin:/usr/bin", + "CS_PATH" => "/bin:/usr/bin", + "LFS_CFLAGS" => nil, + "LFS_LDFLAGS" => nil, + "LFS_LIBS" => nil, + "LFS_LINTFLAGS" => nil, + "LFS64_CFLAGS" => "-D_LARGEFILE64_SOURCE", + "LFS64_LDFLAGS" => nil, + "LFS64_LIBS" => nil, + "LFS64_LINTFLAGS" => "-D_LARGEFILE64_SOURCE", + "_XBS5_WIDTH_RESTRICTED_ENVS" => "XBS5_LP64_OFF64", + "XBS5_WIDTH_RESTRICTED_ENVS" => "XBS5_LP64_OFF64", + "_XBS5_ILP32_OFF32" => nil, + "XBS5_ILP32_OFF32_CFLAGS" => nil, + "XBS5_ILP32_OFF32_LDFLAGS" => nil, + "XBS5_ILP32_OFF32_LIBS" => nil, + "XBS5_ILP32_OFF32_LINTFLAGS" => nil, + "_XBS5_ILP32_OFFBIG" => nil, + "XBS5_ILP32_OFFBIG_CFLAGS" => nil, + "XBS5_ILP32_OFFBIG_LDFLAGS" => nil, + "XBS5_ILP32_OFFBIG_LIBS" => nil, + "XBS5_ILP32_OFFBIG_LINTFLAGS" => nil, + "_XBS5_LP64_OFF64" => 1, + "XBS5_LP64_OFF64_CFLAGS" => "-m64", + "XBS5_LP64_OFF64_LDFLAGS" => "-m64", + "XBS5_LP64_OFF64_LIBS" => nil, + "XBS5_LP64_OFF64_LINTFLAGS" => nil, + "_XBS5_LPBIG_OFFBIG" => nil, + "XBS5_LPBIG_OFFBIG_CFLAGS" => nil, + "XBS5_LPBIG_OFFBIG_LDFLAGS" => nil, + "XBS5_LPBIG_OFFBIG_LIBS" => nil, + "XBS5_LPBIG_OFFBIG_LINTFLAGS" => nil, + "_POSIX_V6_ILP32_OFF32" => nil, + "POSIX_V6_ILP32_OFF32_CFLAGS" => nil, + "POSIX_V6_ILP32_OFF32_LDFLAGS" => nil, + "POSIX_V6_ILP32_OFF32_LIBS" => nil, + "POSIX_V6_ILP32_OFF32_LINTFLAGS" => nil, + "_POSIX_V6_WIDTH_RESTRICTED_ENVS" => "POSIX_V6_LP64_OFF64", + "POSIX_V6_WIDTH_RESTRICTED_ENVS" => "POSIX_V6_LP64_OFF64", + "_POSIX_V6_ILP32_OFFBIG" => nil, + "POSIX_V6_ILP32_OFFBIG_CFLAGS" => nil, + "POSIX_V6_ILP32_OFFBIG_LDFLAGS" => nil, + "POSIX_V6_ILP32_OFFBIG_LIBS" => nil, + "POSIX_V6_ILP32_OFFBIG_LINTFLAGS" => nil, + "_POSIX_V6_LP64_OFF64" => 1, + "POSIX_V6_LP64_OFF64_CFLAGS" => "-m64", + "POSIX_V6_LP64_OFF64_LDFLAGS" => "-m64", + "POSIX_V6_LP64_OFF64_LIBS" => nil, + "POSIX_V6_LP64_OFF64_LINTFLAGS" => nil, + "_POSIX_V6_LPBIG_OFFBIG" => nil, + "POSIX_V6_LPBIG_OFFBIG_CFLAGS" => nil, + "POSIX_V6_LPBIG_OFFBIG_LDFLAGS" => nil, + "POSIX_V6_LPBIG_OFFBIG_LIBS" => nil, + "POSIX_V6_LPBIG_OFFBIG_LINTFLAGS" => nil, + "_POSIX_V7_ILP32_OFF32" => nil, + "POSIX_V7_ILP32_OFF32_CFLAGS" => nil, + "POSIX_V7_ILP32_OFF32_LDFLAGS" => nil, + "POSIX_V7_ILP32_OFF32_LIBS" => nil, + "POSIX_V7_ILP32_OFF32_LINTFLAGS" => nil, + "_POSIX_V7_WIDTH_RESTRICTED_ENVS" => "POSIX_V7_LP64_OFF64", + "POSIX_V7_WIDTH_RESTRICTED_ENVS" => "POSIX_V7_LP64_OFF64", + "_POSIX_V7_ILP32_OFFBIG" => nil, + "POSIX_V7_ILP32_OFFBIG_CFLAGS" => nil, + "POSIX_V7_ILP32_OFFBIG_LDFLAGS" => nil, + "POSIX_V7_ILP32_OFFBIG_LIBS" => nil, + "POSIX_V7_ILP32_OFFBIG_LINTFLAGS" => nil, + "_POSIX_V7_LP64_OFF64" => 1, + "POSIX_V7_LP64_OFF64_CFLAGS" => "-m64", + "POSIX_V7_LP64_OFF64_LDFLAGS" => "-m64", + "POSIX_V7_LP64_OFF64_LIBS" => nil, + "POSIX_V7_LP64_OFF64_LINTFLAGS" => nil, + "_POSIX_V7_LPBIG_OFFBIG" => nil, + "POSIX_V7_LPBIG_OFFBIG_CFLAGS" => nil, + "POSIX_V7_LPBIG_OFFBIG_LDFLAGS" => nil, + "POSIX_V7_LPBIG_OFFBIG_LIBS" => nil, + "POSIX_V7_LPBIG_OFFBIG_LINTFLAGS" => nil, + "_POSIX_ADVISORY_INFO" => 200809, + "_POSIX_BARRIERS" => 200809, + "_POSIX_BASE" => nil, + "_POSIX_C_LANG_SUPPORT" => nil, + "_POSIX_C_LANG_SUPPORT_R" => nil, + "_POSIX_CLOCK_SELECTION" => 200809, + "_POSIX_CPUTIME" => 200809, + "_POSIX_THREAD_CPUTIME" => 200809, + "_POSIX_DEVICE_SPECIFIC" => nil, + "_POSIX_DEVICE_SPECIFIC_R" => nil, + "_POSIX_FD_MGMT" => nil, + "_POSIX_FIFO" => nil, + "_POSIX_PIPE" => nil, + "_POSIX_FILE_ATTRIBUTES" => nil, + "_POSIX_FILE_LOCKING" => nil, + "_POSIX_FILE_SYSTEM" => nil, + "_POSIX_MONOTONIC_CLOCK" => 200809, + "_POSIX_MULTI_PROCESS" => nil, + "_POSIX_SINGLE_PROCESS" => nil, + "_POSIX_NETWORKING" => nil, + "_POSIX_READER_WRITER_LOCKS" => 200809, + "_POSIX_SPIN_LOCKS" => 200809, + "_POSIX_REGEXP" => 1, + "_REGEX_VERSION" => nil, + "_POSIX_SHELL" => 1, + "_POSIX_SIGNALS" => nil, + "_POSIX_SPAWN" => 200809, + "_POSIX_SPORADIC_SERVER" => nil, + "_POSIX_THREAD_SPORADIC_SERVER" => nil, + "_POSIX_SYSTEM_DATABASE" => nil, + "_POSIX_SYSTEM_DATABASE_R" => nil, + "_POSIX_TIMEOUTS" => 200809, + "_POSIX_TYPED_MEMORY_OBJECTS" => nil, + "_POSIX_USER_GROUPS" => nil, + "_POSIX_USER_GROUPS_R" => nil, + "POSIX2_PBS" => nil, + "POSIX2_PBS_ACCOUNTING" => nil, + "POSIX2_PBS_LOCATE" => nil, + "POSIX2_PBS_TRACK" => nil, + "POSIX2_PBS_MESSAGE" => nil, + "SYMLOOP_MAX" => nil, + "STREAM_MAX" => 16, + "AIO_LISTIO_MAX" => nil, + "AIO_MAX" => nil, + "AIO_PRIO_DELTA_MAX" => 20, + "DELAYTIMER_MAX" => 2147483647, + "HOST_NAME_MAX" => 64, + "LOGIN_NAME_MAX" => 256, + "MQ_OPEN_MAX" => nil, + "MQ_PRIO_MAX" => 32768, + "_POSIX_DEVICE_IO" => nil, + "_POSIX_TRACE" => nil, + "_POSIX_TRACE_EVENT_FILTER" => nil, + "_POSIX_TRACE_INHERIT" => nil, + "_POSIX_TRACE_LOG" => nil, + "RTSIG_MAX" => 32, + "SEM_NSEMS_MAX" => nil, + "SEM_VALUE_MAX" => 2147483647, + "SIGQUEUE_MAX" => 63672, + "FILESIZEBITS" => 64, + "POSIX_ALLOC_SIZE_MIN" => 4096, + "POSIX_REC_INCR_XFER_SIZE" => nil, + "POSIX_REC_MAX_XFER_SIZE" => nil, + "POSIX_REC_MIN_XFER_SIZE" => 4096, + "POSIX_REC_XFER_ALIGN" => 4096, + "SYMLINK_MAX" => nil, + "GNU_LIBC_VERSION" => "glibc 2.24", + "GNU_LIBPTHREAD_VERSION" => "NPTL 2.24", + "POSIX2_SYMLINKS" => 1, + "LEVEL1_ICACHE_SIZE" => 32768, + "LEVEL1_ICACHE_ASSOC" => 8, + "LEVEL1_ICACHE_LINESIZE" => 64, + "LEVEL1_DCACHE_SIZE" => 32768, + "LEVEL1_DCACHE_ASSOC" => 8, + "LEVEL1_DCACHE_LINESIZE" => 64, + "LEVEL2_CACHE_SIZE" => 262144, + "LEVEL2_CACHE_ASSOC" => 4, + "LEVEL2_CACHE_LINESIZE" => 64, + "LEVEL3_CACHE_SIZE" => 8388608, + "LEVEL3_CACHE_ASSOC" => 16, + "LEVEL3_CACHE_LINESIZE" => 64, + "LEVEL4_CACHE_SIZE" => 0, + "LEVEL4_CACHE_ASSOC" => 0, + "LEVEL4_CACHE_LINESIZE" => 0, + "IPV6" => 200809, + "RAW_SOCKETS" => 200809, + "_POSIX_IPV6" => 200809, + "_POSIX_RAW_SOCKETS" => 200809, + }) + end + + it "should not populate sysconf if getconf is not found" do + allow(plugin).to receive(:which).with("getconf").and_return(false) + plugin.run + expect(plugin[:sysconf]).to be(nil) + end +end |