@@ -960,6 +960,35 @@ def test_read_config_include_extra_file_malformed(self):
960
960
finally :
961
961
shutil .rmtree (dirname , ignore_errors = True )
962
962
963
+ def test_read_config_include_expands_host_node_name (self ):
964
+ dirname = tempfile .mkdtemp ()
965
+ conf_d = os .path .join (dirname , "conf.d" )
966
+ os .mkdir (conf_d )
967
+
968
+ supervisord_conf = os .path .join (dirname , "supervisord.conf" )
969
+ text = lstrip ("""\
970
+ [supervisord]
971
+
972
+ [include]
973
+ files=%s/conf.d/%s.conf
974
+ """ % (dirname , "%(host_node_name)s" ))
975
+ with open (supervisord_conf , 'w' ) as f :
976
+ f .write (text )
977
+
978
+ conf_file = os .path .join (conf_d , "%s.conf" % platform .node ())
979
+ with open (conf_file , 'w' ) as f :
980
+ f .write ("[inet_http_server]\n port=8000\n " )
981
+
982
+ instance = self ._makeOne ()
983
+ try :
984
+ instance .read_config (supervisord_conf )
985
+ finally :
986
+ shutil .rmtree (dirname , ignore_errors = True )
987
+ options = instance .configroot .supervisord
988
+ self .assertEqual (len (options .server_configs ), 1 )
989
+ msg = 'Included extra file "%s" during parsing' % conf_file
990
+ self .assertTrue (msg in instance .parse_infos )
991
+
963
992
def test_read_config_include_expands_here (self ):
964
993
conf = os .path .join (
965
994
os .path .abspath (os .path .dirname (__file__ )), 'fixtures' ,
0 commit comments