Hello community, here is the log from the commit of package python-nox for openSUSE:Factory checked in at 2020-03-30 23:04:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nox (Old) and /work/SRC/openSUSE:Factory/.python-nox.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nox" Mon Mar 30 23:04:47 2020 rev:3 rq:789709 version:2019.11.9 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nox/python-nox.changes 2019-10-17 12:21:44.895253731 +0200 +++ /work/SRC/openSUSE:Factory/.python-nox.new.3160/python-nox.changes 2020-03-30 23:04:54.388227892 +0200 @@ -1,0 +2,17 @@ +Mon Mar 30 10:05:56 UTC 2020 - [email protected] + +- version update to 2019.11.9 + - Fix example installation call for pip. (#259) + - Allow colorlog 4. (#257) + - Order Pythons in descending version in `appveyor.yml`. (#258) + - Add link to GitHub Action for Nox. (#255) + - Use double "\`" for inline code. (#254) + - Add types to `_option_set.py`. (#249) + - Add type hints to `tasks.py`. (#241) + - Fix typo (virtulenvs). (#247) + - Replace flake8 sorter with isort. (#242) + - Pass `VIRTUAL_ENV` environment variable to commands executed in a virtualenv. (#245) + - Fix docs to show correct list for parametrize. (#244) + - Add argcomplete dependency to conda test session. (#240) + +------------------------------------------------------------------- Old: ---- nox-2019.8.20.tar.gz New: ---- nox-2019.11.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nox.spec ++++++ --- /var/tmp/diff_new_pack.Pi2jfk/_old 2020-03-30 23:04:56.128228883 +0200 +++ /var/tmp/diff_new_pack.Pi2jfk/_new 2020-03-30 23:04:56.132228886 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-nox # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-nox -Version: 2019.8.20 +Version: 2019.11.9 Release: 0 Summary: Flexible test automation License: Apache-2.0 @@ -33,6 +33,7 @@ Requires: python-argcomplete >= 1.9.4 Requires: python-colorlog >= 2.6.1 Requires: python-py >= 1.4.0 +Requires: python-setuptools Requires: python-virtualenv >= 14.0.0 Suggests: python-Jinja2 Suggests: python-tox ++++++ nox-2019.8.20.tar.gz -> nox-2019.11.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/CHANGELOG.md new/nox-2019.11.9/CHANGELOG.md --- old/nox-2019.8.20/CHANGELOG.md 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/CHANGELOG.md 2019-11-10 06:36:06.000000000 +0100 @@ -1,5 +1,20 @@ # Changelog +## 2019.11.4 + +- Fix example installation call for pip. (#259) +- Allow colorlog 4. (#257) +- Order Pythons in descending version in `appveyor.yml`. (#258) +- Add link to GitHub Action for Nox. (#255) +- Use double "\`" for inline code. (#254) +- Add types to `_option_set.py`. (#249) +- Add type hints to `tasks.py`. (#241) +- Fix typo (virtulenvs). (#247) +- Replace flake8 sorter with isort. (#242) +- Pass `VIRTUAL_ENV` environment variable to commands executed in a virtualenv. (#245) +- Fix docs to show correct list for parametrize. (#244) +- Add argcomplete dependency to conda test session. (#240) + ## 2019.8.20 - Add `--verbose` for showing the output from all commands. (#174) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/appveyor.yml new/nox-2019.11.9/appveyor.yml --- old/nox-2019.8.20/appveyor.yml 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/appveyor.yml 2019-11-10 06:36:06.000000000 +0100 @@ -10,22 +10,6 @@ # a later point release. # See: http://www.appveyor.com/docs/installed-software#python - - PYTHON: "C:\\Python35" - CONDA: "C:\\Miniconda35" - NOX_SESSION: "tests-3.5" - - - PYTHON: "C:\\Python35-x64" - CONDA: "C:\\Miniconda35-x64" - NOX_SESSION: "tests-3.5" - - - PYTHON: "C:\\Python36" - CONDA: "C:\\Miniconda36" - NOX_SESSION: "tests-3.6" - - - PYTHON: "C:\\Python36-x64" - CONDA: "C:\\Miniconda36-x64" - NOX_SESSION: "tests-3.6" - - PYTHON: "C:\\Python37" # Python 3.7 conda installation appears to be broken on Appveyor: # TypeError: LoadLibrary() argument 1 must be str, not None @@ -38,6 +22,22 @@ CONDA: "C:\\Miniconda36-x64" NOX_SESSION: "tests-3.7" + - PYTHON: "C:\\Python36" + CONDA: "C:\\Miniconda36" + NOX_SESSION: "tests-3.6" + + - PYTHON: "C:\\Python36-x64" + CONDA: "C:\\Miniconda36-x64" + NOX_SESSION: "tests-3.6" + + - PYTHON: "C:\\Python35" + CONDA: "C:\\Miniconda35" + NOX_SESSION: "tests-3.5" + + - PYTHON: "C:\\Python35-x64" + CONDA: "C:\\Miniconda35-x64" + NOX_SESSION: "tests-3.5" + install: # Add conda command to path. # https://www.tjelvarolsson.com/blog/how-to-continuously-test-your-python-code-on-windows-using-appveyor/ @@ -65,7 +65,7 @@ # compiled extensions and are not provided as pre-built wheel packages, # pip will build them from source using the MSVC compiler matching the # target Python version and architecture - - "pip install wheel" + - "python -m pip install wheel" # init: # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) @@ -74,7 +74,7 @@ # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) build_script: - - "pip install ." + - "python -m pip install ." test_script: # Run the project tests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/docs/config.rst new/nox-2019.11.9/docs/config.rst --- old/nox-2019.8.20/docs/config.rst 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/docs/config.rst 2019-11-10 06:36:06.000000000 +0100 @@ -4,7 +4,7 @@ Noxfile ------- -Nox looks for configuration in a file named `noxfile.py` by default. You can specify +Nox looks for configuration in a file named ``noxfile.py`` by default. You can specify a different file using the ``--noxfile`` argument when running ``nox``. @@ -245,10 +245,10 @@ .. code-block:: console - * tests(django='1.9', database='postgres') - * tests(django='2.0', database='mysql') - * tests(django='1.9', database='postgres') - * tests(django='2.0', database='mysql') + * tests(database='postgres', django='1.9') + * tests(database='mysql', django='1.9') + * tests(database='postgres', django='2.0') + * tests(database='mysql', django='2.0') If you only want to run one of the parametrized sessions, see :ref:`running_paramed_sessions`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/docs/tutorial.rst new/nox-2019.11.9/docs/tutorial.rst --- old/nox-2019.8.20/docs/tutorial.rst 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/docs/tutorial.rst 2019-11-10 06:36:06.000000000 +0100 @@ -11,7 +11,7 @@ .. code-block:: console - python3 -m install nox + python3 -m pip install nox You may want to use the `user site`_ to avoid messing with your global Python install: @@ -29,12 +29,15 @@ If you're interested in running ``nox`` within `docker`_, you can use the `thekevjames/nox images`_ on DockerHub which contain builds for all ``nox`` versions and all supported ``python`` versions. +If you want to run ``nox`` within `GitHub Actions`_, you can use the `excitedleigh/setup-nox action`_, which installs the latest ``nox`` and makes available all Python versions provided by the GitHub Actions environment. + .. _pip: https://pip.readthedocs.org .. _user site: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site .. _pipx: https://packaging.python.org/guides/installing-stand-alone-command-line-tools/ .. _docker: https://www.docker.com/ .. _thekevjames/nox images: https://hub.docker.com/r/thekevjames/nox - +.. _GitHub Actions: https://github.com/features/actions +.. _excitedleigh/setup-nox action: https://github.com/marketplace/actions/setup-nox Writing the configuration file ------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/docs/usage.rst new/nox-2019.11.9/docs/usage.rst --- old/nox-2019.8.20/docs/usage.rst 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/docs/usage.rst 2019-11-10 06:36:06.000000000 +0100 @@ -36,7 +36,7 @@ Running all sessions -------------------- -You can run every session by just executing `nox` without any arguments: +You can run every session by just executing ``nox`` without any arguments: .. code-block:: console @@ -177,7 +177,7 @@ Skipping everything but install commands ---------------------------------------- -There are a couple of cases where it makes sense to have Nox only run ``install`` commands, such as preparing an environment for offline testing or re-creating the same virtulenvs used for testing. You can use ``--install-only`` to skip ``run`` commands. +There are a couple of cases where it makes sense to have Nox only run ``install`` commands, such as preparing an environment for offline testing or re-creating the same virtualenvs used for testing. You can use ``--install-only`` to skip ``run`` commands. For example, given this Noxfile: @@ -264,8 +264,8 @@ Controling commands verbosity ----------------------------- -By default, Nox will only show output of commands that fail, or, when the commands get passed `silent=False`. -By passing `--verbose` to Nox, all output of all commands run is shown, regardless of the silent argument. +By default, Nox will only show output of commands that fail, or, when the commands get passed ``silent=False``. +By passing ``--verbose`` to Nox, all output of all commands run is shown, regardless of the silent argument. Outputting a machine-readable report @@ -356,4 +356,4 @@ .. code-block:: console - register-python-argcomplete --shell fish nox | . \ No newline at end of file + register-python-argcomplete --shell fish nox | . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/__main__.py new/nox-2019.11.9/nox/__main__.py --- old/nox-2019.8.20/nox/__main__.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/__main__.py 2019-11-10 06:36:06.000000000 +0100 @@ -23,9 +23,7 @@ import pkg_resources -from nox import _options -from nox import tasks -from nox import workflow +from nox import _options, tasks, workflow from nox.logger import setup_logging diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/_option_set.py new/nox-2019.11.9/nox/_option_set.py --- old/nox-2019.8.20/nox/_option_set.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/_option_set.py 2019-11-10 06:36:06.000000000 +0100 @@ -20,12 +20,11 @@ import argparse import collections import functools +from argparse import ArgumentError, ArgumentParser, Namespace, _ArgumentGroup +from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union import argcomplete # type: ignore -Namespace = argparse.Namespace -ArgumentError = argparse.ArgumentError - class Option: """A single option that can be specified via command-line or configuration @@ -60,20 +59,20 @@ def __init__( self, - name, + name: str, *flags, - help=None, - group=None, - noxfile=False, - merge_func=None, - finalizer_func=None, - default=None, - hidden=False, - completer=None, + help: str = None, + group: str = None, + noxfile: bool = False, + merge_func: Callable[[Namespace, Namespace], Any] = None, + finalizer_func: Callable[[Any, Namespace], Any] = None, + default: Union[Any, Callable[[], Any]] = None, + hidden: bool = False, + completer: Callable[..., List[str]] = None, **kwargs - ): + ) -> None: self.name = name - self.flags = flags + self.flags = flags # type: Sequence[str] self.help = help self.group = group self.noxfile = noxfile @@ -81,17 +80,22 @@ self.finalizer_func = finalizer_func self.hidden = hidden self.completer = completer - self.kwargs = kwargs + self.kwargs = kwargs # type: Dict[str, Any] self._default = default @property - def default(self): + def default(self) -> Optional[Union[bool, str]]: if callable(self._default): return self._default() return self._default -def flag_pair_merge_func(enable_name, disable_name, command_args, noxfile_args): +def flag_pair_merge_func( + enable_name: str, + disable_name: str, + command_args: Namespace, + noxfile_args: Namespace, +) -> bool: """Merge function for flag pairs. If the flag is set in the noxfile or the command line params, return ``True`` *unless* the disable flag has been specified on the command-line. @@ -132,7 +136,12 @@ return (command_value or noxfile_value) and not disable_value -def make_flag_pair(name, enable_flags, disable_flags, **kwargs): +def make_flag_pair( + name: str, + enable_flags: Union[Tuple[str, str], Tuple[str]], + disable_flags: Tuple[str], + **kwargs +) -> Tuple[Option, Option]: """Returns two options - one to enable a behavior and another to disable it. The positive option is considered to be available to the noxfile, as @@ -165,13 +174,15 @@ finalization, callable defaults, and strongly typed namespaces for tests. """ - def __init__(self, *args, **kwargs): + def __init__(self, *args, **kwargs) -> None: self.parser_args = args self.parser_kwargs = kwargs - self.options = collections.OrderedDict() - self.groups = collections.OrderedDict() + self.options = collections.OrderedDict() # type: Dict[str, Option] + self.groups = ( + collections.OrderedDict() + ) # type: Dict[str, Tuple[Tuple[Any, ...], Dict[str, Any]]] - def add_options(self, *args): + def add_options(self, *args) -> None: """Adds a sequence of Options to the OptionSet. Args: @@ -180,7 +191,7 @@ for option in args: self.options[option.name] = option - def add_group(self, name, *args, **kwargs): + def add_group(self, name: str, *args, **kwargs) -> None: """Adds a new argument group. When :func:`parser` is invoked, the OptionSet will turn all distinct @@ -189,14 +200,16 @@ """ self.groups[name] = (args, kwargs) - def _add_to_parser(self, parser, option): + def _add_to_parser( + self, parser: Union[_ArgumentGroup, ArgumentParser], option: Option + ) -> None: argument = parser.add_argument( *option.flags, help=option.help, default=option.default, **option.kwargs ) - if option.completer: - argument.completer = option.completer + if getattr(option, "completer"): + setattr(argument, "completer", option.completer) - def parser(self): + def parser(self) -> ArgumentParser: """Returns an ``ArgumentParser`` for this option set. Generally, you won't use this directly. Instead, use @@ -223,7 +236,7 @@ def print_help(self): return self.parser().print_help() - def _finalize_args(self, args): + def _finalize_args(self, args: Namespace) -> None: """Does any necessary post-processing on arguments.""" for option in self.options.values(): # Handle hidden items. @@ -236,7 +249,7 @@ if option.finalizer_func: setattr(args, option.name, option.finalizer_func(value, args)) - def parse_args(self): + def parse_args(self) -> Namespace: parser = self.parser() argcomplete.autocomplete(parser) args = parser.parse_args() @@ -267,7 +280,7 @@ return argparse.Namespace(**args) - def noxfile_namespace(self): + def noxfile_namespace(self) -> Namespace: """Returns a namespace of options that can be set in the configuration file.""" return argparse.Namespace( @@ -278,7 +291,9 @@ } ) - def merge_namespaces(self, command_args, noxfile_args): + def merge_namespaces( + self, command_args: Namespace, noxfile_args: Namespace + ) -> None: """Merges the command-line options with the noxfile options.""" for name, option in self.options.items(): if option.merge_func: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/_options.py new/nox-2019.11.9/nox/_options.py --- old/nox-2019.8.20/nox/_options.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/_options.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,6 +16,7 @@ import functools import os import sys +from typing import List from nox import _option_set from nox.tasks import discover_manifest, filter_manifest, load_nox_module @@ -122,11 +123,15 @@ return posargs[dash_index + 1 :] -def _session_completer(prefix, parsed_args, **kwargs): +def _session_completer( + prefix: str, parsed_args: argparse.Namespace, **kwargs +) -> List[str]: global_config = parsed_args module = load_nox_module(global_config) manifest = discover_manifest(module, global_config) filtered_manifest = filter_manifest(manifest, global_config) + if isinstance(filtered_manifest, int): + return [] return [ session.friendly_name for session, _ in filtered_manifest.list_all_sessions() ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/command.py new/nox-2019.11.9/nox/command.py --- old/nox-2019.8.20/nox/command.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/command.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,7 +16,6 @@ import sys import py # type: ignore - from nox.logger import logger from nox.popen import popen diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/sessions.py new/nox-2019.11.9/nox/sessions.py --- old/nox-2019.8.20/nox/sessions.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/sessions.py 2019-11-10 06:36:06.000000000 +0100 @@ -19,9 +19,8 @@ import sys import unicodedata -import py # type: ignore - import nox.command +import py # type: ignore from nox.logger import logger from nox.virtualenv import CondaEnv, ProcessEnv, VirtualEnv @@ -232,7 +231,7 @@ session.conda_install('numpy', 'scipy') session.conda_install('--channel=conda-forge', 'dask==2.1.0') - To install packages from a `requirements.txt` file:: + To install packages from a ``requirements.txt`` file:: session.conda_install('--file', 'requirements.txt') session.conda_install('--file', 'requirements-dev.txt') @@ -279,7 +278,7 @@ session.install('requests', 'mock') session.install('requests[security]==2.9.1') - To install packages from a `requirements.txt` file:: + To install packages from a ``requirements.txt`` file:: session.install('-r', 'requirements.txt') session.install('-r', 'requirements-dev.txt') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/tasks.py new/nox-2019.11.9/nox/tasks.py --- old/nox-2019.8.20/nox/tasks.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/tasks.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,14 +16,15 @@ import io import json import os - -from colorlog.escape_codes import parse_colors # type: ignore +from argparse import Namespace +from typing import List, Union import nox -from nox import _options -from nox import registry +from colorlog.escape_codes import parse_colors # type: ignore +from nox import _options, registry from nox.logger import logger from nox.manifest import Manifest +from nox.sessions import Result def load_nox_module(global_config): @@ -94,7 +95,9 @@ return Manifest(functions, global_config) -def filter_manifest(manifest, global_config): +def filter_manifest( + manifest: Manifest, global_config: Namespace +) -> Union[Manifest, int]: """Filter the manifest according to the provided configuration. Args: @@ -127,7 +130,9 @@ return manifest -def honor_list_request(manifest, global_config): +def honor_list_request( + manifest: Manifest, global_config: Namespace +) -> Union[Manifest, int]: """If --list was passed, simply list the manifest and exit cleanly. Args: @@ -181,7 +186,9 @@ return 0 -def verify_manifest_nonempty(manifest, global_config): +def verify_manifest_nonempty( + manifest: Manifest, global_config: Namespace +) -> Union[Manifest, int]: """Abort with an error code if the manifest is empty. Args: @@ -197,7 +204,7 @@ return manifest -def run_manifest(manifest, global_config): +def run_manifest(manifest: Manifest, global_config: Namespace) -> List[Result]: """Run the full manifest of sessions. Args: @@ -232,7 +239,7 @@ return results -def print_summary(results, global_config): +def print_summary(results: List[Result], global_config: Namespace) -> List[Result]: """Print a summary of the results. Args: @@ -261,7 +268,7 @@ return results -def create_report(results, global_config): +def create_report(results: List[Result], global_config: Namespace) -> List[Result]: """Write a report to the location designated in the config, if any. Args: @@ -291,7 +298,7 @@ return results -def final_reduce(results, global_config): +def final_reduce(results: List[Result], global_config: Namespace) -> int: """Reduce the results to a final exit code. Args: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/nox/virtualenv.py new/nox-2019.11.9/nox/virtualenv.py --- old/nox-2019.8.20/nox/virtualenv.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/nox/virtualenv.py 2019-11-10 06:36:06.000000000 +0100 @@ -18,9 +18,8 @@ import shutil import sys -import py # type: ignore - import nox.command +import py # type: ignore from nox.logger import logger # Problematic environment variables that are stripped from all commands inside @@ -236,7 +235,7 @@ self._resolved = None self.reuse_existing = reuse_existing self.venv_or_virtualenv = "venv" if venv else "virtualenv" - super(VirtualEnv, self).__init__() + super(VirtualEnv, self).__init__(env={"VIRTUAL_ENV": self.location}) _clean_location = _clean_location diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/noxfile.py new/nox-2019.11.9/noxfile.py --- old/nox-2019.8.20/noxfile.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/noxfile.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,7 +16,6 @@ import nox - ON_APPVEYOR = os.environ.get("APPVEYOR") == "True" @@ -35,7 +34,9 @@ @nox.session(python=["3.5", "3.6", "3.7"], venv_backend="conda") def conda_tests(session): """Run test suite with pytest.""" - session.conda_install("--file", "requirements-conda-test.txt") + session.conda_install( + "--file", "requirements-conda-test.txt", "--channel", "conda-forge" + ) session.install("contexter", "--no-deps") session.install("-e", ".", "--no-deps") tests = session.posargs or ["tests/"] @@ -57,16 +58,19 @@ @nox.session(python="3.7") def blacken(session): """Run black code formater.""" - session.install("black") - session.run("black", "nox", "tests", "noxfile.py", "setup.py") + session.install("black==19.3b0", "isort==4.3.21") + files = ["nox", "tests", "noxfile.py", "setup.py"] + session.run("black", *files) + session.run("isort", "--recursive", *files) @nox.session(python="3.7") def lint(session): - session.install("flake8", "flake8-import-order", "black", "mypy") + session.install("flake8==3.7.8", "black==19.3b0", "mypy==0.720") session.run("mypy", "nox") - session.run("black", "--check", "nox", "tests", "noxfile.py", "setup.py") - session.run("flake8", "nox", "tests") + files = ["nox", "tests", "noxfile.py", "setup.py"] + session.run("black", "--check", *files) + session.run("flake8", "nox", *files) @nox.session(python="3.7") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/requirements-conda-test.txt new/nox-2019.11.9/requirements-conda-test.txt --- old/nox-2019.8.20/requirements-conda-test.txt 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/requirements-conda-test.txt 2019-11-10 06:36:06.000000000 +0100 @@ -1,3 +1,4 @@ +argcomplete >=1.9.4,<2.0 colorlog >=2.6.1,<4.0.0 py >=1.4.0,<2.0.0 virtualenv >=14.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/setup.py new/nox-2019.11.9/setup.py --- old/nox-2019.8.20/setup.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/setup.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,13 +16,12 @@ from setuptools import setup - long_description = open("README.rst", "r", encoding="utf-8").read() setup( name="nox", - version="2019.8.20", + version="2019.11.9", description="Flexible test automation.", long_description=long_description, url="https://nox.thea.codes", @@ -49,8 +48,8 @@ packages=["nox"], include_package_data=True, install_requires=[ - "argcomplete>=1.9.4, <2.0", - "colorlog>=2.6.1,<4.0.0", + "argcomplete>=1.9.4,<2.0", + "colorlog>=2.6.1,<5.0.0", "py>=1.4.0,<2.0.0", "virtualenv>=14.0.0", ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test__option_set.py new/nox-2019.11.9/tests/test__option_set.py --- old/nox-2019.8.20/tests/test__option_set.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test__option_set.py 2019-11-10 06:36:06.000000000 +0100 @@ -12,14 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -import sys -from unittest import mock - import pytest - -from nox import _option_set -from nox import _options - +from nox import _option_set, _options # The vast majority of _option_set is tested by test_main, but the test helper # :func:`OptionSet.namespace` needs a bit of help to get to full coverage. @@ -51,12 +45,18 @@ optionset.namespace(non_existant_option="meep") def test_session_completer(self): - with mock.patch("sys.argv", [sys.executable]): - parsed_args = _options.options.parse_args() - all_nox_sessions = _options._session_completer( - prefix=None, parsed_args=parsed_args - ) - # if noxfile.py changes, this will have to change as well since these are - # some of the actual sessions found in noxfile.py - some_expected_sessions = ["cover", "blacken", "lint", "docs"] - assert len(set(some_expected_sessions) - set(all_nox_sessions)) == 0 + parsed_args = _options.options.namespace(sessions=(), keywords=()) + all_nox_sessions = _options._session_completer( + prefix=None, parsed_args=parsed_args + ) + # if noxfile.py changes, this will have to change as well since these are + # some of the actual sessions found in noxfile.py + some_expected_sessions = ["cover", "blacken", "lint", "docs"] + assert len(set(some_expected_sessions) - set(all_nox_sessions)) == 0 + + def test_session_completer_invalid_sessions(self): + parsed_args = _options.options.namespace(sessions=("baz",), keywords=()) + all_nox_sessions = _options._session_completer( + prefix=None, parsed_args=parsed_args + ) + assert len(all_nox_sessions) == 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test__parametrize.py new/nox-2019.11.9/tests/test__parametrize.py --- old/nox-2019.8.20/tests/test__parametrize.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test__parametrize.py 2019-11-10 06:36:06.000000000 +0100 @@ -15,7 +15,6 @@ from unittest import mock import pytest - from nox import _parametrize diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_command.py new/nox-2019.11.9/tests/test_command.py --- old/nox-2019.8.20/tests/test_command.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_command.py 2019-11-10 06:36:06.000000000 +0100 @@ -17,9 +17,8 @@ import sys from unittest import mock -import pytest - import nox.command +import pytest PYTHON = sys.executable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_main.py new/nox-2019.11.9/tests/test_main.py --- old/nox-2019.8.20/tests/test_main.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_main.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,16 +16,15 @@ import sys from unittest import mock -import contexter import pkg_resources -import pytest +import contexter import nox import nox.__main__ import nox._options import nox.registry import nox.sessions - +import pytest RESOURCES = os.path.join(os.path.dirname(__file__), "resources") VERSION = pkg_resources.get_distribution("nox").version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_manifest.py new/nox-2019.11.9/tests/test_manifest.py --- old/nox-2019.8.20/tests/test_manifest.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_manifest.py 2019-11-10 06:36:06.000000000 +0100 @@ -15,11 +15,9 @@ import collections from unittest import mock -import pytest - import nox -from nox.manifest import _null_session_func -from nox.manifest import Manifest +import pytest +from nox.manifest import Manifest, _null_session_func def create_mock_sessions(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_registry.py new/nox-2019.11.9/tests/test_registry.py --- old/nox-2019.8.20/tests/test_registry.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_registry.py 2019-11-10 06:36:06.000000000 +0100 @@ -13,7 +13,6 @@ # limitations under the License. import pytest - from nox import registry diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_sessions.py new/nox-2019.11.9/tests/test_sessions.py --- old/nox-2019.8.20/tests/test_sessions.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_sessions.py 2019-11-10 06:36:06.000000000 +0100 @@ -18,15 +18,14 @@ import sys from unittest import mock -import pytest - -from nox import _options import nox.command -from nox.logger import logger import nox.manifest import nox.registry import nox.sessions import nox.virtualenv +import pytest +from nox import _options +from nox.logger import logger def test__normalize_path(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_tasks.py new/nox-2019.11.9/tests/test_tasks.py --- old/nox-2019.8.20/tests/test_tasks.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_tasks.py 2019-11-10 06:36:06.000000000 +0100 @@ -20,15 +20,11 @@ import platform from unittest import mock -import pytest - import nox -from nox import _options -from nox import sessions -from nox import tasks +import pytest +from nox import _options, sessions, tasks from nox.manifest import Manifest - RESOURCES = os.path.join(os.path.dirname(__file__), "resources") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_tox_to_nox.py new/nox-2019.11.9/tests/test_tox_to_nox.py --- old/nox-2019.8.20/tests/test_tox_to_nox.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_tox_to_nox.py 2019-11-10 06:36:06.000000000 +0100 @@ -16,7 +16,6 @@ import textwrap import pytest - from nox import tox_to_nox diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nox-2019.8.20/tests/test_virtualenv.py new/nox-2019.11.9/tests/test_virtualenv.py --- old/nox-2019.8.20/tests/test_virtualenv.py 2019-08-20 22:38:21.000000000 +0200 +++ new/nox-2019.11.9/tests/test_virtualenv.py 2019-11-10 06:36:06.000000000 +0100 @@ -17,12 +17,10 @@ import sys from unittest import mock +import nox.virtualenv import py import pytest -import nox.virtualenv - - IS_WINDOWS = nox.virtualenv._SYSTEM == "Windows" HAS_CONDA = shutil.which("conda") is not None RAISE_ERROR = "RAISE_ERROR"
