#32398 closed defect (fixed)

Stem str/bytes confusion on error

Reported by: teor Owned by: atagar
Priority: Medium Milestone:
Component: Archived/Stem Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


The test error is tor's problem, but the exception at the end should be fixed in stem:

FAIL: test_take_ownership_via_controller
Traceback (most recent call last):
  File "/home/dev/stem/stem/util/test_tools.py", line 152, in <lambda>
    self.method = lambda test: self.result(test)  # method that can be mixed into TestCases
  File "/home/dev/stem/stem/util/test_tools.py", line 227, in result
AssertionError: Traceback (most recent call last):
  File "/home/dev/stem/stem/util/test_tools.py", line 169, in _wrapper
    runner(*args) if args else runner()
  File "/home/dev/stem/test/integ/process.py", line 641, in test_take_ownership_via_controller
    take_ownership = True,
  File "/home/dev/stem/stem/process.py", line 285, in launch_tor_with_config
    return launch_tor(tor_cmd, ['-f', '-'], None, completion_percent, init_msg_handler, timeout, take_ownership, close_output, stdin = config_str)
  File "/home/dev/stem/stem/process.py", line 158, in launch_tor
    raise OSError('Process terminated: %s' % last_problem)
OSError: Process terminated: Failed to bind one of the listener ports.

Ran 22 tests in 10.048s

FAILED (failures=1)

Shutting down tor... done

Traceback (most recent call last):
  File "/home/dev/stem/run_tests.py", line 468, in <module>
  File "/home/dev/stem/run_tests.py", line 304, in main
    if not integ_runner.assert_tor_is_running():
  File "/home/dev/stem/test/runner.py", line 507, in assert_tor_is_running
    process_output = (self._tor_process.stdout.read() + '\n\n' + self._tor_process.stderr.read()).strip()
TypeError: can't concat str to bytes
make: *** [Makefile:24019: test-stem] Error 1
Exit 2

Child Tickets

Change History (3)

comment:1 Changed 12 months ago by ltbringer

How can one reproduce this? I tried running the tests on stem and I don't see this particular test failing.

comment:2 Changed 12 months ago by teor

You need to make test_take_ownership_via_controller fail, and be running python 3.

One way to make test_take_ownership_via_controller fail is to run the stem tests with tor that has #32339 and #32344, but not #32399.

comment:3 Changed 12 months ago by atagar

Resolution: fixed
Status: newclosed

Thanks teor! Reproed this by killing the tor process during our integ tests. Fixed.

Note: See TracTickets for help on using tickets.