erlware / relx

Sane, simple release creation for Erlang
http://erlware.github.io/relx
Apache License 2.0
697 stars 232 forks source link

Correctly render redefined variable #747

Closed arcusfelis closed 5 years ago

arcusfelis commented 5 years ago

Rendering of variables behaves differently for already defined variables. Values of such variables are rendered in the wrong order, ignoring any variables above from the same file.

Failing test without the fix:

./rebar3/rebar3 ct --suite rlx_release_SUITE --case overlay_release   
===> Verifying dependencies...                                                                     
===> Compiling relx                                                                   
===> Running Common Test suites...                                                                     
%%% rlx_release_SUITE:                                                                                                                                                                                    
%%% rlx_release_SUITE ==> overlay_release: FAILED                                                  
%%% rlx_release_SUITE ==>                                                                                                                                                                                 
Failure/Error: ?assertEqual([82,101,100,101,102,105,110,101,100,32,105,110,32,118,97,114,115,50,32,119,105,116,104,32,97,32,116,101,109,112,108,97,116,101,32,118,97,108,117,101], proplists : get_value (
 tpl_var , TemplateData ))                                                                               
  expected: "Redefined in vars2 with a template value"                                                                                                                                                    
       got: "Redefined in vars2 with "                                                                              
      line: 866