@@ -133,35 +133,52 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
133133 result , err := build (buildContext )
134134 Expect (err ).NotTo (HaveOccurred ())
135135
136- Expect (result .Layers ).To (HaveLen (1 ))
137- layer := result .Layers [0 ]
136+ Expect (result .Layers ).To (HaveLen (2 ))
137+ pipLayer := result .Layers [0 ]
138138
139- Expect (layer .Name ).To (Equal ("pip" ))
139+ Expect (pipLayer .Name ).To (Equal ("pip" ))
140140
141- Expect (layer .Path ).To (Equal (filepath .Join (layersDir , "pip" )))
141+ Expect (pipLayer .Path ).To (Equal (filepath .Join (layersDir , "pip" )))
142142
143- Expect (layer . SharedEnv ).To (HaveLen ( 2 ))
144- Expect (layer . SharedEnv [ "PYTHONPATH.delim" ] ).To (Equal ( ":" ))
145- Expect (layer . SharedEnv [ "PYTHONPATH.prepend" ] ).To (Equal ( filepath . Join ( layersDir , "pip" , "lib/python1.23/site-packages" ) ))
143+ Expect (pipLayer . BuildEnv ).To (BeEmpty ( ))
144+ Expect (pipLayer . LaunchEnv ).To (BeEmpty ( ))
145+ Expect (pipLayer . ProcessLaunchEnv ).To (BeEmpty ( ))
146146
147- Expect (layer . BuildEnv ).To (BeEmpty ())
148- Expect (layer . LaunchEnv ).To (BeEmpty ())
149- Expect (layer . ProcessLaunchEnv ).To (BeEmpty ())
147+ Expect (pipLayer . Build ).To (BeFalse ())
148+ Expect (pipLayer . Launch ).To (BeFalse ())
149+ Expect (pipLayer . Cache ).To (BeFalse ())
150150
151- Expect (layer .Build ).To (BeFalse ())
152- Expect (layer .Launch ).To (BeFalse ())
153- Expect (layer .Cache ).To (BeFalse ())
151+ Expect (pipLayer .Metadata ).To (HaveLen (1 ))
152+ Expect (pipLayer .Metadata ["dependency_checksum" ]).To (Equal ("some-sha" ))
154153
155- Expect (layer .Metadata ).To (HaveLen (1 ))
156- Expect (layer .Metadata ["dependency_checksum" ]).To (Equal ("some-sha" ))
154+ Expect (pipLayer .SharedEnv ).To (HaveLen (2 ))
155+ Expect (pipLayer .SharedEnv ["PYTHONPATH.delim" ]).To (Equal (":" ))
156+ Expect (pipLayer .SharedEnv ["PYTHONPATH.prepend" ]).To (Equal (filepath .Join (layersDir , "pip" , "lib/python1.23/site-packages" )))
157157
158- Expect (layer .SBOM .Formats ()).To (HaveLen (2 ))
158+ Expect (pipLayer .SBOM .Formats ()).To (HaveLen (2 ))
159159 var actualExtensions []string
160- for _ , format := range layer .SBOM .Formats () {
160+ for _ , format := range pipLayer .SBOM .Formats () {
161161 actualExtensions = append (actualExtensions , format .Extension )
162162 }
163163 Expect (actualExtensions ).To (ConsistOf ("cdx.json" , "spdx.json" ))
164164
165+ pipSrcLayer := result .Layers [1 ]
166+
167+ Expect (pipSrcLayer .Name ).To (Equal ("pip-source" ))
168+
169+ Expect (pipSrcLayer .Path ).To (Equal (filepath .Join (layersDir , "pip-source" )))
170+
171+ Expect (pipSrcLayer .LaunchEnv ).To (BeEmpty ())
172+ Expect (pipSrcLayer .ProcessLaunchEnv ).To (BeEmpty ())
173+
174+ Expect (pipSrcLayer .Build ).To (BeFalse ())
175+ Expect (pipSrcLayer .Launch ).To (BeFalse ())
176+ Expect (pipSrcLayer .Cache ).To (BeFalse ())
177+
178+ Expect (pipSrcLayer .BuildEnv ).To (HaveLen (2 ))
179+ Expect (pipSrcLayer .BuildEnv ["PIP_FIND_LINKS.delim" ]).To (Equal (" " ))
180+ Expect (pipSrcLayer .BuildEnv ["PIP_FIND_LINKS.append" ]).To (Equal (filepath .Join (layersDir , "pip-source" )))
181+
165182 Expect (dependencyManager .ResolveCall .Receives .Path ).To (Equal (filepath .Join (cnbDir , "buildpack.toml" )))
166183 Expect (dependencyManager .ResolveCall .Receives .Id ).To (Equal ("pip" ))
167184 Expect (dependencyManager .ResolveCall .Receives .Version ).To (Equal ("" ))
@@ -201,14 +218,22 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
201218 result , err := build (buildContext )
202219 Expect (err ).NotTo (HaveOccurred ())
203220
204- Expect (result .Layers ).To (HaveLen (1 ))
205- layer := result .Layers [0 ]
221+ Expect (result .Layers ).To (HaveLen (2 ))
222+ pipLayer := result .Layers [0 ]
206223
207- Expect (layer .Name ).To (Equal ("pip" ))
224+ Expect (pipLayer .Name ).To (Equal ("pip" ))
208225
209- Expect (layer .Build ).To (BeTrue ())
210- Expect (layer .Launch ).To (BeTrue ())
211- Expect (layer .Cache ).To (BeTrue ())
226+ Expect (pipLayer .Build ).To (BeTrue ())
227+ Expect (pipLayer .Launch ).To (BeTrue ())
228+ Expect (pipLayer .Cache ).To (BeTrue ())
229+
230+ pipSrcLayer := result .Layers [1 ]
231+
232+ Expect (pipSrcLayer .Name ).To (Equal ("pip-source" ))
233+
234+ Expect (pipSrcLayer .Build ).To (BeTrue ())
235+ Expect (pipSrcLayer .Launch ).To (BeFalse ())
236+ Expect (pipSrcLayer .Cache ).To (BeTrue ())
212237
213238 Expect (result .Build .BOM ).To (Equal (
214239 []packit.BOMEntry {
@@ -261,14 +286,22 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
261286 result , err := build (buildContext )
262287 Expect (err ).NotTo (HaveOccurred ())
263288
264- Expect (result .Layers ).To (HaveLen (1 ))
265- layer := result .Layers [0 ]
289+ Expect (result .Layers ).To (HaveLen (2 ))
290+ pipLayer := result .Layers [0 ]
291+
292+ Expect (pipLayer .Name ).To (Equal ("pip" ))
293+
294+ Expect (pipLayer .Build ).To (BeTrue ())
295+ Expect (pipLayer .Launch ).To (BeFalse ())
296+ Expect (pipLayer .Cache ).To (BeTrue ())
297+
298+ pipSrcLayer := result .Layers [1 ]
266299
267- Expect (layer .Name ).To (Equal ("pip" ))
300+ Expect (pipSrcLayer .Name ).To (Equal ("pip-source " ))
268301
269- Expect (layer .Build ).To (BeTrue ())
270- Expect (layer .Launch ).To (BeFalse ())
271- Expect (layer .Cache ).To (BeTrue ())
302+ Expect (pipSrcLayer .Build ).To (BeTrue ())
303+ Expect (pipSrcLayer .Launch ).To (BeFalse ())
304+ Expect (pipSrcLayer .Cache ).To (BeTrue ())
272305
273306 Expect (buffer .String ()).ToNot (ContainSubstring ("Executing build process" ))
274307 Expect (buffer .String ()).To (ContainSubstring ("Reusing cached layer" ))
0 commit comments