File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -150,21 +150,15 @@ defmodule Mix.Tasks.Alchemy.Ci do
150150 defp elixir_test ( failed , _ , _ ) , do: failed
151151
152152 # MIX_ENV=test で子プロセスの mix を起動。[D] の test は GitHub elixir-test と同様。
153+ # System.cmd の :env は親プロセスの環境を継承しつつ上書き(PATH 等は維持される)。
153154 defp mix_cmd ( args , root ) when is_list ( args ) do
154155 System . cmd ( "elixir" , [ "-S" , "mix" ] ++ args ,
155156 cd: root ,
156157 stderr_to_stdout: true ,
157- env: env_with ( % { "MIX_ENV" => "test" } )
158+ env: [ { "MIX_ENV" , "test" } ]
158159 )
159160 end
160161
161- # System.cmd の :env は「全環境の置き換え」のため、PATH 等を落とさないよう現在の環境にマージする。
162- defp env_with ( overrides ) when is_map ( overrides ) do
163- System . get_env ( )
164- |> Map . merge ( overrides )
165- |> Map . to_list ( )
166- end
167-
168162 defp run_step ( failed , name , fun ) do
169163 case fun . ( ) do
170164 { _ , 0 } ->
Original file line number Diff line number Diff line change @@ -112,8 +112,16 @@ defmodule Network.UDP do
112112 case port do
113113 0 ->
114114 case :inet . port ( socket ) do
115- { :ok , p } -> p
116- { :error , _ } -> port
115+ { :ok , p } ->
116+ p
117+
118+ { :error , reason } ->
119+ Logger . warning (
120+ "[Network.UDP] :inet.port/1 failed after bind on port 0: #{ inspect ( reason ) } ; " <>
121+ "state.port may be incorrect"
122+ )
123+
124+ port
117125 end
118126
119127 _ ->
You can’t perform that action at this time.
0 commit comments