@@ -1410,6 +1410,53 @@ def test_stop_parallel_old_supervisor_after_delay
14101410 ensure
14111411 $log. out . reset if $log&.out &.respond_to? ( :reset )
14121412 end
1413+
1414+ test "can load config files even if disable config_include_dir" do
1415+ write_config ( "#{ @config_include_dir } /forward.conf" , <<~EOF )
1416+ <match test>
1417+ @type forward
1418+ <server>
1419+ host 127.0.0.1
1420+ port 24224
1421+ </server>
1422+ </match>
1423+ EOF
1424+
1425+ write_config ( "#{ @tmp_dir } /fluent.conf" , <<~EOF )
1426+ <system>
1427+ config_include_dir ""
1428+ </system>
1429+
1430+ <match sample.*>
1431+ @type file
1432+ </match>
1433+
1434+ @include #{ @config_include_dir } /*.conf
1435+ EOF
1436+
1437+ supervisor = Fluent ::Supervisor . new ( { config_path : "#{ @tmp_dir } /fluent.conf" } )
1438+ stub ( supervisor ) . setup_global_logger { create_debug_dummy_logger }
1439+
1440+ supervisor . configure ( supervisor : true )
1441+ elements = supervisor . instance_variable_get ( :@conf ) . elements
1442+ assert_equal ( 3 , elements . size )
1443+
1444+ assert_equal ( 'system' , elements [ 0 ] . name )
1445+ assert_equal ( "" , elements [ 0 ] [ 'config_include_dir' ] )
1446+
1447+ assert_equal ( 'match' , elements [ 1 ] . name )
1448+ assert_equal ( 'file' , elements [ 1 ] [ '@type' ] )
1449+
1450+ assert_equal ( 'match' , elements [ 2 ] . name )
1451+ assert_equal ( 'forward' , elements [ 2 ] [ '@type' ] )
1452+
1453+ # There is no logs for additional loading
1454+ logs_line = $log. out . logs . join
1455+ assert_not_match ( /skip auto loading, it was already loaded/ , logs_line )
1456+ assert_not_match ( /loading additional configuration file/ , logs_line )
1457+ ensure
1458+ $log. out . reset if $log&.out &.respond_to? ( :reset )
1459+ end
14131460 end
14141461
14151462 def create_debug_dummy_logger
0 commit comments