yunojuno / django-juno-testrunner

A more useful (and slightly more glamorous) test runner for Django 1.6+ from the folks at YunoJuno
MIT License
7 stars 9 forks source link

Unicode cannot be written to test-failure log #11

Closed stevejalim closed 9 years ago

stevejalim commented 9 years ago

The output needs to be .decode("utf8")ed before written to the failure file, most likely

======================================================================
ERROR: test_submit_currency_symbol (yunojuno.apps.profiles.tests.test_profile.ProfileInfoUpdateFormTestCase)
Test that currency symbols are stripped.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 50, in run_from_argv
    super(Command, self).run_from_argv(argv)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 71, in execute
    super(Command, self).execute(*args, **options)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute
    output = self.handle(*args, **options)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/django/core/management/commands/test.py", line 88, in handle
    failures = test_runner.run_tests(test_labels)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/testrunner.py", line 28, in run_tests
    result = self.run_suite(suite)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/runner.py", line 28, in run_suite
    ).run(suite)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/extended_runner.py", line 365, in run
    stopTestRun()
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/extended_runner.py", line 311, in stopTestRun
    self.printErrors()
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/extended_runner.py", line 294, in printErrors
    self.printErrorList('ERROR', self.errors)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/extended_runner.py", line 299, in printErrorList
    self.printSingleError(flavour, test, err)
  File "/home/vagrant/.virtualenvs/yunojuno/local/lib/python2.7/site-packages/junorunner/extended_runner.py", line 307, in printSingleError
    self.stream.writeln("%s" % err)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 178: ordinal not in range(128)
stevejalim commented 9 years ago

Fixed in 21fb578cd4371b1c956271533b3ee456c54934c7