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.
Files changed (41) hide show
  1. checksums.yaml +5 -5
  2. data/ext/facter/cpp-hocon/CMakeLists.txt +1 -1
  3. data/ext/facter/cpp-hocon/lib/inc/hocon/types.hpp +6 -0
  4. data/ext/facter/cpp-hocon/lib/src/parseable.cc +3 -0
  5. data/ext/facter/facter/CMakeLists.txt +1 -1
  6. data/ext/facter/facter/acceptance/lib/facter/acceptance/base_fact_utils.rb +1 -3
  7. data/ext/facter/facter/acceptance/tests/facts/dmi.rb +1 -1
  8. data/ext/facter/facter/appveyor.yml +17 -14
  9. data/ext/facter/facter/exe/facter.cc +1 -2
  10. data/ext/facter/facter/lib/CMakeLists.txt +17 -1
  11. data/ext/facter/facter/lib/Doxyfile +1 -1
  12. data/ext/facter/facter/lib/inc/facter/facts/os.hpp +8 -0
  13. data/ext/facter/facter/lib/inc/facter/ruby/ruby.hpp +0 -11
  14. data/ext/facter/facter/lib/inc/internal/facts/freebsd/disk_resolver.hpp +25 -0
  15. data/ext/facter/facter/lib/inc/internal/facts/freebsd/filesystem_resolver.hpp +25 -0
  16. data/ext/facter/facter/lib/inc/internal/util/freebsd/geom.hpp +149 -0
  17. data/ext/facter/facter/lib/src/facts/collection.cc +0 -2
  18. data/ext/facter/facter/lib/src/facts/freebsd/collection.cc +4 -2
  19. data/ext/facter/facter/lib/src/facts/freebsd/disk_resolver.cc +34 -0
  20. data/ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc +37 -0
  21. data/ext/facter/facter/lib/src/facts/linux/os_linux.cc +4 -0
  22. data/ext/facter/facter/lib/src/facts/windows/dmi_resolver.cc +2 -3
  23. data/ext/facter/facter/lib/src/facts/windows/operating_system_resolver.cc +1 -23
  24. data/ext/facter/facter/lib/src/ruby/fact.cc +41 -57
  25. data/ext/facter/facter/lib/src/ruby/ruby.cc +3 -35
  26. data/ext/facter/facter/lib/src/util/freebsd/geom.cc +130 -0
  27. data/ext/facter/facter/lib/tests/CMakeLists.txt +25 -9
  28. data/ext/facter/facter/lib/tests/facts/collection.cc +1 -1
  29. data/ext/facter/facter/lib/tests/fixtures.cc +1 -0
  30. data/ext/facter/facter/locales/FACTER.pot +18 -18
  31. data/ext/facter/leatherman/CMakeLists.txt +1 -1
  32. data/ext/facter/leatherman/cmake/cflags.cmake +2 -2
  33. data/ext/facter/leatherman/dynamic_library/CMakeLists.txt +1 -1
  34. data/ext/facter/leatherman/locale/src/locale.cc +1 -0
  35. data/ext/facter/leatherman/ruby/inc/leatherman/ruby/api.hpp +0 -4
  36. data/ext/facter/leatherman/ruby/src/api.cc +0 -1
  37. data/ext/facter/leatherman/util/inc/leatherman/util/strings.hpp +3 -0
  38. data/ext/facter/leatherman/windows/CMakeLists.txt +1 -1
  39. data/ext/facter/leatherman/windows/inc/leatherman/windows/wmi.hpp +0 -5
  40. metadata +9 -4
  41. 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
- if (WIN32)
133
- # On Windows with GCC 5.2, Boost.System emits warnings that aren't correctly
134
- # suppressed by pragmas. Explicitly skip them.
135
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-variable")
136
- endif()
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
- target_link_libraries(libfacter_test
143
- ${LIBS}
144
- ${LIBFACTER_TESTS_PLATFORM_LIBRARIES})
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)
@@ -67,7 +67,7 @@ struct multi_resolver : facter::facts::resolver
67
67
 
68
68
  struct temp_variable
69
69
  {
70
- temp_variable(string&& name, string const& value) :
70
+ temp_variable(string name, string const& value) :
71
71
  _name(move(name))
72
72
  {
73
73
  environment::set(_name, value);
@@ -6,6 +6,7 @@
6
6
 
7
7
  #pragma GCC diagnostic push
8
8
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
9
+ #pragma GCC diagnostic ignored "-Wunused-variable"
9
10
  #include <boost/thread/thread.hpp>
10
11
  #include <boost/chrono/duration.hpp>
11
12
  #pragma GCC diagnostic pop
@@ -6,7 +6,7 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: FACTER 3.11.5\n"
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 ""
@@ -1,5 +1,5 @@
1
1
  cmake_minimum_required(VERSION 3.2.2)
2
- project(leatherman VERSION 1.4.4)
2
+ project(leatherman VERSION 1.5.0)
3
3
 
4
4
  if (WIN32)
5
5
  link_libraries("-Wl,--nxcompat -Wl,--dynamicbase")
@@ -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
@@ -1,4 +1,4 @@
1
- find_package(Boost 1.54 REQUIRED COMPONENTS regex)
1
+ find_package(Boost 1.54 REQUIRED COMPONENTS regex system)
2
2
 
3
3
  add_leatherman_deps("${Boost_LIBRARIES}")
4
4
  add_leatherman_includes("${Boost_INCLUDE_DIRS}")
@@ -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>
@@ -1,4 +1,4 @@
1
- find_package(Boost 1.54 REQUIRED COMPONENTS filesystem)
1
+ find_package(Boost 1.54 REQUIRED COMPONENTS filesystem regex system)
2
2
 
3
3
  add_leatherman_deps(Wbemuuid.lib userenv.lib "${Boost_LIBRARIES}")
4
4
  add_leatherman_includes("${Boost_INCLUDE_DIRS}")
@@ -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.11.6.cfacter.20181031
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-10-31 00:00:00.000000000 Z
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.14.1
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