@@ -243,18 +243,24 @@ def create_test_pom(self, template, pom):
243243 if "{graalpy-maven-plugin-version}" in line :
244244 line = line .replace ("{graalpy-maven-plugin-version}" , self .graalvmVersion )
245245 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+
247256 @unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
248257 def test_generated_app (self ):
249258 with tempfile .TemporaryDirectory () as tmpdir :
250259 target_name = "generated_app_test"
251260 target_dir = os .path .join (str (tmpdir ), target_name )
252261 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+
258264 try :
259265 # build
260266 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):
280286 out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
281287 assert "hello java" in out
282288 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 )
286290
287291 @unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
288292 def test_graalpy_exec (self ):
289293 with tempfile .TemporaryDirectory () as tmpdir :
290294 target_name = "graalpy_exec_test"
291295 target_dir = os .path .join (str (tmpdir ), target_name )
292296 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+
299299 try :
300300 cmd = MVN_CMD + ["graalpy:exec" , "-Dexec.argc=2" , "-Dexec.arg1=-c" , "-Dexec.arg2=print(42, 'from python')" ]
301301 out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
@@ -307,9 +307,7 @@ def test_graalpy_exec(self):
307307 assert "from python via GRAAL_PYTHON_ARGS env var" in out
308308 finally :
309309 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 )
313311
314312 @unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
315313 def test_fail_without_graalpy_dep (self ):
@@ -318,7 +316,8 @@ def test_fail_without_graalpy_dep(self):
318316 target_dir = os .path .join (str (tmpdir ), target_name )
319317 pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/fail_without_graalpy_dep_pom.xml" )
320318 self .generate_app (tmpdir , target_dir , target_name , pom_template )
321-
319+ self .purge_local_repo (target_dir )
320+
322321 if not skip_purge :
323322 self .env ["MVN" ] = " " .join (MVN_CMD + [f"-Dgraalpy.version={ self .graalvmVersion } " , "-Dgraalpy.edition=python-community" ])
324323 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):
329328 assert "Missing GraalPy dependency org.graalvm.python:python-language" in out
330329
331330 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 )
335332
336333 @unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
337334 def test_gen_launcher_and_venv (self ):
@@ -340,10 +337,8 @@ def test_gen_launcher_and_venv(self):
340337 target_dir = os .path .join (str (tmpdir ), target_name )
341338 pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/prepare_venv_pom.xml" )
342339 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+
347342 try :
348343 cmd = MVN_CMD + ["-X" , "process-resources" ]
349344 out , return_code = run_cmd (cmd , self .env , cwd = target_dir )
@@ -361,9 +356,7 @@ def test_gen_launcher_and_venv(self):
361356 assert "termcolor" not in out
362357
363358 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 )
367360
368361 @unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
369362 def test_check_home (self ):
@@ -372,11 +365,7 @@ def test_check_home(self):
372365 target_dir = os .path .join (str (tmpdir ), target_name )
373366 pom_template = os .path .join (os .path .dirname (__file__ ), "embedding/check_home_pom.xml" )
374367 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 )
380369
381370 try :
382371 cmd = MVN_CMD + ["-X" , "process-resources" ]
@@ -394,9 +383,7 @@ def test_check_home(self):
394383 assert line .endswith ("/__init__.py" )
395384 assert not line .endswith ("html/__init__.py" )
396385 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 )
400387
401388@unittest .skipUnless (is_enabled , "ENABLE_STANDALONE_UNITTESTS is not true" )
402389def test_native_executable_one_file ():
0 commit comments