Blender 5.1.2 #1
+25
-11
@@ -106,26 +106,40 @@ class BlenderDocker:
|
|||||||
print('\tSet Tags version and/or Latest')
|
print('\tSet Tags version and/or Latest')
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def test(self):
|
def test(self) -> bool:
|
||||||
"""This method request an image (call the method build before) and try to execute the blender inside the container to check if the program can be correctly executed."""
|
"""
|
||||||
|
This method request an image (call the method build before) and try to execute the blender inside the container
|
||||||
|
to check if the program can be correctly executed.
|
||||||
|
Based on `docker run --rm stilobique/blender:5.1.2 ./blender --version`
|
||||||
|
:return: True if no issue are returned
|
||||||
|
"""
|
||||||
logger = self._get_logger('test')
|
logger = self._get_logger('test')
|
||||||
try:
|
try:
|
||||||
print('Testing your Blender Docker image')
|
print(f'Testing your Blender Docker image {self._docker_image_name}')
|
||||||
logger.info('Testing your Blender Docker image')
|
logger.info(f'Testing your Blender Docker image {self._docker_image_name}.')
|
||||||
|
|
||||||
test = self._docker_client.containers.run(
|
test = self._docker_client.containers.run(
|
||||||
name=f"Blender-Docker-Testing-{self._blender_version.tag_name_slugify()}",
|
name=f"Blender-Docker-Testing-{self._blender_version.tag_name_slugify()}",
|
||||||
image=self._docker_image_name,
|
image=self._docker_image_name,
|
||||||
command=['./blender', '--version'],
|
command=['./blender', '--version'],
|
||||||
auto_remove = True,
|
auto_remove=True,
|
||||||
remove=True,
|
remove=True,
|
||||||
detach=True,
|
detach=True,
|
||||||
stdout=True
|
stdout=True,
|
||||||
|
stderr=True,
|
||||||
|
stream=True,
|
||||||
)
|
)
|
||||||
|
result = test.wait()
|
||||||
print(f'\tResult: {test.logs()}')
|
exit_code = result.get('StatusCode')
|
||||||
|
|
||||||
return True
|
logger.info(f'Exit code return: {exit_code}')
|
||||||
|
logger.info(test.logs(stdout=True, stderr=True).decode('utf-8', errors='replace').strip())
|
||||||
|
|
||||||
|
if exit_code == 0:
|
||||||
|
return True
|
||||||
|
|
||||||
|
print(f'Testing your Blender Docker image {self._docker_image_name} failed.')
|
||||||
|
return False
|
||||||
|
|
||||||
except ContainerError as e:
|
except ContainerError as e:
|
||||||
print(f'Container error: {e}')
|
print(f'Container error: {e}')
|
||||||
|
|||||||
Reference in New Issue
Block a user