@@ -6,6 +6,7 @@ defmodule Hex.MixTaskTest do
6
6
[
7
7
app: :simple ,
8
8
version: "0.1.0" ,
9
+ consolidate_protocols: false ,
9
10
deps: [
10
11
{ :ecto , "0.2.0" }
11
12
]
@@ -18,6 +19,7 @@ defmodule Hex.MixTaskTest do
18
19
[
19
20
app: :simple ,
20
21
version: "0.1.0" ,
22
+ consolidate_protocols: false ,
21
23
deps: [
22
24
{ :ecto , "~> 0.2.1" }
23
25
]
@@ -30,6 +32,7 @@ defmodule Hex.MixTaskTest do
30
32
[
31
33
app: :simple ,
32
34
version: "0.1.0" ,
35
+ consolidate_protocols: false ,
33
36
deps: [
34
37
{ :ecto , "~> 0.2.0" }
35
38
]
@@ -42,6 +45,7 @@ defmodule Hex.MixTaskTest do
42
45
[
43
46
app: :override ,
44
47
version: "0.1.0" ,
48
+ consolidate_protocols: false ,
45
49
deps: [
46
50
{ :ecto , "0.2.0" } ,
47
51
{ :ex_doc , "~> 0.1.0" , override: true }
@@ -55,6 +59,7 @@ defmodule Hex.MixTaskTest do
55
59
[
56
60
app: :non_hex_dep ,
57
61
version: "0.1.0" ,
62
+ consolidate_protocols: false ,
58
63
deps: [
59
64
{ :has_hex_dep , path: fixture_path ( "has_hex_dep" ) }
60
65
]
@@ -67,6 +72,7 @@ defmodule Hex.MixTaskTest do
67
72
[
68
73
app: :ecto_path_dep ,
69
74
version: "0.1.0" ,
75
+ consolidate_protocols: false ,
70
76
deps: [
71
77
{ :postgrex , ">= 0.0.0" } ,
72
78
{ :ecto , path: fixture_path ( "ecto" ) }
@@ -80,6 +86,7 @@ defmodule Hex.MixTaskTest do
80
86
[
81
87
app: :ecto_path_dep ,
82
88
version: "0.1.0" ,
89
+ consolidate_protocols: false ,
83
90
deps: [
84
91
{ :postgrex , "0.2.1" } ,
85
92
{ :ecto , path: fixture_path ( "ecto" ) }
@@ -93,6 +100,7 @@ defmodule Hex.MixTaskTest do
93
100
[
94
101
app: :ecto_path_dep ,
95
102
version: "0.1.0" ,
103
+ consolidate_protocols: false ,
96
104
deps: [
97
105
{ :postgrex_conflict , ">= 0.0.0" , hex: :postgrex } ,
98
106
{ :ecto , path: fixture_path ( "ecto" ) }
@@ -106,6 +114,7 @@ defmodule Hex.MixTaskTest do
106
114
[
107
115
app: :override_with_path ,
108
116
version: "0.1.0" ,
117
+ consolidate_protocols: false ,
109
118
deps: [
110
119
{ :postgrex , ">= 0.0.0" } ,
111
120
{ :ex_doc , path: fixture_path ( "ex_doc" ) , override: true }
@@ -119,6 +128,7 @@ defmodule Hex.MixTaskTest do
119
128
[
120
129
app: :override_two_levels_with_path ,
121
130
version: "0.1.0" ,
131
+ consolidate_protocols: false ,
122
132
deps: [
123
133
{ :phoenix , ">= 0.0.0" } ,
124
134
{ :ex_doc , path: fixture_path ( "ex_doc" ) , override: true }
@@ -132,6 +142,7 @@ defmodule Hex.MixTaskTest do
132
142
[
133
143
app: :override_with_path_parent ,
134
144
version: "0.1.0" ,
145
+ consolidate_protocols: false ,
135
146
deps: [
136
147
{ :override_with_path , path: fixture_path ( "override_with_path" ) }
137
148
]
@@ -144,6 +155,7 @@ defmodule Hex.MixTaskTest do
144
155
[
145
156
app: :optional ,
146
157
version: "0.1.0" ,
158
+ consolidate_protocols: false ,
147
159
deps: [
148
160
{ :only_doc , ">= 0.0.0" }
149
161
]
@@ -156,6 +168,7 @@ defmodule Hex.MixTaskTest do
156
168
[
157
169
app: :with_optional ,
158
170
version: "0.1.0" ,
171
+ consolidate_protocols: false ,
159
172
deps: [
160
173
{ :only_doc , ">= 0.0.0" } ,
161
174
{ :ex_doc , "0.0.1" }
@@ -169,6 +182,7 @@ defmodule Hex.MixTaskTest do
169
182
[
170
183
app: :with_package_name ,
171
184
version: "0.1.0" ,
185
+ consolidate_protocols: false ,
172
186
deps: [
173
187
{ :app_name , ">= 0.0.0" , hex: :package_name }
174
188
]
@@ -181,6 +195,7 @@ defmodule Hex.MixTaskTest do
181
195
[
182
196
app: :with_depend_name ,
183
197
version: "0.1.0" ,
198
+ consolidate_protocols: false ,
184
199
deps: [
185
200
{ :depend_name , ">= 0.0.0" }
186
201
]
@@ -193,6 +208,7 @@ defmodule Hex.MixTaskTest do
193
208
[
194
209
app: :with_incorrect_dep_version ,
195
210
version: "0.1.0" ,
211
+ consolidate_protocols: false ,
196
212
deps: [
197
213
{ :ex_doc , "> hello" }
198
214
]
@@ -205,6 +221,7 @@ defmodule Hex.MixTaskTest do
205
221
[
206
222
app: :with_missing_dep_version ,
207
223
version: "0.1.0" ,
224
+ consolidate_protocols: false ,
208
225
deps: [
209
226
{ :ex_doc , [ ] }
210
227
]
@@ -217,6 +234,7 @@ defmodule Hex.MixTaskTest do
217
234
[
218
235
app: :with_non_matching_requirement ,
219
236
version: "0.1.0" ,
237
+ consolidate_protocols: false ,
220
238
deps: [
221
239
{ :ex_doc , "~> 100.0.0" }
222
240
]
@@ -229,6 +247,7 @@ defmodule Hex.MixTaskTest do
229
247
[
230
248
app: :with_only_matching_pre_requirement ,
231
249
version: "0.1.0" ,
250
+ consolidate_protocols: false ,
232
251
deps: [
233
252
{ :beta , "~> 1.1.0" }
234
253
]
@@ -241,6 +260,7 @@ defmodule Hex.MixTaskTest do
241
260
[
242
261
app: :depends_on_ecto_sql ,
243
262
version: "0.1.0" ,
263
+ consolidate_protocols: false ,
244
264
deps: [
245
265
{ :ecto_sql , "~> 3.3" } ,
246
266
{ :ecto_enum , "1.4.0" }
@@ -254,13 +274,32 @@ defmodule Hex.MixTaskTest do
254
274
[
255
275
app: :depends_on_sponsored ,
256
276
version: "0.1.0" ,
277
+ consolidate_protocols: false ,
257
278
deps: [
258
279
{ :sponsored , "0.1.0" }
259
280
]
260
281
]
261
282
end
262
283
end
263
284
285
+ defp reset_code_paths ( fun ) do
286
+ path = :code . get_path ( )
287
+
288
+ try do
289
+ fun . ( )
290
+ after
291
+ :code . add_pathsz ( path )
292
+ end
293
+ end
294
+
295
+ defp deps_compile ( ) do
296
+ reset_code_paths ( fn -> Mix.Task . run ( "deps.compile" ) end )
297
+ end
298
+
299
+ defp compile ( ) do
300
+ reset_code_paths ( fn -> Mix.Task . run ( "compile" ) end )
301
+ end
302
+
264
303
test "deps.get" do
265
304
Mix.Project . push ( Simple )
266
305
@@ -272,7 +311,7 @@ defmodule Hex.MixTaskTest do
272
311
assert_received { :mix_shell , :info , [ "* Getting postgrex (Hex package)" ] }
273
312
assert_received { :mix_shell , :info , [ "* Getting ex_doc (Hex package)" ] }
274
313
275
- Mix.Task . run ( "deps.compile" )
314
+ deps_compile ( )
276
315
Mix.Task . run ( "deps" )
277
316
278
317
assert_received { :mix_shell , :info , [ "* ecto 0.2.0 (Hex package)" <> _ ] }
@@ -304,7 +343,7 @@ defmodule Hex.MixTaskTest do
304
343
Mix.Task . clear ( )
305
344
306
345
Mix.Task . run ( "deps.get" )
307
- Mix.Task . run ( "deps.compile" )
346
+ deps_compile ( )
308
347
Mix.Task . run ( "deps" )
309
348
310
349
assert_received { :mix_shell , :info , [ "* ecto 0.2.0 (Hex package)" <> _ ] }
@@ -344,7 +383,7 @@ defmodule Hex.MixTaskTest do
344
383
assert_received { :mix_shell , :info , [ "* Updating postgrex (Hex package)" ] }
345
384
assert_received { :mix_shell , :info , [ "* Updating ex_doc (Hex package)" ] }
346
385
347
- Mix.Task . run ( "deps.compile" )
386
+ deps_compile ( )
348
387
Mix.Task . run ( "deps" )
349
388
350
389
assert_received { :mix_shell , :info , [ "* ecto 0.2.1 (Hex package)" <> _ ] }
@@ -545,7 +584,7 @@ defmodule Hex.MixTaskTest do
545
584
Hex.State . put ( :cache_home , File . cwd! ( ) )
546
585
547
586
Mix.Task . run ( "deps.get" )
548
- Mix.Task . run ( "deps.compile" )
587
+ deps_compile ( )
549
588
Mix.Task . run ( "deps" )
550
589
551
590
assert_received { :mix_shell , :info , [ "* ecto 0.2.0 (Hex package)" <> _ ] }
@@ -956,7 +995,7 @@ defmodule Hex.MixTaskTest do
956
995
} )
957
996
958
997
Mix.Task . run ( "deps.get" )
959
- Mix.Task . run ( " compile" )
998
+ compile ( )
960
999
Mix.Task . run ( "deps.update" , [ "ecto_sql" ] )
961
1000
end )
962
1001
after
0 commit comments