Skip to content

[AppService] Fix #34005: az webapp ssh: Report SSH session failures instead of exiting 0 - #34006

Open
Aditya Pujara (a0x1ab) wants to merge 9 commits into
Azure:devfrom
a0x1ab:agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
Open

[AppService] Fix #34005: az webapp ssh: Report SSH session failures instead of exiting 0#34006
Aditya Pujara (a0x1ab) wants to merge 9 commits into
Azure:devfrom
a0x1ab:agent-assist/azure-azure-cli-issue-34005-b92a89e7781c

Conversation

@a0x1ab

@a0x1ab Aditya Pujara (a0x1ab) commented Aug 27, 2026

Copy link
Copy Markdown
Member

🤖 PR Validation — ️✔️ All clear

Breaking Changes Tests
️✔️ None ️✔️ 130/130

Description

Fixes #34005.

  • Fix _start_ssh_session to raise CLIError instead of swallowing SSH session exceptions silently
  • Fix create_tunnel_and_session to capture and re-raise exceptions from the SSH session thread so the CLI exits non-zero

…lures instead of exiting 0

* Initial plan

* [AppService] `az webapp ssh`: Report SSH session failures instead of exiting 0

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test skipped

⏭️ Skipping the live test for this revision because no changed test file was found (tests/**/test_*.py).

The live-test pipeline runs only the test files a PR changes, so there is nothing to execute for this commit. A skipped live test is not a passing test result. The Agent review separately checks whether the affected command module includes focused regression tests or updated recordings. If a test file is changed in a later commit, the live test will run automatically.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the AppService az webapp ssh implementation so SSH session failures are surfaced to the user and cause a non-zero CLI exit, instead of being silently swallowed and returning success.

Changes:

  • Update _start_ssh_session to raise a CLIError when the interactive SSH session fails.
  • Update create_tunnel_and_session to capture exceptions from the SSH session thread and re-raise them on the main thread.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 11419 to 11420
while s.is_alive() and t.is_alive():
time.sleep(5)
@yonzhan

Copy link
Copy Markdown
Collaborator

AppService

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Upstream CI

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

Test validation

  • Live test: Skipped: no runnable changed test files were found.
  • Regression coverage: Gap detected for appservice: production behavior changed without a focused test or recording change.

No additional evidence-confirmed semantic findings beyond the coverage gap noted above.

Risk assessment

43/100 · Medium · High confidence

The Medium rating is driven by public CLI behavior, failure-handling behavior, no changed regression test.

  • Change scope: 1 changed file, 16 changed lines (+13 / -3), including 1 production file.
  • Affected components: appservice
  • Risk drivers: public CLI behavior (+18); failure-handling behavior (+12); no changed regression test (+10)
  • Regression evidence: No changed regression test was detected for the production changes, increasing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is recommended for appservice before merge.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #34006 (review): https://github.com/a0x1ab/azure-cli/tasks/c9d40290-60a9-4a8f-8a71-ffa920413206

Copilot AI and others added 2 commits August 27, 2026 23:45
Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: 2925d5d7eb5cbf3d119838776eb5fedb2d049a16
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33128894373

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 3.67s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Upstream CI

azdev-style

  • Result: failure
  • Relevance: Uncertain
  • Evidence: The check completed without a concise diagnostic.
  • Suggested fix: Open the linked log and confirm whether the first actionable error touches the PR diff before changing code.
  • Verify: Re-run azdev-style and confirm it passes on the new head.

Azure.azure-cli

  • Result: failure
  • Included checks: Azure.azure-cli (Check CLI Style)
  • Failure details:
    • Check CLI Style / Bash (Uncertain)
      • Evidence: Running pylint on modules...
        Pylint: PASSED
        ERROR: ************* Module azure.cli.command_modules.appservice.custom
        src/azure-cli/azure/cli/command_modules/appservice/custom.py:11423:8: E0702: Raising NoneType while only classes or instances are allowed (raising-bad-type)

Your code has been rated at 10.00/10
ERROR: Pylint: FAILED
Running flake8 on modules...
Flake8: PASSED
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Check CLI Style / Bash and confirm the quoted diagnostic is gone.

Test validation

  • Live test: Passed. Workflow run
  • Regression coverage: Present for appservice: 1 focused test file(s) changed.

