Permalink
Browse files

DDD, TDD re: completion oops

  • Loading branch information...
bitprophet committed Aug 20, 2018
1 parent a8521ec commit 5d41aa1f20a0a63111741a8dd1f2fa94cfd5aa56
Showing with 20 additions and 0 deletions.
  1. +4 −0 sites/www/changelog.rst
  2. +16 −0 tests/main.py
View
@@ -5,6 +5,10 @@ Changelog
.. note::
Looking for the Fabric 1.x changelog? See :doc:`/changelog-v1`.
- :bug:`-` Fix a bug preventing tab completion (using the Invoke-level
``--complete`` flag) from completing task names correctly (behavior was to
act as if there were never any tasks present, even if there was a valid
fabfile nearby).
- :bug:`1850` Skip over ``ProxyJump`` configuration directives in SSH config
data when they would cause self-referential ``RecursionError``s (e.g. due to
wildcard-using ``Host`` stanzas which include the jump server itself).
View
@@ -262,3 +262,19 @@ def key_filename_can_be_set_via_non_override_config_levels(self):
def cli_identity_still_overrides_when_non_empty(self):
with cd(os.path.join(support, "yml_conf")):
program.run("fab -i cli.key expect-cli-key-filename")
class completion:
# NOTE: most completion tests are in Invoke too; this is just an
# irritating corner case driven by Fabric's 'remainder' functionality.
@trap
def complete_flag_does_not_trigger_remainder_only_behavior(self):
# When bug present, 'fab --complete -- fab' fails to load any
# collections because it thinks it's in remainder-only,
# work-without-a-collection mode.
with cd(support):
program.run("fab --complete -- fab", exit=False)
# Cherry-picked sanity checks looking for tasks from fixture
# fabfile
output = sys.stdout.getvalue()
for name in ("build", "deploy", "expect-from-env"):
assert name in output

0 comments on commit 5d41aa1

Please sign in to comment.