diff options
| author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-06-10 12:34:12 +0300 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-15 08:35:06 +0100 |
| commit | aa6894a4369dbbd032a98bfe43b285111261efa9 (patch) | |
| tree | 2fe0bb1b09d1fe1551899bfdbf324c75370fac45 /bitbake/lib/toaster/contrib | |
| parent | eb634f9e13ade09b4fc7d69801f4d9e21ef03db1 (diff) | |
| download | poky-aa6894a4369dbbd032a98bfe43b285111261efa9.tar.gz | |
bitbake: toaster: fix wrong usage of print_exc and format_exc
First parameter of traceback.print_exc and traceback.format_exc APIs is
a 'limit' - a number of stracktraces to print.
Passing exception object to print_exc or format_exc is incorrect, but
it works in Python 2 and causes printing only one line of traceback.
In Python 3 comparison of integer and exception object throws exception:
TypeError: unorderable types: int() < <Exception type>()
As these APIs are usually used in except block of handling another
exception this can cause hard to find and debug bugs.
(Bitbake rev: c5a48931ac8db9e56f978c50861c19d0d0c808e3)
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/toaster/contrib')
| -rwxr-xr-x | bitbake/lib/toaster/contrib/tts/runner.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/toaster/contrib/tts/runner.py b/bitbake/lib/toaster/contrib/tts/runner.py index bed665196e..d01386acfa 100755 --- a/bitbake/lib/toaster/contrib/tts/runner.py +++ b/bitbake/lib/toaster/contrib/tts/runner.py | |||
| @@ -146,7 +146,7 @@ def execute_tests(dir_under_test, testname): | |||
| 146 | 146 | ||
| 147 | except Exception as exc: | 147 | except Exception as exc: |
| 148 | import traceback | 148 | import traceback |
| 149 | config.logger.error("Exception while running test. Tracedump: \n%s", traceback.format_exc(exc)) | 149 | config.logger.error("Exception while running test. Tracedump: \n%s", traceback.format_exc()) |
| 150 | finally: | 150 | finally: |
| 151 | os.chdir(crt_dir) | 151 | os.chdir(crt_dir) |
| 152 | return len(result.failures) | 152 | return len(result.failures) |
| @@ -211,7 +211,7 @@ def main(): | |||
| 211 | 211 | ||
| 212 | except ShellCmdException as exc: | 212 | except ShellCmdException as exc: |
| 213 | import traceback | 213 | import traceback |
| 214 | config.logger.error("Error while setting up testing. Traceback: \n%s", traceback.format_exc(exc)) | 214 | config.logger.error("Error while setting up testing. Traceback: \n%s", traceback.format_exc()) |
| 215 | finally: | 215 | finally: |
| 216 | if need_cleanup and testdir is not None: | 216 | if need_cleanup and testdir is not None: |
| 217 | clean_up(testdir) | 217 | clean_up(testdir) |
