Blender 5.1.2 #1
+25
-11
@@ -106,26 +106,40 @@ class BlenderDocker:
|
||||
print('\tSet Tags version and/or Latest')
|
||||
pass
|
||||
|
||||
def test(self):
|
||||
"""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."""
|
||||
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.
|
||||
Based on `docker run --rm stilobique/blender:5.1.2 ./blender --version`
|
||||
:return: True if no issue are returned
|
||||
"""
|
||||
logger = self._get_logger('test')
|
||||
try:
|
||||
print('Testing your Blender Docker image')
|
||||
logger.info('Testing your Blender Docker image')
|
||||
|
||||
print(f'Testing your Blender Docker image {self._docker_image_name}')
|
||||
logger.info(f'Testing your Blender Docker image {self._docker_image_name}.')
|
||||
|
||||
test = self._docker_client.containers.run(
|
||||
name=f"Blender-Docker-Testing-{self._blender_version.tag_name_slugify()}",
|
||||
image=self._docker_image_name,
|
||||
command=['./blender', '--version'],
|
||||
auto_remove = True,
|
||||
auto_remove=True,
|
||||
remove=True,
|
||||
detach=True,
|
||||
stdout=True
|
||||
stdout=True,
|
||||
stderr=True,
|
||||
stream=True,
|
||||
)
|
||||
|
||||
print(f'\tResult: {test.logs()}')
|
||||
|
||||
return True
|
||||
result = test.wait()
|
||||
exit_code = result.get('StatusCode')
|
||||
|
||||
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:
|
||||
print(f'Container error: {e}')
|
||||
|
||||
Reference in New Issue
Block a user