Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 422660 Details for
Bug 571648
dev-python/fabric-1.10.2 fails tests - AssertionError: '/bin/sh: fab: command not found' != 'Fatal error: It burns!\n\nAborting.'
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
build.log
build.log (text/plain), 56.68 KB, created by
eroen
on 2016-01-12 12:01:26 UTC
(
hide
)
Description:
build.log
Filename:
MIME Type:
Creator:
eroen
Created:
2016-01-12 12:01:26 UTC
Size:
56.68 KB
patch
obsolete
>[32;01m * [39;49;00mPackage: dev-python/fabric-1.10.2 >[32;01m * [39;49;00mRepository: gentoo >[32;01m * [39;49;00mMaintainer: python@gentoo.org >[32;01m * [39;49;00mUSE: abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python2_7 test userland_GNU >[32;01m * [39;49;00mFEATURES: preserve-libs sandbox test userpriv usersandbox >>>> Unpacking source... >>>> Unpacking Fabric-1.10.2.tar.gz to /var/tmp/portage/dev-python/fabric-1.10.2/work >>>> Source unpacked in /var/tmp/portage/dev-python/fabric-1.10.2/work >>>> Preparing source in /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2 ... >>>> Source prepared. >>>> Configuring source in /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2 ... >>>> Source configured. >>>> Compiling source in /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2 ... > [32;01m*[0m python2_7: running distutils-r1_run_phase distutils-r1_python_compile >/usr/bin/python2.7 setup.py build >running build >running build_py >creating /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabfile >copying fabfile/__init__.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabfile >creating /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/job_queue.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/main.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/version.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/sftp.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/io.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/context_managers.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/__main__.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/colors.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/decorators.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/operations.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/__init__.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/exceptions.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/task_utils.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/network.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/auth.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/docs.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/api.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/tasks.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/thread_handling.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/state.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >copying fabric/utils.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric >creating /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >copying fabric/contrib/console.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >copying fabric/contrib/__init__.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >copying fabric/contrib/project.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >copying fabric/contrib/django.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >copying fabric/contrib/files.py -> /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/lib/fabric/contrib >warning: build_py: byte-compiling is disabled, skipping. > > [32;01m*[0m python2_7: running distutils-r1_run_phase python_compile_all >>>> Source compiled. >>>> Test phase: dev-python/fabric-1.10.2 > [32;01m*[0m python2_7: running distutils-r1_run_phase python_test >/usr/bin/python2.7 setup.py test >running test >running egg_info >writing requirements to /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/requires.txt >writing /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/PKG-INFO >writing top-level names to /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/top_level.txt >writing dependency_links to /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/dependency_links.txt >writing entry points to /var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/entry_points.txt >reading manifest file '/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/SOURCES.txt' >reading manifest template 'MANIFEST.in' >warning: no previously-included files matching '*' found under directory 'sites/docs/_build' >warning: no previously-included files matching '*' found under directory 'sites/www/_build' >warning: no previously-included files matching '*.pyc' found under directory 'tests' >warning: no previously-included files matching '*.pyo' found under directory 'tests' >writing manifest file '/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2-python2_7/Fabric.egg-info/SOURCES.txt' >running build_ext >test_context_managers.TestPathManager.test_lack_of_path_has_default_local_path >No use of 'with path' == default local $PATH ... ok >test_context_managers.TestPathManager.test_use_of_path_appends_by_default >'with path' appends by default ... ok >test_context_managers.TestQuietAndWarnOnly.test_quiet_hides_all_output ... ok >test_context_managers.TestQuietAndWarnOnly.test_quiet_sets_warn_only_to_true ... ok >test_context_managers.TestQuietAndWarnOnly.test_warn_only_does_not_imply_hide_everything ... ok >test_context_managers.TestQuietAndWarnOnly.test_warn_only_is_same_as_settings_warn_only ... ok >test_context_managers.test_error_handling >cd cleans up after itself even in case of an exception ... ok >test_context_managers.test_cwd_with_absolute_paths >cd() should append arg if non-absolute or overwrite otherwise ... ok >test_context_managers.test_cd_home_dir >cd() should work with home directories ... ok >test_context_managers.test_cd_nested_home_abs_dirs >cd() should work with nested user homedir (starting with ~) paths. ... ok >test_context_managers.test_nested_prefix >prefix context managers can be created outside of the with block and nested ... ok >test_context_managers.test_cd_prefix >cd prefix should direct output to /dev/null in case of CDPATH ... ok >test_context_managers.test_hide_show_exception_handling >hide()/show() should clean up OK if exceptions are raised ... ok >test_context_managers.test_setting_new_env_dict_key_should_work >Using settings() with a previously nonexistent key should work correctly ... ok >test_context_managers.test_settings >settings() should temporarily override env dict with given key/value pair ... ok >test_context_managers.test_settings_with_multiple_kwargs >settings() should temporarily override env dict with given key/value pairS ... ok >test_context_managers.test_settings_with_other_context_managers >settings() should take other context managers, and use them with other overrided ... ok >test_context_managers.test_settings_clean_revert >settings(clean_revert=True) should only revert values matching input values ... ok >test_context_managers.test_shell_env >shell_env() sets the shell_env attribute in the env dict ... ok >test_contrib.TestContrib.test_contains_checks_only_succeeded_flag >contains() should return False on bad grep even if stdout isn't empty ... ok >test_contrib.TestContrib.test_upload_template_handles_file_destination >upload_template() should work OK with file and directory destinations ... ok >test_contrib.TestContrib.test_upload_template_handles_jinja_template >upload_template() should work OK with Jinja2 template ... ok >test_contrib.TestContrib.test_upload_template_handles_template_dir >upload_template() should work OK with template dir ... ok >test_contrib.TestContrib.test_upload_template_jinja_and_no_template_dir ... ok >test_contrib.TestContrib.test_upload_template_obeys_lcd ... ok >test_contrib.TestContrib.test_upload_template_uses_correct_remote_filename >upload_template() shouldn't munge final remote filename ... ok >test_decorators.test_task_returns_an_instance_of_wrappedfunctask_object ... ok >test_decorators.test_task_will_invoke_provided_class ... ok >test_decorators.test_global_parallel_honors_runs_once >fab -P (or env.parallel) should honor @runs_once ... ok >test_decorators.test_task_passes_args_to_the_task_class ... ok >test_decorators.test_passes_kwargs_to_the_task_class ... ok >test_decorators.test_integration_tests_for_invoked_decorator_with_no_args ... ok >test_decorators.test_integration_tests_for_decorator ... ok >test_decorators.test_original_non_invoked_style_task ... ok >test_decorators.test_runs_once_returns_same_value_each_run >@runs_once memoizes return value of decorated func ... ok >test_decorators.test_runs_once ... ok >test_decorators.test_runs_once_runs_only_once >@runs_once prevents decorated func from running >1 time ... ok >test_decorators.test_parallel_tasks(['serial'], False) >One @serial-decorated task == no parallelism ... ok >test_decorators.test_parallel_tasks(['parallel'], True) >One @parallel-decorated task == parallelism ... ok >test_decorators.test_parallel_tasks(['parallel', 'serial'], True) >One @parallel-decorated and one @serial-decorated task == paralellism ... ok >test_decorators.test_parallel_tasks(['serial2', 'serial3'], True) >Tasks decorated with both @serial and @parallel count as @parallel ... ok >test_decorators.test_parallel_wins_vs_serial >@parallel takes precedence over @serial when both are used on one task ... ok >test_decorators.test_roles ... ok >test_decorators.test_hosts ... ok >test_decorators.test_with_settings_passes_env_vars_into_decorated_function ... ok >test_decorators.test_with_settings_with_other_context_managers >with_settings() should take other context managers, and use them with other ... ok >test_io.test_request_prompts >Test valid responses from prompts ... ok >test_main.TestNamespaces.test_class_based_tasks_are_found_with_proper_name >Wrapped new-style tasks should preserve their function names ... ok >test_main.TestNamespaces.test_class_based_tasks_are_found_with_variable_name >A new-style tasks with undefined name attribute should use the instance ... ok >test_main.TestNamespaces.test_explicit_discovery >If __all__ is present, only collect the tasks it specifies ... ok >test_main.TestNamespaces.test_implicit_discovery >Default to automatically collecting all tasks in a fabfile module ... ok >test_main.TestNamespaces.test_newstyle_task_presence_skips_classic_task_modules >Classic-task-only modules shouldn't add tasks if any new-style tasks exist ... ok >test_main.TestNamespaces.test_recursion_steps_into_nontask_modules >Recursive loading will continue through modules with no tasks ... ok >test_main.TestNamespaces.test_should_load_decorated_tasks_only_if_one_is_found >If any new-style tasks are found, *only* new-style tasks should load ... ok >test_main.TestNamespaces.test_task_decorator_plays_well_with_others >@task, when inside @hosts/@roles, should not hide the decorated task. ... ok >test_main.TestTaskAliases.test_flat_alias ... ok >test_main.TestTaskAliases.test_flat_aliases ... ok >test_main.TestTaskAliases.test_nested_alias ... ok >test_main.TestTaskAliases.test_nested_aliases ... ok >test_main.test_argument_parsing([('abc', [], {}, [], [], [])], [('abc', [], {}, [], [], [])]) ... ok >test_main.test_argument_parsing([('ab', ['c'], {}, [], [], [])], [('ab', ['c'], {}, [], [], [])]) ... ok >test_main.test_argument_parsing([('a', [], {'b': 'c'}, [], [], [])], [('a', [], {'b': 'c'}, [], [], [])]) ... ok >test_main.test_argument_parsing([('a', ['d'], {'b': 'c'}, [], [], [])], [('a', ['d'], {'b': 'c'}, [], [], [])]) ... ok >test_main.test_argument_parsing([('a', [], {'b': 'c', 'd': 'e'}, [], [], [])], [('a', [], {'b': 'c', 'd': 'e'}, [], [], [])]) ... ok >test_main.test_argument_parsing([('abc', [], {}, ['foo'], [], [])], [('abc', [], {}, ['foo'], [], [])]) ... ok >test_main.test_argument_parsing([('abc', [], {}, ['foo'], [], [])], [('abc', [], {}, ['foo'], [], [])]) ... ok >test_main.test_argument_parsing([('abc', [], {}, ['foo', 'bar'], [], [])], [('abc', [], {}, ['foo', 'bar'], [], [])]) ... ok >test_main.test_argument_parsing([('abc', [], {}, ['foo', 'bar'], [], ['foo'])], [('abc', [], {}, ['foo', 'bar'], [], ['foo'])]) ... ok >test_main.test_argument_parsing([('abc', [], {}, ['foo', 'bar'], [], ['foo', 'bar'])], [('abc', [], {}, ['foo', 'bar'], [], ['foo', 'bar'])]) ... ok >test_main.test_argument_parsing([('task', [], {'x': 'y', 'z': ''}, [], [], [])], [('task', [], {'x': 'y', 'z': ''}, [], [], [])]) ... ok >test_main.test_argument_parsing([('task', ['foo', ''], {'x': 'y'}, [], [], [])], [('task', ['foo', ''], {'x': 'y'}, [], [], [])]) ... ok >test_main.test_aborts_on_nonexistent_roles >Aborts if any given roles aren't found ... ok >test_main.test_escaped_task_arg_split >Allow backslashes to escape the task argument separator character ... ok >test_main.test_escaped_task_kwarg_split >Allow backslashes to escape the = in x=y task kwargs ... ok >test_main.test_hosts_decorator_by_itself >Use of @hosts only ... ok >test_main.test_roles_decorator_by_itself >Use of @roles only ... ok >test_main.test_roles_decorator_overrides_env_roles >If @roles is used it replaces any env.roles value ... ok >test_main.test_cli_roles_override_decorator_roles >If CLI roles are provided they replace roles defined in @roles. ... ok >test_main.test_hosts_and_roles_together >Use of @roles and @hosts together results in union of both ... ok >test_main.test_host_role_merge_deduping >Use of @roles and @hosts dedupes when merging ... ok >test_main.test_host_role_merge_deduping_off >Allow turning deduping off ... ok >test_main.test_roles_as_tuples >Test that a list of roles as a tuple succeeds ... ok >test_main.test_hosts_as_tuples >Test that a list of hosts as a tuple succeeds ... ok >test_main.test_hosts_decorator_overrides_env_hosts >If @hosts is used it replaces any env.hosts value ... ok >test_main.test_hosts_decorator_overrides_env_hosts_with_task_decorator_first >If @hosts is used it replaces any env.hosts value even with @task ... ok >test_main.test_hosts_decorator_overrides_env_hosts_with_task_decorator_last ... ok >test_main.test_hosts_stripped_env_hosts >Make sure hosts defined in env.hosts are cleaned of extra spaces ... ok >test_main.test_roles_stripped_env_hosts >Make sure hosts defined in env.roles are cleaned of extra spaces ... ok >test_main.test_hosts_in_role_dict >Make sure hosts defined in env.roles are cleaned of extra spaces ... ok >test_main.test_hosts_decorator_expands_single_iterable >@hosts(iterable) should behave like @hosts(*iterable) ... ok >test_main.test_roles_decorator_expands_single_iterable >@roles(iterable) should behave like @roles(*iterable) ... ok >test_main.test_get_hosts_excludes_cli_exclude_hosts_from_cli_hosts ... ok >test_main.test_get_hosts_excludes_cli_exclude_hosts_from_decorator_hosts ... ok >test_main.test_get_hosts_excludes_global_exclude_hosts_from_global_hosts ... ok >test_main.test_accepts_non_list_hosts >Coerces given host string to a one-item list ... ok >test_main.test_lazy_roles >Roles may be callables returning lists, as well as regular lists ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('subdir/fabfile.py', ['not_subdir']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('fabfile.py', ['nope']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('subdir/fabfile.py', ['not_subdir', 'subdir']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('fabfile.py', ['not_subdir', '']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('fabfile.py', ['not_subdir', '', 'also_not_subdir']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('subdir/fabfile.py', ['subdir']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('subdir/fabfile.py', ['subdir', 'not_subdir']) ... ok >test_main.test_load_fabfile_should_not_remove_real_path_elements('fabfile.py', ['', 'some_dir', 'some_other_dir']) ... ok >test_main.test_list_output('deep', 'short', 'submodule.subsubmodule.deeptask') >--list output: shorthand (& with namespacing) ... ok >test_main.test_list_output('deep', 'normal', 'Available commands:\n\n submodule.subsubmodule.deeptask') >--list output: normal (& with namespacing) ... ok >test_main.test_list_output('docstring', 'normal', 'Available commands:\n\n foo Foos!') >--list output: normal (with docstring) ... ok >test_main.test_list_output('deep', 'nested', 'Available commands (remember to call as module.[...].task):\n\n submodule:\n subsubmodule:\n deeptask') >--list output: nested (leaf only) ... ok >test_main.test_list_output('tree', 'nested', 'Available commands (remember to call as module.[...].task):\n\n build_docs\n deploy\n db:\n migrate\n system:\n install_package\n debian:\n update_apt') >--list output: nested (full) ... ok >test_main.test_task_names(['a'], ['a']) >task name flattening: top level (single) ... ok >test_main.test_task_names(['a', 'b'], ['a', 'b']) >task name flattening: top level (multiple, sorting) ... ok >test_main.test_task_names(['a.b'], ['a.b']) >task name flattening: just nested ... ok >test_main.test_task_names(['a', 'b.c'], ['a', 'b.c']) >task name flattening: mixed ... ok >test_main.test_task_names(['z', 'b.c'], ['z', 'b.c']) >task name flattening: top level comes before nested ... ok >test_main.test_task_names(['z', 'b.c', 'd.e'], ['z', 'b.c', 'd.e']) >task name flattening: peers sorted equally ... ok >test_main.test_task_names(['h', 'z', 'b.c', 'b.g', 'b.d.e.f', 'w.y'], ['h', 'z', 'b.c', 'b.g', 'b.d.e.f', 'w.y']) >task name flattening: complex tree ... ok >test_main.test_crawl(5, 5) >crawling dotted names: base case ... ok >test_main.test_crawl(5, 5) >crawling dotted names: one level ... ok >test_main.test_crawl(5, 5) >crawling dotted names: deep ... ok >test_main.test_crawl(5, 5) >crawling dotted names: full tree ... ok >test_main.test_mapping_task_classes >Task classes implementing the mapping interface shouldn't break --list ... ok >test_main.test_default_task_listings('default_tasks', 'short', 'mymodule\nmymodule.long_task_name') >Default task --list output: short ... ok >test_main.test_default_task_listings('default_tasks', 'normal', 'Available commands:\n\n mymodule\n mymodule.long_task_name') >Default task --list output: normal ... ok >test_main.test_default_task_listings('default_tasks', 'nested', 'Available commands (remember to call as module.[...].task):\n\n mymodule:\n long_task_name') >Default task --list output: nested ... ok >test_main.test_default_task_loading >crawl() should return default tasks where found, instead of module objs ... ok >test_main.test_aliases_appear_in_fab_list >--list should include aliases ... ok >test_network.TestConnections.test_should_abort_when_cannot_connect >By default, connecting to a nonexistent server should abort. ... ok >test_network.TestConnections.test_should_warn_when_skip_bad_hosts_is_True >env.skip_bad_hosts = True => execute() skips current host ... ok >test_network.TestKeyFilenames.test_both >Both env.key_filename + valid ssh_config = both show up w/ env var first ... ok >test_network.TestKeyFilenames.test_empty_everything >No env.key_filename and no ssh_config = empty list ... ok >test_network.TestKeyFilenames.test_just_env >Valid env.key_filename and no ssh_config = just env ... ok >test_network.TestKeyFilenames.test_just_ssh_config >No env.key_filename + valid ssh_config = ssh value ... ok >test_network.TestNetwork.test_aborts_on_password_prompt_with_abort_on_prompt >abort_on_prompt=True should abort when password prompts occur ... ok >test_network.TestNetwork.test_aborts_on_prompt_with_abort_on_prompt >abort_on_prompt=True should abort when prompt() is used ... ok >test_network.TestNetwork.test_at_symbol_in_username >normalize() should allow '@' in usernames (i.e. last '@' is split char) ... ok >test_network.TestNetwork.test_connection_cache_deletion >HostConnectionCache should delete correctly w/ non-full keys ... ok >test_network.TestNetwork.test_connection_caching(('localhost', 'other-system'), 2) >Two different host names, two connections ... ok >test_network.TestNetwork.test_connection_caching(('localhost', 'localhost'), 1) >Same host twice, one connection ... ok >test_network.TestNetwork.test_connection_caching(('localhost:22', 'localhost:222'), 2) >Same host twice, different ports, two connections ... ok >test_network.TestNetwork.test_connection_caching(('user1@localhost', 'user2@localhost'), 2) >Same host twice, different users, two connections ... ok >test_network.TestNetwork.test_consecutive_sudos_should_not_have_blank_line >Consecutive sudo() calls should not incur a blank line in-between ... ok >test_network.TestNetwork.test_does_not_abort_with_password_and_host_with_abort_on_prompt >abort_on_prompt=True should not abort if no prompts are needed ... ok >test_network.TestNetwork.test_env_host_set_when_host_prompt_used >Ensure env.host is set during host prompting ... ok >test_network.TestNetwork.test_host_string_denormalization('localhost', 'localhost') >Host-string denormalization: Sanity check: equal strings remain equal ... ok >test_network.TestNetwork.test_host_string_denormalization('localhost', 'localhost') >Host-string denormalization: Empty username is same as get_system_username ... ok >test_network.TestNetwork.test_host_string_denormalization('user@localhost', 'user@localhost') >Host-string denormalization: Empty port is same as port 22 ... ok >test_network.TestNetwork.test_host_string_denormalization('localhost', 'localhost') >Host-string denormalization: Both username and port ... ok >test_network.TestNetwork.test_host_string_denormalization('2001:DB8::1', '2001:DB8::1') >Host-string denormalization: IPv6 address ... ok >test_network.TestNetwork.test_host_string_normalization(('portage', 'localhost', '22'), ('portage', 'localhost', '22')) >Host-string normalization: Sanity check: equal strings remain equal ... ok >test_network.TestNetwork.test_host_string_normalization(('portage', 'localhost', '22'), ('portage', 'localhost', '22')) >Host-string normalization: Empty username is same as get_system_username ... ok >test_network.TestNetwork.test_host_string_normalization(('portage', 'localhost', '22'), ('portage', 'localhost', '22')) >Host-string normalization: Empty port is same as port 22 ... ok >test_network.TestNetwork.test_host_string_normalization(('portage', 'localhost', '22'), ('portage', 'localhost', '22')) >Host-string normalization: Both username and port tested at once, for kicks ... ok >test_network.TestNetwork.test_io_should_not_print_prefix_if_ouput_prefix_is_false >run/sudo shouldn't print [host_string] if env.output_prefix == False ... ok >test_network.TestNetwork.test_io_should_print_prefix_if_ouput_prefix_is_true >run/sudo should print [host_string] if env.output_prefix == True ... ok >test_network.TestNetwork.test_ipv6_host_strings_join >join_host_strings() should use square brackets only for IPv6 and if port is given ... ok >test_network.TestNetwork.test_nonword_character_in_username >normalize() will accept non-word characters in the username part ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('portage', '2001:DB8:0:0:0:0:0:1', '22'), ('portage', '2001:DB8:0:0:0:0:0:1', '22')) >Host-string IPv6 normalization: Full IPv6 address ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('portage', '2001:DB8::1', '22'), ('portage', '2001:DB8::1', '22')) >Host-string IPv6 normalization: IPv6 address in short form ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('portage', '::1', '22'), ('portage', '::1', '22')) >Host-string IPv6 normalization: IPv6 localhost ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('portage', '2001:DB8::1', '1222'), ('portage', '2001:DB8::1', '1222')) >Host-string IPv6 normalization: Square brackets are required to separate non-standard port from IPv6 address ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('user', '2001:DB8::1', '22'), ('user', '2001:DB8::1', '22')) >Host-string IPv6 normalization: Username and IPv6 address ... ok >test_network.TestNetwork.test_normalization_for_ipv6(('user', '2001:DB8::1', '1222'), ('user', '2001:DB8::1', '1222')) >Host-string IPv6 normalization: Username and IPv6 address with non-standard port ... ok >test_network.TestNetwork.test_normalization_of_empty_input(('', '', ''), ('', '', '')) >normalize() returns empty strings for empty string input ... ok >test_network.TestNetwork.test_normalization_of_empty_input(('', '', ''), ('', '', '')) >normalize() returns empty strings for None input ... ok >test_network.TestNetwork.test_normalization_without_port >normalize() and join_host_strings() omit port if omit_port given ... ok >test_network.TestNetwork.test_passphrase_prompt_displays_host_string >Passphrase prompt lines should include the user/host in question ... ok >test_network.TestNetwork.test_password_memory_on_user_switch >Switching users mid-session should not screw up password memory ... ok >test_network.TestNetwork.test_password_prompt_displays_host_string >Password prompt lines should include the user/host in question ... ok >test_network.TestNetwork.test_prompts_for_password_without_good_authentication ... ok >test_network.TestNetwork.test_saved_authentication_returns_client_object ... ok >test_network.TestNetwork.test_silent_commands_should_not_have_blank_line >Silent commands should not generate an extra trailing blank line ... ok >test_network.TestNetwork.test_sudo_prompt_display_directly >Sudo prompt should display (manually) when stdout/stderr hidden ... ok >test_network.TestNetwork.test_sudo_prompt_display_passthrough >Sudo prompt should display (via passthrough) when stdout/stderr shown ... ok >test_network.TestNetwork.test_sudo_prompt_kills_capturing >Sudo prompts shouldn't screw up output capturing ... ok >test_network.TestNetwork.test_trailing_newline_line_drop >Trailing newlines shouldn't cause last line to be dropped. ... ok >test_network.TestParallelConnections.test_should_abort_when_cannot_connect >By default, connecting to a nonexistent server should abort. ... ok >test_network.TestParallelConnections.test_should_warn_when_skip_bad_hosts_is_True >env.skip_bad_hosts = True => execute() skips current host ... ok >test_network.TestSSHConfig.test_global_port_with_default_env >Global Port should override default env.port ... ok >test_network.TestSSHConfig.test_global_port_with_nondefault_env >Global Port should NOT override nondefault env.port ... ok >test_network.TestSSHConfig.test_global_user_with_default_env >Global User should override default env.user ... ok >test_network.TestSSHConfig.test_global_user_with_nondefault_env >Global User should NOT override nondefault env.user ... ok >test_network.TestSSHConfig.test_hostname_alias >Hostname setting overrides host string's host value ... ok >test_network.TestSSHConfig.test_port_vs_host_string_value >SSH-config derived port should NOT override host-string port value ... ok >test_network.TestSSHConfig.test_real_connection >Test-server connection using ssh_config values ... ok >test_network.TestSSHConfig.test_specific_port_with_default_env >Host-specific Port should override default env.port ... ok >test_network.TestSSHConfig.test_specific_user_with_default_env >Host-specific User should override default env.user ... ok >test_network.TestSSHConfig.test_user_vs_host_string_value >SSH-config derived user should NOT override host-string user value ... ok >test_network.TestSSHConfig.test_warns_with_bad_config_file_path ... ok >test_operations.TestCombineStderr.test_local_false_global_true >combine_stderr: False kwarg => overrides global True value ... ok >test_operations.TestCombineStderr.test_local_none_global_false >combine_stderr: no kwarg => uses global value (False) ... ok >test_operations.TestCombineStderr.test_local_none_global_true >combine_stderr: no kwarg => uses global value (True) ... ok >test_operations.TestCombineStderr.test_local_true_global_false >combine_stderr: True kwarg => overrides global False value ... ok >test_operations.TestFileTransfers.test_cd_should_apply_to_get >get() should honor env.cwd for relative remote paths ... ok >test_operations.TestFileTransfers.test_cd_should_apply_to_put >put() should honor env.cwd for relative remote paths ... ok >test_operations.TestFileTransfers.test_cd_should_not_apply_to_absolute_get >get() should not prepend env.cwd to absolute remote paths ... ok >test_operations.TestFileTransfers.test_cd_should_not_apply_to_absolute_put >put() should not prepend env.cwd to absolute remote paths ... ok >test_operations.TestFileTransfers.test_directory_and_file_object_invalid >Remote directory and local file object is invalid ... ok >test_operations.TestFileTransfers.test_get_absolute_path_should_save_relative >get(/x/y) w/ %(path)s should save y, not x/y ... ok >test_operations.TestFileTransfers.test_get_file_from_relative_path_with_spaces >get('file') should work when the remote path contains spaces ... ok >test_operations.TestFileTransfers.test_get_file_to_directory >Directory as target path should result in joined pathname ... ok >test_operations.TestFileTransfers.test_get_file_with_existing_file_target >Clobbering existing local file should overwrite, with warning ... ok >test_operations.TestFileTransfers.test_get_file_with_nonexistent_target >Missing target path on single file download => effectively a rename ... ok >test_operations.TestFileTransfers.test_get_from_empty_directory_uses_cwd >get() expands empty remote arg to remote cwd ... ok >test_operations.TestFileTransfers.test_get_from_multiple_servers ... ok >test_operations.TestFileTransfers.test_get_interpolation_without_host >local formatting should work w/o use of %(host)s when run on one host ... ok >test_operations.TestFileTransfers.test_get_relative_remote_dir_uses_home >get('relative/path') should use remote $HOME ... ok >test_operations.TestFileTransfers.test_get_return_value_failed_attribute >get()'s return value should indicate any paths which failed to ... ok >test_operations.TestFileTransfers.test_get_returns_list_of_local_paths >get() should return an iterable of the local files it created. ... ok >test_operations.TestFileTransfers.test_get_returns_none_for_stringio >get() should return None if local_path is a StringIO ... ok >test_operations.TestFileTransfers.test_get_should_accept_file_like_objects >get()'s local_path arg should take file-like objects too ... ok >test_operations.TestFileTransfers.test_get_should_not_use_windows_slashes_in_remote_paths >sftp.glob() should always use Unix-style slashes. ... ok >test_operations.TestFileTransfers.test_get_sibling_globs >get() with globbed files, but no directories ... ok >test_operations.TestFileTransfers.test_get_single_file >get() with a single non-globbed filename ... ok >test_operations.TestFileTransfers.test_get_single_file_absolutely >get() a single file, using absolute file path ... ok >test_operations.TestFileTransfers.test_get_single_file_in_folder >get() a folder containing one file ... ok >test_operations.TestFileTransfers.test_get_to_None_uses_default_format_string >get() expands None local arg to local cwd + host + file ... ok >test_operations.TestFileTransfers.test_get_to_empty_string_uses_default_format_string >get() expands empty local arg to local cwd + host + file ... ok >test_operations.TestFileTransfers.test_get_tree >Download entire tree ... ok >test_operations.TestFileTransfers.test_get_tree_with_implicit_local_path >Download entire tree without specifying a local path ... ok >test_operations.TestFileTransfers.test_get_use_sudo >get(use_sudo=True) works by copying to a temporary path, downloading it and then removing it at the end ... ok >test_operations.TestFileTransfers.test_get_use_sudo_temp_dir >get(use_sudo=True, temp_dir="/tmp") works by copying to a /tmp/sha1_hash, downloading it and then removing it at the end ... ok >test_operations.TestFileTransfers.test_glob_and_file_object_invalid >Remote glob and local file object is invalid ... ok >test_operations.TestFileTransfers.test_lcd_should_apply_to_get >lcd() should apply to get()'s local_path argument ... ok >test_operations.TestFileTransfers.test_lcd_should_apply_to_put >lcd() should apply to put()'s local_path argument ... ok >test_operations.TestFileTransfers.test_path_formatstr_nonrecursively_is_just_filename >get(x/y/z) nonrecursively w/ %(path)s should save y, not y/z ... ok >test_operations.TestFileTransfers.test_put_file_to_existing_directory >put() a single file into an existing remote directory ... ok >test_operations.TestFileTransfers.test_put_from_empty_directory_uses_cwd >put() expands empty local arg to local cwd ... ok >test_operations.TestFileTransfers.test_put_return_value_failed_attribute >put()'s return value should indicate any paths which failed to upload. ... ok >test_operations.TestFileTransfers.test_put_returns_list_of_remote_paths >put() should return an iterable of the remote files it created. ... ok >test_operations.TestFileTransfers.test_put_returns_list_of_remote_paths_with_stringio >put() should return a one-item iterable when uploading from a StringIO ... ok >test_operations.TestFileTransfers.test_put_sends_all_files_with_glob >put() should send all items that match a glob. ... ok >test_operations.TestFileTransfers.test_put_sends_correct_file_with_globbing_off >put() should send a file with a glob pattern in the path, when globbing disabled. ... ok >test_operations.TestFileTransfers.test_put_should_accept_file_like_objects >put()'s local_path arg should take file-like objects too ... ok >test_operations.TestFileTransfers.test_put_should_raise_exception_for_nonexistent_local_path >put(nonexistent_file) should raise a ValueError ... ok >test_operations.TestFileTransfers.test_put_to_empty_directory_uses_cwd >put() expands empty remote arg to remote cwd ... ok >test_operations.TestFileTransfers.test_put_use_sudo >put(use_sudo=True) works by uploading a the `local_path` to a temporary path and then moving it to a `remote_path` ... ok >test_operations.TestFileTransfers.test_put_use_sudo_temp_dir >put(use_sudo=True, temp_dir='/tmp/') works by uploading a file to /tmp/ and then moving it to a `remote_path` ... ok >test_operations.TestFileTransfers.test_stringio_with_name >If a file object (StringIO) has a name attribute, use that in output ... ok >test_operations.TestFileTransfers.test_stringio_without_name ... ok >test_operations.TestMultipleOKReturnCodes.test_expand_to_include_1 ... ok >test_operations.TestQuietAndWarnKwargs.test_quiet_implies_hide_everything ... ok >test_operations.TestQuietAndWarnKwargs.test_quiet_implies_warn_only ... ok >test_operations.TestQuietAndWarnKwargs.test_warn_only_does_not_imply_hide_everything ... ok >test_operations.TestQuietAndWarnKwargs.test_warn_only_is_same_as_settings_warn_only ... ok >test_operations.TestRun.test_command_timeout_via_env_var ... ok >test_operations.TestRun.test_command_timeout_via_env_var_in_sudo ... ok >test_operations.TestRun.test_command_timeout_via_kwarg ... Traceback (most recent call last): > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 561, in process_request_thread > self.finish_request(request, client_address) > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 320, in finish_request > self.RequestHandlerClass(request, client_address, self) > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 631, in __init__ > self.handle() > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/server.py", line 366, in handle > if self.sudo_prompt and not self.sudo_password(): > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/server.py", line 431, in sudo_password > self.channel.send(env.sudo_prompt) > File "/usr/lib64/python2.7/site-packages/paramiko/channel.py", line 698, in send > return self._send(s, m) > File "/usr/lib64/python2.7/site-packages/paramiko/channel.py", line 1058, in _send > raise socket.error('Socket is closed') >error: Socket is closed >ok >test_operations.TestRun.test_command_timeout_via_kwarg_of_sudo ... ok >test_operations.TestRunSudoReturnValues.test_returns_command_given >run("foo").command == foo ... Traceback (most recent call last): > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 561, in process_request_thread > self.finish_request(request, client_address) > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 320, in finish_request > self.RequestHandlerClass(request, client_address, self) > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 631, in __init__ > self.handle() > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/server.py", line 366, in handle > if self.sudo_prompt and not self.sudo_password(): > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/server.py", line 431, in sudo_password > self.channel.send(env.sudo_prompt) > File "/usr/lib64/python2.7/site-packages/paramiko/channel.py", line 698, in send > return self._send(s, m) > File "/usr/lib64/python2.7/site-packages/paramiko/channel.py", line 1058, in _send > raise socket.error('Socket is closed') >error: Socket is closed >ok >test_operations.TestRunSudoReturnValues.test_returns_fully_wrapped_command >run("foo").real_command involves env.shell + etc ... ok >test_operations.test_require_single_existing_key >When given a single existing key, require() throws no exceptions ... ok >test_operations.test_require_multiple_existing_keys >When given multiple existing keys, require() throws no exceptions ... ok >test_operations.test_prompt_appends_space >prompt() appends a single space when no default is given ... ok >test_operations.test_prompt_with_default >prompt() appends given default value plus one space on either side ... ok >test_operations.test_require_iterable_provided_by_key >When given a provided_by iterable value, require() aborts ... ok >test_operations.test_require_key_exists_empty_dict >When given a single existing key but the value is an empty dict, require() ... ok >test_operations.test_require_key_exists_empty_list >When given a single existing key but the value is an empty list, require() ... ok >test_operations.test_require_key_exists_empty_set >When given a single existing key but the value is an empty set, require() ... ok >test_operations.test_require_key_exists_empty_tuple >When given a single existing key but the value is an empty tuple, require() ... ok >test_operations.test_require_mixed_state_keys >When given mixed-state keys, require() aborts ... ok >test_operations.test_require_mixed_state_keys_prints_missing_only >When given mixed-state keys, require() prints missing keys only ... ok >test_operations.test_require_multiple_missing_keys >When given multiple non-existent keys, require() aborts ... ok >test_operations.test_require_noniterable_provided_by_key >When given a provided_by noniterable value, require() aborts ... ok >test_operations.test_require_single_missing_key >When given a single non-existent key, require() aborts ... ok >test_operations.test_sudo_prefix_with_user >_sudo_prefix() returns prefix plus -u flag for nonempty user ... ok >test_operations.test_sudo_prefix_without_user >_sudo_prefix() returns standard prefix when user is empty ... ok >test_operations.test_sudo_prefix_with_group >_sudo_prefix() returns prefix plus -g flag for nonempty group ... ok >test_operations.test_require_complex_non_empty_values >When given keys that exist with non-primitive values that are not empty, ... ok >test_operations.test_require_key_exists_false_primitive_values >When given keys that exist with primitive values that evaluate to False, ... ok >test_operations.test_shell_wrap ... ok >test_operations.test_shell_wrap_does_not_escape_command_if_shell_is_true_and_shell_escape_is_false >_shell_wrap() does no escaping if shell=True and shell_escape=False ... ok >test_operations.test_shell_wrap_escapes_command_if_shell_is_true >_shell_wrap() escapes given command if shell=True ... ok >test_operations.test_sudo_prefix_with_user_and_group >_sudo_prefix() returns prefix plus -u and -g for nonempty user and group ... ok >test_operations.test_shell_wrap_does_not_escape_command_if_shell_is_false >_shell_wrap() does no escaping if shell=False ... ok >test_operations.test_shell_escape_escapes_doublequotes >_shell_escape() escapes double-quotes ... ok >test_operations.test_shell_escape_escapes_dollar_signs >_shell_escape() escapes dollar signs ... ok >test_operations.test_shell_escape_escapes_backticks >_shell_escape() escapes backticks ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", True) >local(): capture: True, stdout: True, stderr: True ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", True) >local(): capture: True, stdout: True, stderr: False ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", True) >local(): capture: True, stdout: False, stderr: True ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", True) >local(): capture: True, stdout: False, stderr: False ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", False) >local(): capture: False, stdout: True, stderr: True ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", False) >local(): capture: False, stdout: True, stderr: False ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", False) >local(): capture: False, stdout: False, stderr: True ... ok >test_operations.test_local_output_and_capture("echo 'foo' >/dev/null", False) >local(): capture: False, stdout: False, stderr: False ... ok >test_parallel.TestParallel.test_env_host_no_user_or_port >Ensure env.host doesn't get user/port parts when parallel ... ok >test_parallel.TestParallel.test_parallel >Want to do a simple call and respond ... ok >test_parallel.TestParallel.test_parallel_failures_abort ... ok >test_parallel.TestParallel.test_parallel_failures_honor_warn_only ... ok >test_parallel.TestParallel.test_parallel_implies_linewise ... ok >test_current_directory_is_uploaded_by_default (test_project.UploadProjectTestCase) >By default the project uploaded is the current working directory. ... ok >test_default_remote_folder_is_home (test_project.UploadProjectTestCase) >Project is uploaded to remote home by default. ... ok >test_path_to_local_project_can_be_specified (test_project.UploadProjectTestCase) >It should be possible to specify which local folder to upload. ... ok >test_path_to_local_project_can_end_in_separator (test_project.UploadProjectTestCase) >A local path ending in a separator should be handled correctly. ... ok >test_path_to_remote_folder_can_be_specified (test_project.UploadProjectTestCase) >It should be possible to specify which local folder to upload to. ... ok >test_project_is_archived_locally (test_project.UploadProjectTestCase) >The project should be archived locally before being uploaded. ... ok >test_temp_folder_is_used (test_project.UploadProjectTestCase) >A unique temp folder is used for creating the archive to upload. ... ok >test_state.test_dict_aliasing >Assigning values to aliases updates aliased keys ... ok >test_state.test_nested_dict_aliasing >Aliases can be nested ... ok >test_state.test_dict_alias_expansion >Alias expansion ... ok >test_tasks.TestExecute.test_calls_task_function_objects >should execute the passed-in function object ... ok >test_tasks.TestExecute.test_parallel_return_values >Parallel mode should still return values as in serial mode ... ok >test_tasks.TestExecute.test_should_abort_if_task_name_not_found >should abort if given an invalid task name ... ok >test_tasks.TestExecute.test_should_handle_name_of_Task_object >handle corner case of Task object referrred to by name ... ok >test_tasks.TestExecute.test_should_honor_hosts_decorator >should honor @hosts on passed-in task objects ... ok >test_tasks.TestExecute.test_should_honor_hosts_kwarg >should use hosts kwarg to set run list ... ok >test_tasks.TestExecute.test_should_honor_roles_decorator >should honor @roles on passed-in task objects ... ok >test_tasks.TestExecute.test_should_look_up_task_name >should also be able to handle task name strings ... ok >test_tasks.TestExecute.test_should_not_abort_if_task_name_not_found_with_skip >should not abort if given an invalid task name ... >Warning: 'thisisnotavalidtaskname' is not callable or a valid task name > >ok >test_tasks.TestExecute.test_should_not_print_executing_line_for_singletons >should not print "Executing" line for non-networked tasks ... ok >test_tasks.TestExecute.test_should_pass_through_args_kwargs >should pass in any additional args, kwargs to the given task. ... ok >test_tasks.TestExecute.test_should_preserve_None_for_non_returning_tasks >Tasks which don't return anything should still show up in the dict ... ok >test_tasks.TestExecute.test_should_print_executing_line_per_host >should print "Executing" line once per host ... ok >test_tasks.TestExecute.test_should_return_dict_for_base_case >Non-network-related tasks should return a dict w/ special key ... ok >test_tasks.TestExecute.test_should_return_dict_for_serial_use_case >Networked but serial tasks should return per-host-string dict ... ok >test_tasks.TestExecute.test_should_set_all_hosts >should set env.all_hosts to its derived host list ... ok >test_tasks.TestExecute.test_should_set_env_command_to_name_attr >should set env.command to TaskSubclass.name if possible ... ok >test_tasks.TestExecute.test_should_set_env_command_to_string_arg >should set env.command to any string arg, if given ... ok >test_tasks.TestExecute.test_should_use_sentinel_for_tasks_that_errored >Tasks which errored but didn't abort should contain an eg NetworkError ... ok >test_tasks.TestExecute.test_should_work_with_Task_subclasses >should work for Task subclasses, not just WrappedCallableTask ... ok >test_tasks.TestExecuteEnvInteractions.test_should_allow_task_to_modify_env_vars ... ok >test_tasks.TestExecuteEnvInteractions.test_should_not_mutate_its_own_env_vars >internal env changes should not bleed out, but task env changes should ... ok >test_aliases_are_None_by_default (test_tasks.TestTask) ... ok >test_aliases_are_set_based_on_provided_aliases (test_tasks.TestTask) ... ok >test_takes_an_alias_kwarg_and_wraps_it_in_aliases_list (test_tasks.TestTask) ... ok >test_decorated_task (test_tasks.TestTaskDetails) >__details__() should print docstr for method with any number and order of decorations ... ok >test_multiline_docstring_indented_correctly (test_tasks.TestTaskDetails) >display_command() should properly indent docstr for old style task methods ... ok >test_old_style_task_with_default_args (test_tasks.TestTaskDetails) >__details__() should print docstr for old style task methods with default args ... ok >test_old_style_task_without_args (test_tasks.TestTaskDetails) >__details__() should print docstr for old style task methods without args ... ok >test_old_style_task_without_default_args (test_tasks.TestTaskDetails) >__details__() should print docstr for old style task methods without default args ... ok >test_subclassed_task (test_tasks.TestTaskDetails) >__details__() should print docstr for subclassed task methods with args ... ok >test_allows_any_number_of_args (test_tasks.TestWrappedCallableTask) ... ok >test_allows_any_number_of_kwargs (test_tasks.TestWrappedCallableTask) ... ok >test_calling_the_object_is_the_same_as_run (test_tasks.TestWrappedCallableTask) ... ok >test_dispatches_to_wrapped_callable_on_run (test_tasks.TestWrappedCallableTask) ... ok >test_name_can_be_overridden (test_tasks.TestWrappedCallableTask) ... ok >test_name_is_the_name_of_the_wrapped_callable (test_tasks.TestWrappedCallableTask) ... ok >test_passes_all_keyword_args_to_run (test_tasks.TestWrappedCallableTask) ... ok >test_passes_all_regular_args_to_run (test_tasks.TestWrappedCallableTask) ... ok >test_passes_unused_args_to_parent (test_tasks.TestWrappedCallableTask) ... ok >test_passes_unused_kwargs_to_parent (test_tasks.TestWrappedCallableTask) ... ok >test_reads_double_under_doc_from_callable (test_tasks.TestWrappedCallableTask) ... ok >test_run_is_wrapped_callable (test_tasks.TestWrappedCallableTask) ... ok >test_tasks.test_base_task_provides_undefined_name ... ok >test_tasks.test_base_task_raises_exception_on_call_to_run ... ok >test_tasks.test_decorator_incompatibility_on_task ... ok >test_tasks.test_decorator_closure_hiding >@task should not accidentally destroy decorated attributes from @hosts/etc ... ok >test_utils.TestErrorHandling.test_doesnt_print_None_when_no_traceback_present >error() doesn't include None in message if there is no traceback ... ok >test_utils.TestErrorHandling.test_error_aborts_if_warn_only_False_and_func_None >warn_only=False, error(func=None) => calls abort() ... ok >test_utils.TestErrorHandling.test_error_calls_given_func_if_func_not_None >error(func=callable) => calls callable() ... ok >test_utils.TestErrorHandling.test_error_includes_stderr_if_given_and_hidden >error() correctly prints stderr if it was previously hidden ... ok >test_utils.TestErrorHandling.test_error_includes_stdout_if_given_and_hidden >error() correctly prints stdout if it was previously hidden ... ok >test_utils.TestErrorHandling.test_error_warns_if_warn_only_True_and_func_None >warn_only=True, error(func=None) => calls warn() ... ok >test_utils.TestErrorHandling.test_errors_print_red_if_colorize_on ... ok >test_utils.TestErrorHandling.test_includes_traceback_if_debug_logging_is_on >error() includes traceback in message if debug logging is on (backwardis compatibility) ... ok >test_utils.TestErrorHandling.test_includes_traceback_if_exceptions_logging_is_on >error() includes traceback in message if exceptions logging is on ... ok >test_utils.TestErrorHandling.test_warnings_print_magenta_if_colorize_on ... ok >test_append_empty (test_utils.TestRingBuffer) ... ok >test_append_full (test_utils.TestRingBuffer) ... ok >test_extend_empty (test_utils.TestRingBuffer) ... ok >test_extend_full (test_utils.TestRingBuffer) ... ok >test_extend_overrun (test_utils.TestRingBuffer) ... ok >test_utils.test_indent(' Test', ' Test') >indent(): Sanity check: 1 line string ... ok >test_utils.test_indent(' Test\n Test', ' Test\n Test') >indent(): List of strings turns in to strings joined by \n ... ok >test_utils.test_indent_with_strip(' Test', ' Test') >indent(strip=True): Sanity check: 1 line string ... ok >test_utils.test_indent_with_strip(' Test\n Test', ' Test\n Test') >indent(strip=True): Check list of strings ... ok >test_utils.test_indent_with_strip(' Test\n Test', ' Test\n Test') >indent(strip=True): Check list of strings ... ok >test_utils.test_abort >abort() should raise SystemExit ... ok >test_utils.test_abort_exception_contains_separate_message_and_code >abort()'s SystemExit contains distinct .code/.message attributes. ... ok >test_utils.test_abort_message >abort() should print 'Fatal error' plus exception value ... ok >test_utils.test_puts_with_encoding_type_none_output >puts() should print unicode output without a stream encoding ... ok >test_utils.test_puts_with_prefix >puts() should prefix output with env.host_string if non-empty ... ok >test_utils.test_puts_with_unicode_output >puts() should print unicode input ... ok >test_utils.test_puts_with_user_output_off >puts() shouldn't print input to sys.stdout if "user" output level is off ... ok >test_utils.test_puts_with_user_output_on >puts() should print input to sys.stdout if "user" output level is on ... ok >test_utils.test_puts_without_prefix >puts() shouldn't prefix output with env.host_string if show_prefix is False ... ok >test_utils.test_warn >warn() should print 'Warning' plus given text ... ok >test_utils.test_abort_with_exception >abort() should raise a provided exception ... >Fatal error: Test > >Aborting. >ok >test_utils.test_abort_message_only_printed_once >abort()'s SystemExit should not cause a reprint of the error message ... FAIL >test_utils.test_fastprint_calls_puts >fastprint() is just an alias to puts() ... ok >test_version.test_get_version('0.9.0', '0.9.0') ... ok >test_version.test_get_version('0.9', '0.9') ... ok >test_version.test_get_version('0.9 final', '0.9 final') ... ok >test_version.test_get_version('0.9.1', '0.9.1') ... ok >test_version.test_get_version('0.9.1', '0.9.1') ... ok >test_version.test_get_version('0.9.1 final', '0.9.1 final') ... ok >test_version.test_get_version('0.9a1', '0.9a1') ... ok >test_version.test_get_version('0.9 alpha 1', '0.9 alpha 1') ... ok >test_version.test_get_version('0.9 alpha 1', '0.9 alpha 1') ... ok >test_version.test_get_version('0.9.1b1', '0.9.1b1') ... ok >test_version.test_get_version('0.9.1 beta 1', '0.9.1 beta 1') ... ok >test_version.test_get_version('0.9.1 beta 1', '0.9.1 beta 1') ... ok >test_version.test_get_version('0.9rc1', '0.9rc1') ... ok >test_version.test_get_version('0.9 release candidate 1', '0.9 release candidate 1') ... ok >test_version.test_get_version('0.9 release candidate 1', '0.9 release candidate 1') ... ok >test_version.test_get_version('1.0a', '1.0a') ... ok >test_version.test_get_version('1.0 pre-alpha', '1.0 pre-alpha') ... ok >test_version.test_get_version('1.0 pre-alpha', '1.0 pre-alpha') ... ok > >====================================================================== >FAIL: test_utils.test_abort_message_only_printed_once >abort()'s SystemExit should not cause a reprint of the error message >---------------------------------------------------------------------- >Traceback (most recent call last): > File "/usr/lib64/python2.7/site-packages/nose/case.py", line 197, in runTest > self.test(*self.arg) > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/test_utils.py", line 100, in test_abort_message_only_printed_once > eq_(result.stderr, "Fatal error: It burns!\n\nAborting.") >AssertionError: '/bin/sh: fab: command not found' != 'Fatal error: It burns!\n\nAborting.' > >---------------------------------------------------------------------- >Ran 398 tests in 113.059s > >FAILED (failures=1) >Exception in thread Thread-477 (most likely raised during interpreter shutdown): >Traceback (most recent call last): > File "/usr/lib64/python2.7/threading.py", line 810, in __bootstrap_inner > File "/usr/lib64/python2.7/threading.py", line 763, in run > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 564, in process_request_thread > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 332, in handle_error ><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'write' >Exception in thread Thread-476 (most likely raised during interpreter shutdown): >Traceback (most recent call last): > File "/usr/lib64/python2.7/threading.py", line 810, in __bootstrap_inner > File "/usr/lib64/python2.7/threading.py", line 763, in run > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 564, in process_request_thread > File "/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2/tests/Python26SocketServer.py", line 332, in handle_error ><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'write' > [31;01m*[0m ERROR: dev-python/fabric-1.10.2::gentoo failed (test phase): > [31;01m*[0m (no error message) > [31;01m*[0m > [31;01m*[0m Call stack: > [31;01m*[0m ebuild.sh, line 133: Called src_test > [31;01m*[0m environment, line 3596: Called distutils-r1_src_test > [31;01m*[0m environment, line 937: Called _distutils-r1_run_foreach_impl 'python_test' > [31;01m*[0m environment, line 291: Called python_foreach_impl 'distutils-r1_run_phase' 'python_test' > [31;01m*[0m environment, line 3104: Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' > [31;01m*[0m environment, line 2207: Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test' > [31;01m*[0m environment, line 2205: Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test' > [31;01m*[0m environment, line 562: Called distutils-r1_run_phase 'python_test' > [31;01m*[0m environment, line 870: Called python_test > [31;01m*[0m environment, line 3475: Called esetup.py 'test' > [31;01m*[0m environment, line 1365: Called die > [31;01m*[0m The specific snippet of code: > [31;01m*[0m "${@}" || die "${die_args[@]}" || return ${?} > [31;01m*[0m > [31;01m*[0m If you need support, post the output of `emerge --info '=dev-python/fabric-1.10.2::gentoo'`, > [31;01m*[0m the complete build log and the output of `emerge -pqv '=dev-python/fabric-1.10.2::gentoo'`. > [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-python/fabric-1.10.2/temp/build.log'. > [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-python/fabric-1.10.2/temp/environment'. > [31;01m*[0m Working directory: '/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2' > [31;01m*[0m S: '/var/tmp/portage/dev-python/fabric-1.10.2/work/Fabric-1.10.2'
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 571648
: 422660