torproject / stem

Python controller library for Tor
https://stem.torproject.org/
GNU Lesser General Public License v3.0
257 stars 75 forks source link

fix: fix regex and update authority URL #135

Closed PascalinDe closed 8 months ago

PascalinDe commented 11 months ago

closes #134

PascalinDe commented 11 months ago

Hi @atagar, is this PR OK? the unit test output is the same as on the current master HEAD for me, I'm currently looking into how to run the integration tests

atagar commented 11 months ago

Hi Carine. These look good to me but I didn't check the tests. Your other pull request is built on top of this so I figured it would be simpler to discuss it there.

PascalinDe commented 11 months ago

hi Damian, I rebased the other PR so that this one can be evaluated independently

while doing so, I found that this PR actually does break a test, just a test that was already failing, meaning it now fails in a different way

on the master branch, the output is

File "stem/descriptor/remote.py", line 787, in remote.py
Failed example:
    my_router_status_entry = list(filter(lambda desc: desc.nickname == 'caersidi', consensus))[0]
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/lib/python3.11/doctest.py", line 1351, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest remote.py[2]>", line 1, in <module>
        my_router_status_entry = list(filter(lambda desc: desc.nickname == 'caersidi', consensus))[0]
                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
    IndexError: list index out of range

whereas on this branch

File "stem/descriptor/remote.py", line 787, in remote.py
Failed example:
    my_router_status_entry = list(filter(lambda desc: desc.nickname == 'caersidi', consensus))[0]
Exception raised:
    Traceback (most recent call last):
      File "/usr/local/lib/python3.11/doctest.py", line 1351, in __run
        exec(compile(example.source, filename, "single",
      File "<doctest remote.py[2]>", line 1, in <module>
        my_router_status_entry = list(filter(lambda desc: desc.nickname == 'caersidi', consensus))[0]
                                                                                       ^^^^^^^^^
    NameError: name 'consensus' is not defined

this is only the case for Python 3.11; for 3.8, 3.9 and 3.10 the error is the same for both branches, I'm looking into it

the rest of the unit tests have the same output, I could not yet get the integration tests to run

PascalinDe commented 11 months ago

same results on both master and this branch for the integration tests

PascalinDe commented 11 months ago

didn't take into account that the GitLab URL might change, using the 'Permalink' URL for the moment...

I'll put this back into 'Draft' state until I figure out what the proper GitLab URL is to follow the new releases but not break (as the one I used before did), since I guess that the 'Permalink' URL points to a specific revision

OK, fixed the URL, sorry for the confusion

testing on our fork right now, I'll leave it as 'Draft' until I'm done with the tests

PascalinDe commented 11 months ago
PascalinDe commented 8 months ago

rebased the PR to the current HEAD