@@ -243,18 +243,24 @@ def create_test_pom(self, template, pom):
243
243
if "{graalpy-maven-plugin-version}" in line :
244
244
line = line .replace ("{graalpy-maven-plugin-version}" , self .graalvmVersion )
245
245
f .write (line )
246
-
246
+
247
+ def purge_local_repo (self , target_dir , resolve = True ):
248
+ if not skip_purge :
249
+ self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
250
+ if resolve :
251
+ cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
252
+ else :
253
+ cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
254
+ run_cmd (cmd , self .env , cwd = target_dir )
255
+
247
256
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
248
257
def test_generated_app (self ):
249
258
with tempfile .TemporaryDirectory () as tmpdir :
250
259
target_name = "generated_app_test"
251
260
target_dir = os .path .join (str (tmpdir ), target_name )
252
261
self .generate_app (tmpdir , target_dir , target_name )
253
-
254
- if not skip_purge :
255
- self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
256
- cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
257
- run_cmd (cmd , self .env , cwd = target_dir )
262
+ self .purge_local_repo (target_dir )
263
+
258
264
try :
259
265
# build
260
266
cmd = MVN_CMD + ["package" , "-Pnative" , "-DmainClass=it.pkg.GraalPy" ] #, f"-Dgraalpy.version={self.graalvmVersion}", "-Dgraalpy.edition=python-community"]
@@ -280,22 +286,16 @@ def test_generated_app(self):
280
286
out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
281
287
assert "hello java" in out
282
288
finally :
283
- if not skip_purge :
284
- cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
285
- run_cmd (cmd , self .env , cwd = target_dir )
289
+ self .purge_local_repo (target_dir , False )
286
290
287
291
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
288
292
def test_graalpy_exec (self ):
289
293
with tempfile .TemporaryDirectory () as tmpdir :
290
294
target_name = "graalpy_exec_test"
291
295
target_dir = os .path .join (str (tmpdir ), target_name )
292
296
self .generate_app (tmpdir , target_dir , target_name )
293
-
294
- # XXX - move to method
295
- if not skip_purge :
296
- self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
297
- cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
298
- run_cmd (cmd , self .env , cwd = target_dir )
297
+ self .purge_local_repo (target_dir )
298
+
299
299
try :
300
300
cmd = MVN_CMD + ["graalpy:exec" , "-Dexec.argc=2" , "-Dexec.arg1=-c" , "-Dexec.arg2=print(42, 'from python')" ]
301
301
out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
@@ -307,9 +307,7 @@ def test_graalpy_exec(self):
307
307
assert "from python via GRAAL_PYTHON_ARGS env var" in out
308
308
finally :
309
309
del self .env ["GRAAL_PYTHON_ARGS" ]
310
- if not skip_purge :
311
- cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
312
- run_cmd (cmd , self .env , cwd = target_dir )
310
+ self .purge_local_repo (target_dir , False )
313
311
314
312
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
315
313
def test_fail_without_graalpy_dep (self ):
@@ -318,7 +316,8 @@ def test_fail_without_graalpy_dep(self):
318
316
target_dir = os .path .join (str (tmpdir ), target_name )
319
317
pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/fail_without_graalpy_dep_pom.xml" )
320
318
self .generate_app (tmpdir , target_dir , target_name , pom_template )
321
-
319
+ self .purge_local_repo (target_dir )
320
+
322
321
if not skip_purge :
323
322
self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
324
323
cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
@@ -329,9 +328,7 @@ def test_fail_without_graalpy_dep(self):
329
328
assert "Missing GraalPy dependency org.graalvm.python:python-language" in out
330
329
331
330
finally :
332
- if not skip_purge :
333
- cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
334
- run_cmd (cmd , self .env , cwd = target_dir )
331
+ self .purge_local_repo (target_dir , False )
335
332
336
333
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
337
334
def test_gen_launcher_and_venv (self ):
@@ -340,10 +337,8 @@ def test_gen_launcher_and_venv(self):
340
337
target_dir = os .path .join (str (tmpdir ), target_name )
341
338
pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/prepare_venv_pom.xml" )
342
339
self .generate_app (tmpdir , target_dir , target_name , pom_template )
343
- if not skip_purge :
344
- self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
345
- cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
346
- run_cmd (cmd , self .env , cwd = target_dir )
340
+ self .purge_local_repo (target_dir )
341
+
347
342
try :
348
343
cmd = MVN_CMD + ["-X" , "process-resources" ]
349
344
out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
@@ -361,9 +356,7 @@ def test_gen_launcher_and_venv(self):
361
356
assert "termcolor" not in out
362
357
363
358
finally :
364
- if not skip_purge :
365
- cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
366
- run_cmd (cmd , self .env , cwd = target_dir )
359
+ self .purge_local_repo (target_dir , False )
367
360
368
361
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
369
362
def test_check_home (self ):
@@ -372,11 +365,7 @@ def test_check_home(self):
372
365
target_dir = os .path .join (str (tmpdir ), target_name )
373
366
pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/check_home_pom.xml" )
374
367
self .generate_app (tmpdir , target_dir , target_name , pom_template )
375
-
376
- if not skip_purge :
377
- self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
378
- cmd = MVN_CMD + ["dependency:purge-local-repository" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
379
- run_cmd (cmd , self .env , cwd = target_dir )
368
+ self .purge_local_repo (target_dir )
380
369
381
370
try :
382
371
cmd = MVN_CMD + ["-X" , "process-resources" ]
@@ -394,9 +383,7 @@ def test_check_home(self):
394
383
assert line .endswith ("/__init__.py" )
395
384
assert not line .endswith ("html/__init__.py" )
396
385
finally :
397
- if not skip_purge :
398
- cmd = MVN_CMD + ["dependency:purge-local-repository" , "-DreResolve=false" , f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ]
399
- run_cmd (cmd , self .env , cwd = target_dir )
386
+ self .purge_local_repo (target_dir , False )
400
387
401
388
@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
402
389
def test_native_executable_one_file ():
0 commit comments