@@ -549,6 +549,7 @@ def check_version(self, required_version, msg=None):
549549
550550 return server_meet_version_and_raise (required_version , self , msg )
551551
552+
552553def _find_port_available_for_docker_bind (port ):
553554 run_cmd = "docker ps --all"
554555 process = subprocess .Popen (run_cmd , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
@@ -562,6 +563,7 @@ def _find_port_available_for_docker_bind(port):
562563 port += 1
563564 return port
564565
566+
565567def _run_launch_server_process (ansys_path , ip , port , docker_name ):
566568 if docker_name :
567569 docker_server_port = int (os .environ .get ("DOCKER_SERVER_PORT" , port ))
@@ -585,11 +587,13 @@ def _run_launch_server_process(ansys_path, ip, port, docker_name):
585587 docker_name ]
586588 else :
587589 if os .name == "nt" :
588- run_cmd = f"Ans.Dpf.Grpc.bat --address { ip } --port { port } "
590+ executable = "Ans.Dpf.Grpc.bat"
591+ run_cmd = f"{ executable } --address { ip } --port { port } "
589592 path_in_install = "aisol/bin/winx64"
590593 else :
591- run_cmd = ["./Ans.Dpf.Grpc.sh" , f"--address { ip } " , f"--port { port } " ]
592- path_in_install = "aisol/bin/linx64"
594+ executable = "./Ans.Dpf.Grpc.sh" # pragma: no cover
595+ run_cmd = [executable , f"--address { ip } " , f"--port { port } " ] # pragma: no cover
596+ path_in_install = "aisol/bin/linx64" # pragma: no cover
593597
594598 # verify ansys path is valid
595599 if os .path .isdir (f"{ str (ansys_path )} /{ path_in_install } " ):
@@ -600,15 +604,20 @@ def _run_launch_server_process(ansys_path, ip, port, docker_name):
600604 raise NotADirectoryError (
601605 f'Invalid ansys path at "{ str (ansys_path )} ". '
602606 "Unable to locate the directory containing DPF at "
603- f'"{ dpf_run_dir } "'
604- )
607+ f'"{ dpf_run_dir } "' )
608+ else :
609+ if not os .path .exists (os .path .join (dpf_run_dir , executable )):
610+ raise FileNotFoundError (
611+ f'DPF executable not found at "{ dpf_run_dir } ". '
612+ f'Unable to locate the executable "{ executable } "' )
605613
606614 old_dir = os .getcwd ()
607615 os .chdir (dpf_run_dir )
608616 process = subprocess .Popen (run_cmd , stdout = subprocess .PIPE , stderr = subprocess .PIPE )
609617 os .chdir (old_dir )
610618 return process
611619
620+
612621def launch_dpf (ansys_path , ip = LOCALHOST , port = DPF_DEFAULT_PORT , timeout = 10. , docker_name = None ):
613622 """Launch Ansys DPF.
614623
0 commit comments