Não criou o programa de testes {testes/html_estilo_button_TST.py}. Não documentou nas interfaces {html_elem_button_simples.py} e {html_elem_button_submit.py} a nova semântica de {cor_fundo == None}. A função {html_estilo_button.escolhe_cor_fundo} devolve {None} se não reconhece o {texto}. Isso faz o servidor capotar. Deveria retornat uma cor default. A função {html_estilo_button.escolhe_cor_fundo} bem que podia usar um dicionário em vez de um monte de {if}s. O particípio passado de "to split" é "split" e não "splitted". (Essa é uma das razões para usar português nos nomes de funções e variáveis...) Relatório: OK.