No review-skill findings were confirmed from the changed-line evidence.

Summary: CI is failing because of a real pylint error introduced by this PR: raising-bad-type at src/azure-cli/azure/cli/command_modules/appservice/custom.py:11423 (raising None instead of an exception class/instance). Please fix the raise statement so it raises a proper exception (e.g. a CLIError/AzCLIError subclass or Exception instance) instead of None, then re-run azdev style locally to confirm before pushing.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #34006 (review): https://github.com/a0x1ab/azure-cli/tasks/29343d26-a078-49a0-9561-64cbdfbfcc85

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: 08ff8448a8844856c1b406ab647f1bc58f8255d7
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33132313063

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 4.16s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Summary

All checks passed:

  • CI: 50/50 checks passed, 0 failed, 0 pending.
  • Live test: Dispatched live-test.yml on the changed test file (test_webapp_commands_thru_mock.py); conclusion success.
  • Regression coverage: No gap detected — the production change in appservice/custom.py is accompanied by new/updated tests in test_webapp_commands_thru_mock.py.
  • Review-skill findings: None confirmed. The change replaces a silently-swallowed SSH session exception (logger.info(ex)) with a raised CLIError, and propagates the SSH thread's exception back to the caller of create_tunnel_and_session instead of exiting 0 on failure. New unit tests cover the raised-error path, connection-close-on-failure path, and the error-propagation path through the calling function.

Risk assessment

28/100 · Medium · High confidence

The Medium rating is driven by public CLI behavior, failure-handling behavior.

  • Change scope: 2 changed files, 111 changed lines (+107 / -4), including 1 production file.
  • Affected components: appservice
  • Risk drivers: public CLI behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is recommended for appservice before merge.

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@a0x1ab
Aditya Pujara (a0x1ab) requested review from a team as code owners August 31, 2026 00:54
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: aab5a7582812eb5b332d9ec007ca748135086a65
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33346893216

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 3.98s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: 3758d11947a9141af7ce393365a47429d83bdcc2
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33348905705

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 4.00s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@a0x1ab

Copy link
Copy Markdown
Member Author

From Yu Chen (@jsntcy):

