• 
      

    Add new rbext options for specifying app labels and extensions.

    Review Request #11428 — Created Feb. 3, 2021 and submitted

    Information

    Review Board
    release-4.0.x

    Reviewers

    rbext historically required a -m parameter to specify modules in the
    extension to test, but this wasn't always sufficient. Module names were
    just passed to nosetests, and didn't impact the list of installed
    apps, meaning that referenced models would fail to import.

    To address this, and to simplify usage, there are two new options:

    • -e/--extension takes a full class path, importing it to find the
      list of installed apps, which will be added to Django. This doesn't
      currently support extension dependencies, but it's not clear that
      anyone has ever used this feature anyway.

    • --app can be specified multiple times. It takes an app label that
      gets added to Django.

    This massively simplifies the ease of use of rbext, and removes almost
    all need for a custom settings_local.py file.

    Tested rbext test with the rbintegrations and Power Pack codebases,
    utilizing both -e and --app. All tests passed without the need for a
    custom settings_local.py.

    Summary ID
    Add new rbext options for specifying app labels and extensions.
    `rbext` historically required a `-m` parameter to specify modules in the extension to test, but this wasn't always sufficient. Module names were just passed to `nosetests`, and didn't impact the list of installed apps, meaning that referenced models would fail to import. To address this, and to simplify usage, there are two new options: * `-e`/`--extension` takes a full class path, importing it to find the list of installed apps, which will be added to Django. This doesn't currently support extension dependencies, but it's not clear that anyone has ever used this feature anyway. * `--app` can be specified multiple times. It takes an app label that gets added to Django. This massively simplifies the ease of use of `rbext`, and removes almost all need for a custom `settings_local.py` file.
    750261fbbef1149b82b6e52f59bcb467d313bcb3
    Description From Last Updated

    This reads a little weird, and I think suggesting the long option would be more self-explanatory. Maybe "You may want …

    daviddavid
    david
    1. 
        
    2. reviewboard/cmdline/rbext.py (Diff revision 1)
       
       
      Show all issues

      This reads a little weird, and I think suggesting the long option would be more self-explanatory. Maybe "You may want to use --extension instead"?

    3. 
        
    chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (257a233)