From 968b02f8f0f5170d6ec69bca9d92b2c281417782 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Thu, 10 Sep 2015 18:05:15 +0200 Subject: [PATCH] Refs #20461 -- Made tblib optional for a passing test run. This was the original intent. --- django/test/runner.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/django/test/runner.py b/django/test/runner.py index 8b4e328543..487f61827b 100644 --- a/django/test/runner.py +++ b/django/test/runner.py @@ -171,7 +171,14 @@ failure and get a correct traceback. self.events.append(('addSkip', self.test_index, reason)) def addExpectedFailure(self, test, err): - self.check_pickleable(test, err) + # If tblib isn't installed, pickling the traceback will always fail. + # However we don't want tblib to be required for running the tests + # when they pass or fail as expected. Drop the traceback when an + # expected failure occurs. + if tblib is None: + err = err[0], err[1], None + else: + self.check_pickleable(test, err) self.events.append(('addExpectedFailure', self.test_index, err)) def addUnexpectedSuccess(self, test):