@@ -5,7 +5,7 @@ defmodule Mix.Tasks.App.StartTest do
55
66 defmodule AppStartSample do
77 def project do
8- [ app: :app_start_sample , version: "0.1.0" ]
8+ [ app: :app_start_sample , version: "0.1.0" , start_permanent: true ]
99 end
1010
1111 def application do
@@ -89,7 +89,14 @@ defmodule Mix.Tasks.App.StartTest do
8989 end
9090
9191 test "start does nothing if app is nil" do
92- assert Mix.Tasks.App.Start . start ( nil ) == :error
92+ assert Mix.Tasks.App.Start . start ( [ app: nil ] , [ ] ) == :error
93+ end
94+
95+ test "allows type to be configured" do
96+ assert Mix.Tasks.App.Start . type ( [ ] , [ permanent: true ] ) == :permanent
97+ assert Mix.Tasks.App.Start . type ( [ ] , [ temporary: true ] ) == :temporary
98+ assert Mix.Tasks.App.Start . type ( [ start_permanent: true ] , [ ] ) == :permanent
99+ assert Mix.Tasks.App.Start . type ( [ ] , [ ] ) == :temporary
93100 end
94101
95102 defmodule ReturnSample do
@@ -115,9 +122,12 @@ defmodule Mix.Tasks.App.StartTest do
115122 Process . put ( :application_definition , mod: { ReturnApp , { :error , :bye } } )
116123 Mix.Tasks.Compile . run [ ]
117124
118- assert_raise Mix.Error , "Could not start application return_sample: Mix.Tasks.App.StartTest.ReturnApp.start(:normal, {:error, :bye}) returned an error: :bye" ,
119- fn ->
120- Mix.Tasks.App.Start . start ( :return_sample )
125+ message = "Could not start application return_sample: " <>
126+ "Mix.Tasks.App.StartTest.ReturnApp.start(:normal, {:error, :bye}) " <>
127+ "returned an error: :bye"
128+
129+ assert_raise Mix.Error , message , fn ->
130+ Mix.Tasks.App.Start . start ( [ app: :return_sample ] , [ ] )
121131 end
122132 end
123133 end
@@ -130,10 +140,14 @@ defmodule Mix.Tasks.App.StartTest do
130140 { :badarg , [ { ReturnApp , :start , 2 , [ ] } ] } } } )
131141 Mix.Tasks.Compile . run [ ]
132142
133- assert_raise Mix.Error , "Could not start application return_sample: Mix.Tasks.App.StartTest.ReturnApp.start(:normal, {:error, {:badarg, [{Mix.Tasks.App.StartTest.ReturnApp, :start, 2, []}]}}) returned an error: an exception was raised:\n " <>
134- " ** (ArgumentError) argument error\n " <>
135- " Mix.Tasks.App.StartTest.ReturnApp.start/2" , fn ->
136- Mix.Tasks.App.Start . start ( :return_sample )
143+ message = "Could not start application return_sample: " <>
144+ "Mix.Tasks.App.StartTest.ReturnApp.start(:normal, {:error, {:badarg, [{Mix.Tasks.App.StartTest.ReturnApp, :start, 2, []}]}}) " <>
145+ "returned an error: an exception was raised:\n " <>
146+ " ** (ArgumentError) argument error\n " <>
147+ " Mix.Tasks.App.StartTest.ReturnApp.start/2"
148+
149+ assert_raise Mix.Error , message , fn ->
150+ Mix.Tasks.App.Start . start ( [ app: :return_sample ] , [ ] )
137151 end
138152 end
139153 end
@@ -145,9 +159,12 @@ defmodule Mix.Tasks.App.StartTest do
145159 Process . put ( :application_definition , mod: { ReturnApp , :bad } )
146160 Mix.Tasks.Compile . run [ ]
147161
148- assert_raise Mix.Error , "Could not start application return_sample: Mix.Tasks.App.StartTest.ReturnApp.start(:normal, :bad) returned a bad value: :bad" ,
149- fn ->
150- Mix.Tasks.App.Start . start ( :return_sample )
162+ message = "Could not start application return_sample: " <>
163+ "Mix.Tasks.App.StartTest.ReturnApp.start(:normal, :bad) " <>
164+ "returned a bad value: :bad"
165+
166+ assert_raise Mix.Error , message , fn ->
167+ Mix.Tasks.App.Start . start ( [ app: :return_sample ] , [ ] )
151168 end
152169 end
153170 end
@@ -175,10 +192,12 @@ defmodule Mix.Tasks.App.StartTest do
175192 Process . put ( :application_definition , mod: { ExitApp , :bye } )
176193 Mix.Tasks.Compile . run [ ]
177194
178- assert_raise Mix.Error , "Could not start application exit_sample: exited in: Mix.Tasks.App.StartTest.ExitApp.start(:normal, :bye)\n " <>
179- " ** (EXIT) :bye" ,
180- fn ->
181- Mix.Tasks.App.Start . start ( :exit_sample )
195+ message = "Could not start application exit_sample: exited in: " <>
196+ "Mix.Tasks.App.StartTest.ExitApp.start(:normal, :bye)\n " <>
197+ " ** (EXIT) :bye"
198+
199+ assert_raise Mix.Error , message , fn ->
200+ Mix.Tasks.App.Start . start ( [ app: :exit_sample ] , [ ] )
182201 end
183202 end
184203 end
@@ -190,10 +209,12 @@ defmodule Mix.Tasks.App.StartTest do
190209 Process . put ( :application_definition , mod: { ExitApp , :normal } )
191210 Mix.Tasks.Compile . run [ ]
192211
193- assert_raise Mix.Error , "Could not start application exit_sample: exited in: Mix.Tasks.App.StartTest.ExitApp.start(:normal, :normal)\n " <>
194- " ** (EXIT) normal" ,
195- fn ->
196- Mix.Tasks.App.Start . start ( :exit_sample )
212+ message = "Could not start application exit_sample: exited in: " <>
213+ "Mix.Tasks.App.StartTest.ExitApp.start(:normal, :normal)\n " <>
214+ " ** (EXIT) normal"
215+
216+ assert_raise Mix.Error , message , fn ->
217+ Mix.Tasks.App.Start . start ( [ app: :exit_sample ] , [ ] )
197218 end
198219 end
199220 end
0 commit comments