@Azure/azure-client-tools-agent
There are multiple similar issues reported before and there are lots of discussions (key one: [Shell] Azure CLI receives corrupted arguments in PowerShell · Issue #15529 · Azure/azure-cli). Usually it is considered as a PowerShell issue instead of fixing in Azure CLI.
#10370 in 2019: SQL password containing ).
#14783 in 2020: explicitly says it “most likely impacts every command.”
#15418: blob name containing ).
#23018: Key Vault secret containing ).
#25173 and #28692: az login passwords containing ).
#27865: pipeline variable values losing ).
#32320: JMESPath expressions ending in ).
#26682: general request to replace az.cmd with az.exe
Simply fixing it like [VM] Fix #33979: az vm user update: Fix password parsing so ')' in --password does not break Win… may introduce other issues.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for human feedback at #34006 (comment): https://github.com/a0x1ab/azure-cli/tasks/221af92a-f957-4e4c-abd3-ca4fc3c2d3b5

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: 2652841892ef417005e2d4322a4b651ede53f47a
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33351895871

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 4.06s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Automated review summary

CI (50/50 checks) and the live-test dispatch both passed for this PR, but a review-skill scope-consistency check found unrelated bundled changes that must be resolved before merge.

Scope-consistency finding

  • Scope-consistency (Medium)src/azure-cli/requirements.py3.Darwin.txt, src/azure-cli/requirements.py3.Linux.txt, src/azure-cli/requirements.py3.windows.txt, doc/quoting-issues-with-powershell.md: this PR is titled and scoped as a fix for az webapp ssh failure reporting (custom.py + its test file), but it also bundles two unrelated commits: (1) chore: upgrade invoke from 2.2.0 to 3.0.3 bumping the invoke dependency pin in all three requirements.py3.*.txt files, and (2) doc: add section on closing parenthesis ) being stripped in PowerShell, adding an unrelated quoting-issues doc section. Neither change relates to SSH session failure reporting, the stated issue (#34005), or the PR title/History Notes.
    Remediation: Split the invoke dependency bump and the PowerShell quoting-issues doc section into separate, independently-titled PRs (or drop them from this branch if they were picked up unintentionally), so this PR only contains the SSH failure-reporting fix and its test.
    Verify: Confirm the final diff for this PR touches only src/azure-cli/azure/cli/command_modules/appservice/custom.py and its test_webapp_commands_thru_mock.py test file (plus any required History Notes for the stated fix).

Risk assessment

29/100 · Medium · High confidence

The Medium rating is driven by public CLI behavior, failure-handling behavior.

  • Change scope: 6 changed files, 149 changed lines (+142 / -7), including 1 production file.
  • Affected components: appservice
  • Risk drivers: public CLI behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is recommended for appservice before merge.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for the automated review at #34006 (review): https://github.com/a0x1ab/azure-cli/tasks/74c78cd8-a809-4dde-89d6-58faea76ceb2

…ction

Reverts:
- invoke 3.0.3 → 2.2.0 in requirements.py3.*.txt (unrelated to SSH fix)
- doc section on PowerShell closing parenthesis (unrelated to SSH fix)

Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: 0ec38c18117236f6822f8147d5d10a11ea1d4e69
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33356483378

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 4.07s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

PASS

Selectors: test_webapp_commands_thru_mock (module)
PR head ref: agent-assist/azure-azure-cli-issue-34005-b92a89e7781c
PR head sha: f597be4314258f2c122d1f71f329e5a8e86f1378
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/33358818155

Last 80 lines of azdev output
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_404_with_instance PASSED [ 34%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_500_raises PASSED [ 35%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_raises_on_windows PASSED [ 36%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_success PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_filters PASSED [ 37%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_list_startup_logs_with_slot PASSED [ 38%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_no_filename PASSED [ 39%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_filename PASSED [ 40%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_404_with_instance PASSED [ 41%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_500_raises PASSED [ 42%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_filename_and_instance_mutually_exclusive PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_json_response PASSED [ 43%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_latest PASSED [ 44%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_raises_on_windows PASSED [ 45%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_specific_filename PASSED [ 46%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStartupLogsMocked::test_show_startup_log_with_instance PASSED [ 47%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_transform_troubleshoot_status_output_renders_error_columns PASSED [ 48%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_all_instances PASSED [ 49%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_arm_404_with_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_machine_name_as_instance PASSED [ 50%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_raises_on_windows PASSED [ 51%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_report_flag_renders_and_returns_none PASSED [ 52%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_single_instance PASSED [ 53%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_400_invalid_filename_surfaces_message PASSED [ 54%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_404_returns_empty_startup PASSED [ 55%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_500_surfaces_message PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_summary_request_exception_surfaces_transport_error PASSED [ 56%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestTroubleshootStatusMocked::test_troubleshoot_status_unknown_instance_raises PASSED [ 57%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_runtime_failed_includes_startup_log_hint PASSED [ 58%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestRuntimeFailedHintMocked::test_timeout_includes_startup_log_hint PASSED [ 59%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_arm_body_includes_tag PASSED [ 60%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_scm_url_includes_encoded_tag PASSED [ 61%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployTag::test_webapp_deploy_ignores_tag_for_windows_webapp PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_default_sku_is_p0v3_when_not_specified PASSED [ 62%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_false_creates_windows_plan PASSED [ 63%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_is_linux_none_defaults_to_linux PASSED [ 64%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_on_ase PASSED [ 65%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestCreateAppServicePlanDefaults::test_update_to_isolated_v4_sku_requires_ase PASSED [ 66%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_falls_back_when_no_cache PASSED [ 67%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_refreshes_on_401 PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers PASSED [ 68%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_check_zip_deployment_status_reuses_cached_headers_basic_auth PASSED [ 69%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_derives_from_cached_site PASSED [ 70%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_or_fetch_scm_url_falls_back_when_no_cached_site PASSED [ 71%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_calls_is_flex_when_no_hint PASSED [ 72%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_get_scm_site_headers_skips_is_flex_when_hint_provided PASSED [ 73%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_function_app PASSED [ 74%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_unknown PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_known_is_flex_hint_web_app PASSED [ 75%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_one_deploy_params_repr_does_not_leak_credentials PASSED [ 76%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_exception PASSED [ 77%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_perform_onedeploy_internal_clears_cache_on_success PASSED [ 78%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_aad_capitalized_key PASSED [ 79%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_basic_auth_lowercase_key PASSED [ 80%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeployScmCache::test_populate_cached_scm_headers_noop_without_authorization PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_lazy_fetch_for_functionapp PASSED [ 81%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_is_linux_webapp_uses_cached_value PASSED [ 82%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_caches_result PASSED [ 83%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_or_fetch_site_uses_slot_when_set PASSED [ 84%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_falls_back_when_no_cache PASSED [ 85%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_site PASSED [ 86%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_get_visit_url_uses_cached_slot_site PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_http_when_no_ssl PASSED [ 87%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestOneDeploySiteCache::test_url_from_site_picks_https_when_ssl_enabled PASSED [ 88%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_transition_identifiers_are_deduplicated PASSED [ 89%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_node_26_uses_standard_identifier_on_both_platforms PASSED [ 90%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeNodeStandardization::test_older_node_identifiers_remain_unchanged PASSED [ 91%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_javaNNRuntime_keys PASSED [ 92%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_not_first_selected_by_auto_update PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_aggregate_runtimes_array_complete PASSED [ 93%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_container_settings_data_reads_mapping PASSED [ 94%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_get_java_runtimes_from_container_settings_reads_mapping PASSED [ 95%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_runtimes_array_entries_flagged_auto_update PASSED [ 96%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestStackRuntimeJavaSELinux::test_typed_attrs_only_expose_java_8_11_but_mapping_has_all PASSED [ 97%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_create_tunnel_and_session_propagates_ssh_error PASSED [ 98%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_closes_connection_on_failure PASSED [ 99%]
azure-cli/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py::TestSshSessionFailureReporting::test_start_ssh_session_raises_clierror_on_run_failure PASSED [100%]

- generated xml file: /home/runner/work/issue-sentinel/issue-sentinel/test-output/results.xml -
============================= 116 passed in 3.93s ==============================

Posted by the Azure Client Tools Agent live-test workflow.

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Automated review summary

Result: Pass

  • CI: All 50 checks passed (0 failed, 0 pending).
  • Live test: azdev test run against the changed test file completed successfully.
  • Regression coverage: Production change in src/azure-cli/azure/cli/command_modules/appservice/custom.py is covered by new/updated tests in test_webapp_commands_thru_mock.py (no coverage gap detected).
  • Review skills: No confirmed findings from release-artifact, test-strength, scope-consistency or domain-edge-case checks. The change is scoped to the SSH-session failure path in create_tunnel_and_session / _start_ssh_session, matches the stated fix (az webapp ssh now raises CLIError and reports failures instead of exiting 0), and the added tests cover the exception-propagation and connection-cleanup behavior with negative-path assertions.

No blocking issues found.

@a0x1ab

Copy link
Copy Markdown
Member Author

@Azure/azure-client-tools-agent Re-run the full validation and automated review for the current PR state. Do not change code unless you find a real issue.

@x-engineering-agent

Copy link
Copy Markdown
Contributor

Started a Copilot task using claude-sonnet-4.6 for human feedback at #34006 (comment): https://github.com/a0x1ab/azure-cli/tasks/855ae8d0-158b-4998-8a43-99362812ce87

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aditya Pujara (@a0x1ab)

Validation passed ✅

All CI checks passed, live tests completed successfully, and no deterministic review-skill findings were identified.

Test validation

  • Live test: Passed. Workflow run
  • Regression coverage: Present for appservice: 1 focused test file(s) changed.

Risk assessment

28/100 · Medium · High confidence

The Medium rating is driven by public CLI behavior, failure-handling behavior.

  • Change scope: 2 changed files, 111 changed lines (+107 / -4), including 1 production file.
  • Affected components: appservice
  • Risk drivers: public CLI behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is recommended for appservice before merge.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

🔔 Routing this PR to @Azure/act-observability-squad.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

act-observability-squad Auto-Assign Auto assign by bot Web Apps az webapp X Engineering Agent Reviewed Pull request reviewed by X Engineering Agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[App Service] az webapp ssh silently exits on macOS with Python 3.14 and Invoke 2.2.0

5 participants