ソースを参照

test: Check exit status in run_and_log_expect_exception()

This check was missed. Add it and make the message more verbose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Tom Rini <trini@konsulko.com>
Fixes: 9e17b034 (test/py: Provide a way to check that a command fails)
Simon Glass 8 年 前
コミット
7f64b1874c
2 ファイル変更5 行追加1 行削除
  1. 2 0
      test/py/multiplexed_log.py
  2. 3 1
      test/py/u_boot_utils.py

+ 2 - 0
test/py/multiplexed_log.py

@@ -102,6 +102,7 @@ class RunAndLog(object):
         self.name = name
         self.chained_file = chained_file
         self.output = None
+        self.exit_status = None
 
     def close(self):
         """Clean up any resources managed by this object."""
@@ -166,6 +167,7 @@ class RunAndLog(object):
 
         # Store the output so it can be accessed if we raise an exception.
         self.output = output
+        self.exit_status = exit_status
         if exception:
             raise exception
         return output

+ 3 - 1
test/py/u_boot_utils.py

@@ -201,9 +201,11 @@ def run_and_log_expect_exception(u_boot_console, cmd, retcode, msg):
         runner = u_boot_console.log.get_runner(cmd[0], sys.stdout)
         runner.run(cmd)
     except Exception as e:
+        assert(retcode == runner.exit_status)
         assert(msg in runner.output)
     else:
-        raise Exception('Expected exception, but not raised')
+        raise Exception("Expected an exception with retcode %d message '%s',"
+                        "but it was not raised" % (retcode, msg))
     finally:
         runner.close()