Salome HOME
sat job: catch the error if one of the commands crashes
authorSerge Rehbinder <serge.rehbinder@cea.fr>
Wed, 7 Sep 2016 09:36:27 +0000 (11:36 +0200)
committerSerge Rehbinder <serge.rehbinder@cea.fr>
Wed, 7 Sep 2016 09:36:27 +0000 (11:36 +0200)
commands/job.py

index d140531b366b8e7b49b93b90ceaaa44d56a992df..e78a298bbd145e67cf9bd5de0c9b92d31852bb41 100644 (file)
@@ -116,18 +116,26 @@ def run(args, runner, logger):
                      src.printcolors.printcLabel(command) + " ", 3)
         logger.write("." * (len_max_command - len(command)) + " ", 3)
         logger.flush()
-        # Execute the command
-        code = sat_command(end_cmd,
-                           batch = True,
-                           verbose = 0,
-                           logger_add_link = logger)
+        
+        error = ""
+        try:
+            # Execute the command
+            code = sat_command(end_cmd,
+                               batch = True,
+                               verbose = 0,
+                               logger_add_link = logger)
+        except Exception as e:
+            code = 1
+            error = str(e)
+
         # Print the status of the command
         if code == 0:
             nb_pass += 1
             logger.write('%s\n' % src.printcolors.printc(src.OK_STATUS), 3)
         else:
             res = 1
-            logger.write('%s\n' % src.printcolors.printc(src.KO_STATUS), 3)
+            logger.write('%s %s\n' % (src.printcolors.printc(src.KO_STATUS),
+                                      error), 3)
     
     # Print the final state
     if res == 0: