• 
      

    Add pytest mode to djblets.testing.testrunners.TestRunner.

    Review Request #13075 — Created May 30, 2023 and submitted

    Information

    Djblets
    release-4.x

    Reviewers

    We've mostly phased out nose from our own usage, but it's still being
    used for the extension test runner. The behavior is different enough
    that we need a transition period to move people over.

    In most cases, once extensions are configured in a way to make use of
    pytest, they'll be able to just run pytest instead of rbext test,
    but we also want latter to continue to exist.

    This change adds a mode to the TestRunner to use pytest instead of nose.
    That can be opted into for now, and in a future version we'll switch it
    over and remove the nose mode.

    Ran rbintegrations tests via pytest and our test runner.

    Summary ID
    Add pytest mode to djblets.testing.testrunners.TestRunner.
    We've mostly phased out nose from our own usage, but it's still being used for the extension test runner. The behavior is different enough that we need a transition period to move people over. In most cases, once extensions are configured in a way to make use of pytest, they'll be able to just run `pytest` instead of `rbext test`, but we also want latter to continue to exist. This change adds a mode to the TestRunner to use pytest instead of nose. That can be opted into for now, and in a future version we'll switch it over and remove the nose mode. Testing Done: Ran rbintegrations tests via pytest and our test runner.
    40f67ca4d0ec8fc94dc1f95cc38c03737b921db5
    Description From Last Updated

    Let's make both of these conditional. An extension may not have either of these installed, or may have only one …

    chipx86chipx86

    This needs a Version Added.

    chipx86chipx86

    This needs a Version Added.

    chipx86chipx86

    Parameters should start on the next line, indented one level. Function should have -> None at the end.

    chipx86chipx86

    Missing : bool. Otherwise this is Literal[False].

    chipx86chipx86

    And pytest_options.

    chipx86chipx86

    Both of these should have Version Added.

    chipx86chipx86

    No pass here.

    chipx86chipx86

    str, not unicode.

    chipx86chipx86
    chipx86
    1. 
        
    2. djblets/testing/testrunners.py (Diff revision 1)
       
       
       
      Show all issues

      Let's make both of these conditional. An extension may not have either of these installed, or may have only one as we transition.

    3. djblets/testing/testrunners.py (Diff revision 1)
       
       
       
       
       
      Show all issues

      This needs a Version Added.

    4. djblets/testing/testrunners.py (Diff revision 1)
       
       
      Show all issues

      This needs a Version Added.

    5. djblets/testing/testrunners.py (Diff revision 1)
       
       
       
       
       
       
       
       
       
      Show all issues

      Parameters should start on the next line, indented one level. Function should have -> None at the end.

    6. djblets/testing/testrunners.py (Diff revision 1)
       
       
      Show all issues

      Missing : bool. Otherwise this is Literal[False].

    7. djblets/testing/testrunners.py (Diff revision 1)
       
       
      Show all issues

      And pytest_options.

    8. djblets/testing/testrunners.py (Diff revision 1)
       
       
       
       
       
       
       
       
      Show all issues

      Both of these should have Version Added.

    9. djblets/testing/testrunners.py (Diff revision 1)
       
       
      Show all issues

      No pass here.

    10. djblets/testing/testrunners.py (Diff revision 1)
       
       
       
       
       
       
       
      Show all issues

      str, not unicode.

    11. 
        
    david
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-4.x (38ab901)