facter 3.11.6.cfacter.20181031 → 3.12.0.cfacter.20180918
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/ext/facter/cpp-hocon/CMakeLists.txt +1 -1
- data/ext/facter/cpp-hocon/lib/inc/hocon/types.hpp +6 -0
- data/ext/facter/cpp-hocon/lib/src/parseable.cc +3 -0
- data/ext/facter/facter/CMakeLists.txt +1 -1
- data/ext/facter/facter/acceptance/lib/facter/acceptance/base_fact_utils.rb +1 -3
- data/ext/facter/facter/acceptance/tests/facts/dmi.rb +1 -1
- data/ext/facter/facter/appveyor.yml +17 -14
- data/ext/facter/facter/exe/facter.cc +1 -2
- data/ext/facter/facter/lib/CMakeLists.txt +17 -1
- data/ext/facter/facter/lib/Doxyfile +1 -1
- data/ext/facter/facter/lib/inc/facter/facts/os.hpp +8 -0
- data/ext/facter/facter/lib/inc/facter/ruby/ruby.hpp +0 -11
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/disk_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/facts/freebsd/filesystem_resolver.hpp +25 -0
- data/ext/facter/facter/lib/inc/internal/util/freebsd/geom.hpp +149 -0
- data/ext/facter/facter/lib/src/facts/collection.cc +0 -2
- data/ext/facter/facter/lib/src/facts/freebsd/collection.cc +4 -2
- data/ext/facter/facter/lib/src/facts/freebsd/disk_resolver.cc +34 -0
- data/ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc +37 -0
- data/ext/facter/facter/lib/src/facts/linux/os_linux.cc +4 -0
- data/ext/facter/facter/lib/src/facts/windows/dmi_resolver.cc +2 -3
- data/ext/facter/facter/lib/src/facts/windows/operating_system_resolver.cc +1 -23
- data/ext/facter/facter/lib/src/ruby/fact.cc +41 -57
- data/ext/facter/facter/lib/src/ruby/ruby.cc +3 -35
- data/ext/facter/facter/lib/src/util/freebsd/geom.cc +130 -0
- data/ext/facter/facter/lib/tests/CMakeLists.txt +25 -9
- data/ext/facter/facter/lib/tests/facts/collection.cc +1 -1
- data/ext/facter/facter/lib/tests/fixtures.cc +1 -0
- data/ext/facter/facter/locales/FACTER.pot +18 -18
- data/ext/facter/leatherman/CMakeLists.txt +1 -1
- data/ext/facter/leatherman/cmake/cflags.cmake +2 -2
- data/ext/facter/leatherman/dynamic_library/CMakeLists.txt +1 -1
- data/ext/facter/leatherman/locale/src/locale.cc +1 -0
- data/ext/facter/leatherman/ruby/inc/leatherman/ruby/api.hpp +0 -4
- data/ext/facter/leatherman/ruby/src/api.cc +0 -1
- data/ext/facter/leatherman/util/inc/leatherman/util/strings.hpp +3 -0
- data/ext/facter/leatherman/windows/CMakeLists.txt +1 -1
- data/ext/facter/leatherman/windows/inc/leatherman/windows/wmi.hpp +0 -5
- metadata +9 -4
- data/ext/facter/facter/acceptance/tests/custom_facts/conflicts_with_builtin_fact.rb +0 -106
@@ -40,7 +40,6 @@ set(LIBFACTER_TESTS_COMMON_SOURCES
|
|
40
40
|
"logging/logging.cc"
|
41
41
|
"log_capture.cc"
|
42
42
|
"main.cc"
|
43
|
-
"mock_server.cc"
|
44
43
|
"util/string.cc"
|
45
44
|
"fixtures.cc"
|
46
45
|
"collection_fixture.cc"
|
@@ -128,20 +127,37 @@ include_directories(
|
|
128
127
|
${CPPHOCON_INCLUDE_DIRS}
|
129
128
|
)
|
130
129
|
|
130
|
+
# On EL 4, we run into a linking error when trying to create libraries or
|
131
|
+
# executables that link in a static library with code using threads. As I
|
132
|
+
# described in https://gcc.gnu.org/ml/gcc-help/2015-08/msg00035.html, we get
|
133
|
+
# the error undefined reference to symbol '__tls_get_addr@@GLIBC_2.3'.
|
134
|
+
# Build mock_server as a separate shared library to avoid this error.
|
131
135
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
136
|
+
add_library(mock-server SHARED mock_server.cc)
|
137
|
+
target_link_libraries(mock-server PRIVATE
|
138
|
+
${Boost_THREAD_LIBRARY}
|
139
|
+
${Boost_SYSTEM_LIBRARY}
|
140
|
+
${LIBFACTER_TESTS_PLATFORM_LIBRARIES})
|
137
141
|
|
138
142
|
add_executable(libfacter_test $<TARGET_OBJECTS:libfactersrc>
|
139
143
|
${LIBFACTER_TESTS_COMMON_SOURCES}
|
140
144
|
${LIBFACTER_TESTS_PLATFORM_SOURCES}
|
141
145
|
${LIBFACTER_TESTS_CATEGORY_SOURCES})
|
142
|
-
|
143
|
-
|
144
|
-
|
146
|
+
# On Windows, mock-server comes after Boost libraries to avoid double
|
147
|
+
# definition of boost::system::system_category() on Windows. On Linux, it
|
148
|
+
# comes before to avoid picking up incomplete Boost.Asio symbols included
|
149
|
+
# by Boost.Log in Leatherman logging.
|
150
|
+
if (WIN32)
|
151
|
+
target_link_libraries(libfacter_test
|
152
|
+
${LIBS}
|
153
|
+
${LIBFACTER_TESTS_PLATFORM_LIBRARIES}
|
154
|
+
mock-server)
|
155
|
+
else()
|
156
|
+
target_link_libraries(libfacter_test
|
157
|
+
mock-server
|
158
|
+
${LIBS}
|
159
|
+
${LIBFACTER_TESTS_PLATFORM_LIBRARIES})
|
160
|
+
endif()
|
145
161
|
|
146
162
|
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND BOOST_STATIC AND LEATHERMAN_USE_LOCALES)
|
147
163
|
target_link_libraries(libfacter_test iconv)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: FACTER 3.
|
9
|
+
"Project-Id-Version: FACTER 3.12.0\n"
|
10
10
|
"Report-Msgid-Bugs-To: docs@puppet.com\n"
|
11
11
|
"POT-Creation-Date: \n"
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
@@ -1225,6 +1225,11 @@ msgstr ""
|
|
1225
1225
|
msgid "failed adding platform facts that require WMI: {1}"
|
1226
1226
|
msgstr ""
|
1227
1227
|
|
1228
|
+
#. debug
|
1229
|
+
#: lib/src/facts/windows/dmi_resolver.cc
|
1230
|
+
msgid "WMI query returned no results for {1} with value {2}."
|
1231
|
+
msgstr ""
|
1232
|
+
|
1228
1233
|
#. debug
|
1229
1234
|
#: lib/src/facts/windows/dmi_resolver.cc
|
1230
1235
|
msgid "WMI query returned no results for {1} with values {2} and {3}."
|
@@ -1289,13 +1294,6 @@ msgstr ""
|
|
1289
1294
|
msgid "error finding SYSTEMROOT: {1}"
|
1290
1295
|
msgstr ""
|
1291
1296
|
|
1292
|
-
#. debug
|
1293
|
-
#: lib/src/facts/windows/operating_system_resolver.cc
|
1294
|
-
msgid ""
|
1295
|
-
"Could not resolve the OS release and OS major version facts from the kernel "
|
1296
|
-
"version fact"
|
1297
|
-
msgstr ""
|
1298
|
-
|
1299
1297
|
#. debug
|
1300
1298
|
#: lib/src/facts/windows/processor_resolver.cc
|
1301
1299
|
msgid "WMI processor Name, Architecture query returned no results."
|
@@ -1531,16 +1529,6 @@ msgstr ""
|
|
1531
1529
|
msgid "timeout= is not supported for custom facts and will be ignored."
|
1532
1530
|
msgstr ""
|
1533
1531
|
|
1534
|
-
#. debug
|
1535
|
-
#: lib/src/ruby/ruby.cc
|
1536
|
-
msgid "Redirecting ruby's stdout to stderr"
|
1537
|
-
msgstr ""
|
1538
|
-
|
1539
|
-
#. debug
|
1540
|
-
#: lib/src/ruby/ruby.cc
|
1541
|
-
msgid "Restoring Ruby's stdout"
|
1542
|
-
msgstr ""
|
1543
|
-
|
1544
1532
|
#. warning
|
1545
1533
|
#: lib/src/ruby/ruby.cc
|
1546
1534
|
msgid "Could not load puppet; some facts may be unavailable: {1}"
|
@@ -1559,6 +1547,18 @@ msgstr ""
|
|
1559
1547
|
msgid "a block is unexpected when passing a String"
|
1560
1548
|
msgstr ""
|
1561
1549
|
|
1550
|
+
#: lib/src/util/freebsd/geom.cc
|
1551
|
+
msgid "Skipping config {1} because it has a null value"
|
1552
|
+
msgstr ""
|
1553
|
+
|
1554
|
+
#: lib/src/util/freebsd/geom.cc
|
1555
|
+
msgid "Unable to get GEOM tree"
|
1556
|
+
msgstr ""
|
1557
|
+
|
1558
|
+
#: lib/src/util/freebsd/geom.cc
|
1559
|
+
msgid "The GEOM class \"{1}\" was not found"
|
1560
|
+
msgstr ""
|
1561
|
+
|
1562
1562
|
#: lib/src/util/posix/utmpx_file.cc
|
1563
1563
|
msgid "only one utmpx_file instance can exist at a time!"
|
1564
1564
|
msgstr ""
|
@@ -70,9 +70,9 @@ endif()
|
|
70
70
|
if (WIN32)
|
71
71
|
# Update standard link libraries to explicitly exclude kernel32. It isn't necessary, and when compiling with
|
72
72
|
# MinGW makes the executable unusable on Microsoft Nano Server due to including __C_specific_handler.
|
73
|
-
SET(CMAKE_C_STANDARD_LIBRARIES "-luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32"
|
73
|
+
SET(CMAKE_C_STANDARD_LIBRARIES "-luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lbcrypt"
|
74
74
|
CACHE STRING "Standard C link libraries." FORCE)
|
75
|
-
SET(CMAKE_CXX_STANDARD_LIBRARIES "-luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32"
|
75
|
+
SET(CMAKE_CXX_STANDARD_LIBRARIES "-luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lbcrypt"
|
76
76
|
CACHE STRING "Standard C++ link libraries." FORCE)
|
77
77
|
|
78
78
|
# We currently support Windows Vista and later APIs, see
|
@@ -5,6 +5,7 @@
|
|
5
5
|
// boost includes are not always warning-clean. Disable warnings that
|
6
6
|
// cause problems before including the headers, then re-enable the warnings.
|
7
7
|
#pragma GCC diagnostic push
|
8
|
+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
8
9
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
9
10
|
#include <boost/locale.hpp>
|
10
11
|
#pragma GCC diagnostic pop
|
@@ -207,10 +207,6 @@ namespace leatherman { namespace ruby {
|
|
207
207
|
* See MRI documentation.
|
208
208
|
*/
|
209
209
|
VALUE (* const rb_gv_get)(char const*);
|
210
|
-
/**
|
211
|
-
* See MRI documentation.
|
212
|
-
*/
|
213
|
-
VALUE (* const rb_gv_set)(char const*, VALUE);
|
214
210
|
/**
|
215
211
|
* See MRI documentation.
|
216
212
|
*/
|
@@ -51,7 +51,6 @@ namespace leatherman { namespace ruby {
|
|
51
51
|
LOAD_SYMBOL(rb_define_singleton_method),
|
52
52
|
LOAD_SYMBOL(rb_class_new_instance),
|
53
53
|
LOAD_SYMBOL(rb_gv_get),
|
54
|
-
LOAD_SYMBOL(rb_gv_set),
|
55
54
|
LOAD_SYMBOL(rb_eval_string),
|
56
55
|
LOAD_SYMBOL(rb_funcall),
|
57
56
|
LOAD_ALIASED_SYMBOL(rb_funcallv, rb_funcall2),
|
@@ -4,8 +4,11 @@
|
|
4
4
|
*/
|
5
5
|
#pragma once
|
6
6
|
|
7
|
+
#pragma GCC diagnostic push
|
8
|
+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
7
9
|
#include <boost/algorithm/string/predicate.hpp>
|
8
10
|
#include <boost/algorithm/string/compare.hpp>
|
11
|
+
#pragma GCC diagnostic pop
|
9
12
|
#include <functional>
|
10
13
|
#include <string>
|
11
14
|
#include <vector>
|
@@ -43,11 +43,6 @@ namespace leatherman { namespace windows {
|
|
43
43
|
*/
|
44
44
|
constexpr static char const* computersystemproduct = "Win32_ComputerSystemProduct";
|
45
45
|
|
46
|
-
/**
|
47
|
-
* Identifier for the WMI property UUID
|
48
|
-
*/
|
49
|
-
constexpr static char const* uuid = "UUID";
|
50
|
-
|
51
46
|
/**
|
52
47
|
* Identifier for the WMI class Win32_OperatingSystem
|
53
48
|
*/
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.12.0.cfacter.20180918
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email: info@puppet.com
|
@@ -203,7 +203,6 @@ files:
|
|
203
203
|
- ext/facter/facter/acceptance/lib/puppet/acceptance/common_utils.rb
|
204
204
|
- ext/facter/facter/acceptance/lib/puppet/acceptance/git_utils.rb
|
205
205
|
- ext/facter/facter/acceptance/lib/puppet/acceptance/install_utils.rb
|
206
|
-
- ext/facter/facter/acceptance/tests/custom_facts/conflicts_with_builtin_fact.rb
|
207
206
|
- ext/facter/facter/acceptance/tests/custom_facts/custom_fact_with_10001_weight_overrides_external_fact.rb
|
208
207
|
- ext/facter/facter/acceptance/tests/custom_facts/having_multiple_facts_in_one_file.rb
|
209
208
|
- ext/facter/facter/acceptance/tests/custom_facts/using_win32ole_should_not_hang.rb
|
@@ -377,7 +376,9 @@ files:
|
|
377
376
|
- ext/facter/facter/lib/inc/internal/facts/external/text_resolver.hpp
|
378
377
|
- ext/facter/facter/lib/inc/internal/facts/external/windows/powershell_resolver.hpp
|
379
378
|
- ext/facter/facter/lib/inc/internal/facts/external/yaml_resolver.hpp
|
379
|
+
- ext/facter/facter/lib/inc/internal/facts/freebsd/disk_resolver.hpp
|
380
380
|
- ext/facter/facter/lib/inc/internal/facts/freebsd/dmi_resolver.hpp
|
381
|
+
- ext/facter/facter/lib/inc/internal/facts/freebsd/filesystem_resolver.hpp
|
381
382
|
- ext/facter/facter/lib/inc/internal/facts/freebsd/memory_resolver.hpp
|
382
383
|
- ext/facter/facter/lib/inc/internal/facts/freebsd/networking_resolver.hpp
|
383
384
|
- ext/facter/facter/lib/inc/internal/facts/freebsd/operating_system_resolver.hpp
|
@@ -484,6 +485,7 @@ files:
|
|
484
485
|
- ext/facter/facter/lib/inc/internal/util/aix/odm.hpp
|
485
486
|
- ext/facter/facter/lib/inc/internal/util/aix/vmount.hpp
|
486
487
|
- ext/facter/facter/lib/inc/internal/util/bsd/scoped_ifaddrs.hpp
|
488
|
+
- ext/facter/facter/lib/inc/internal/util/freebsd/geom.hpp
|
487
489
|
- ext/facter/facter/lib/inc/internal/util/posix/scoped_addrinfo.hpp
|
488
490
|
- ext/facter/facter/lib/inc/internal/util/posix/scoped_bio.hpp
|
489
491
|
- ext/facter/facter/lib/inc/internal/util/posix/scoped_descriptor.hpp
|
@@ -524,7 +526,9 @@ files:
|
|
524
526
|
- ext/facter/facter/lib/src/facts/external/windows/powershell_resolver.cc
|
525
527
|
- ext/facter/facter/lib/src/facts/external/yaml_resolver.cc
|
526
528
|
- ext/facter/facter/lib/src/facts/freebsd/collection.cc
|
529
|
+
- ext/facter/facter/lib/src/facts/freebsd/disk_resolver.cc
|
527
530
|
- ext/facter/facter/lib/src/facts/freebsd/dmi_resolver.cc
|
531
|
+
- ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
|
528
532
|
- ext/facter/facter/lib/src/facts/freebsd/memory_resolver.cc
|
529
533
|
- ext/facter/facter/lib/src/facts/freebsd/networking_resolver.cc
|
530
534
|
- ext/facter/facter/lib/src/facts/freebsd/operating_system_resolver.cc
|
@@ -642,6 +646,7 @@ files:
|
|
642
646
|
- ext/facter/facter/lib/src/util/config/config.cc
|
643
647
|
- ext/facter/facter/lib/src/util/config/posix/config.cc
|
644
648
|
- ext/facter/facter/lib/src/util/config/windows/config.cc
|
649
|
+
- ext/facter/facter/lib/src/util/freebsd/geom.cc
|
645
650
|
- ext/facter/facter/lib/src/util/posix/scoped_addrinfo.cc
|
646
651
|
- ext/facter/facter/lib/src/util/posix/scoped_bio.cc
|
647
652
|
- ext/facter/facter/lib/src/util/posix/scoped_descriptor.cc
|
@@ -1081,7 +1086,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1081
1086
|
version: 1.3.1
|
1082
1087
|
requirements: []
|
1083
1088
|
rubyforge_project:
|
1084
|
-
rubygems_version: 2.6
|
1089
|
+
rubygems_version: 2.7.6
|
1085
1090
|
signing_key:
|
1086
1091
|
specification_version: 4
|
1087
1092
|
summary: Facter gem wrapper
|
@@ -1,106 +0,0 @@
|
|
1
|
-
test_name 'Facter should appropriately resolve a custom fact when it conflicts with a builtin fact' do
|
2
|
-
tag 'risk:medium'
|
3
|
-
|
4
|
-
def create_custom_fact_on(host, custom_fact_dir, fact_file_name, fact)
|
5
|
-
fact_file_contents = <<-CUSTOM_FACT
|
6
|
-
Facter.add(:#{fact[:name]}) do
|
7
|
-
has_weight #{fact[:weight]}
|
8
|
-
setcode do
|
9
|
-
#{fact[:value]}
|
10
|
-
end
|
11
|
-
end
|
12
|
-
CUSTOM_FACT
|
13
|
-
|
14
|
-
fact_file_path = File.join(custom_fact_dir, fact_file_name)
|
15
|
-
create_remote_file(host, fact_file_path, fact_file_contents)
|
16
|
-
end
|
17
|
-
|
18
|
-
def clear_custom_facts_on(host, custom_fact_dir)
|
19
|
-
step "Clean-up the previous test's custom facts" do
|
20
|
-
on(agent, "rm -f #{custom_fact_dir}/*")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
agents.each do |agent|
|
25
|
-
custom_fact_dir = agent.tmpdir('facter')
|
26
|
-
teardown do
|
27
|
-
on(agent, "rm -rf '#{custom_fact_dir}'")
|
28
|
-
end
|
29
|
-
|
30
|
-
fact_name = 'timezone'
|
31
|
-
builtin_value = on(agent, facter('timezone')).stdout.chomp
|
32
|
-
|
33
|
-
step "Verify that Facter uses the custom fact's value when its weight is > 0" do
|
34
|
-
custom_fact_value = "custom_timezone"
|
35
|
-
create_custom_fact_on(
|
36
|
-
agent,
|
37
|
-
custom_fact_dir,
|
38
|
-
'custom_timezone.rb',
|
39
|
-
name: fact_name,
|
40
|
-
weight: 10,
|
41
|
-
value: "'#{custom_fact_value}'"
|
42
|
-
)
|
43
|
-
|
44
|
-
on(agent, facter("--custom-dir=#{custom_fact_dir} timezone")) do |result|
|
45
|
-
assert_match(/#{custom_fact_value}/, result.stdout.chomp, "Facter does not use the custom fact's value when its weight is > 0")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
clear_custom_facts_on(agent, custom_fact_dir)
|
50
|
-
|
51
|
-
step "Verify that Facter uses the builtin fact's value when all conflicting custom facts fail to resolve" do
|
52
|
-
[ 'timezone_one.rb', 'timezone_two.rb'].each do |fact_file|
|
53
|
-
create_custom_fact_on(
|
54
|
-
agent,
|
55
|
-
custom_fact_dir,
|
56
|
-
fact_file,
|
57
|
-
{ name: fact_name, weight: 10, value: nil }
|
58
|
-
)
|
59
|
-
end
|
60
|
-
|
61
|
-
on(agent, facter("--custom-dir=#{custom_fact_dir} timezone")) do |result|
|
62
|
-
assert_match(/#{builtin_value}/, result.stdout.chomp, "Facter does not use the builtin fact's value when all conflicting custom facts fail to resolve")
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
step "Verify that Facter gives precedence to the builtin fact over zero weight custom facts" do
|
67
|
-
step "when all custom facts have zero weight" do
|
68
|
-
{
|
69
|
-
'timezone_one.rb' => "'timezone_one'",
|
70
|
-
'timezone_two.rb' => "'timezone_two'"
|
71
|
-
}.each do |fact_file, fact_value|
|
72
|
-
create_custom_fact_on(
|
73
|
-
agent,
|
74
|
-
custom_fact_dir,
|
75
|
-
fact_file,
|
76
|
-
{ name: fact_name, weight: 0, value: fact_value }
|
77
|
-
)
|
78
|
-
end
|
79
|
-
|
80
|
-
on(agent, facter("--custom-dir=#{custom_fact_dir} timezone")) do |result|
|
81
|
-
assert_match(/#{builtin_value}/, result.stdout.chomp, "Facter does not give precedence to the builtin fact when all custom facts have zero weight")
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
clear_custom_facts_on(agent, custom_fact_dir)
|
86
|
-
|
87
|
-
step "when some custom facts have zero weight" do
|
88
|
-
{
|
89
|
-
'timezone_one.rb' => { weight: 10, value: nil },
|
90
|
-
'timezone_two.rb' => { weight: 0, value: "'timezone_two'" }
|
91
|
-
}.each do |fact_file, fact|
|
92
|
-
create_custom_fact_on(
|
93
|
-
agent,
|
94
|
-
custom_fact_dir,
|
95
|
-
fact_file,
|
96
|
-
fact.merge(name: fact_name)
|
97
|
-
)
|
98
|
-
end
|
99
|
-
|
100
|
-
on(agent, facter("--custom-dir=#{custom_fact_dir} timezone")) do |result|
|
101
|
-
assert_match(/#{builtin_value}/, result.stdout.chomp, "Facter does not give precedence to the builtin fact when only some custom facts have zero weight")
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|