Skip to content

When a pre-run test or decorator (such as AndroidJitEmulatorDecorator) fails before Tradefed executes any test modules, LocalTestFlow wraps the underlying exception in TR_FAILED_TO_RUN_DEVICE_PRE_RUN_TEST_IN_LOCAL_TEST_FLOW. Because NewMultiCommandRequestHandler previously extracted only Throwable::getMessage when populating CommandDetail.error_message, the ATS Web UI error details (OMNILAB_ERROR) displayed only the outer wrapper message and dropped the Caused by chain. Additionally, CloudOrchestratorClient omitted the target endpoint URL in its exception messages when HTTP requests failed. - #7092

Merged
copybara-service[bot] merged 1 commit into
mainfrom
test_1001670500
Oct 26, 2026

Conversation

@copybara-service

Copy link
Copy Markdown

When a pre-run test or decorator (such as AndroidJitEmulatorDecorator) fails before Tradefed executes any test modules, LocalTestFlow wraps the underlying exception in TR_FAILED_TO_RUN_DEVICE_PRE_RUN_TEST_IN_LOCAL_TEST_FLOW. Because NewMultiCommandRequestHandler previously extracted only Throwable::getMessage when populating CommandDetail.error_message, the ATS Web UI error details (OMNILAB_ERROR) displayed only the outer wrapper message and dropped the Caused by chain. Additionally, CloudOrchestratorClient omitted the target endpoint URL in its exception messages when HTTP requests failed.

Serialize the full exception causal chain and stack trace via Throwables.getStackTraceAsString in NewMultiCommandRequestHandler when building failed test and job error messages, and include the target endpoint URL in CloudOrchestratorClient request failure messages so connection and HTTP errors are immediately actionable in the ATS UI and logs.

@copybara-service
copybara-service Bot force-pushed the test_1001670500 branch 4 times, most recently from ddce59f to bac63a5 Compare October 26, 2026 10:21
…r`) fails before Tradefed executes any test modules, `LocalTestFlow` wraps the underlying exception in `TR_FAILED_TO_RUN_DEVICE_PRE_RUN_TEST_IN_LOCAL_TEST_FLOW`. Because `NewMultiCommandRequestHandler` previously extracted only `Throwable::getMessage` when populating `CommandDetail.error_message`, the ATS Web UI error details (`OMNILAB_ERROR`) displayed only the outer wrapper message and dropped the `Caused by` chain. Additionally, `CloudOrchestratorClient` omitted the target endpoint URL in its exception messages when HTTP requests failed.

Serialize the full exception causal chain and stack trace via `Throwables.getStackTraceAsString` in `NewMultiCommandRequestHandler` when building failed test and job error messages, and include the target endpoint URL in `CloudOrchestratorClient` request failure messages so connection and HTTP errors are immediately actionable in the ATS UI and logs.

PiperOrigin-RevId: 1007151024
@copybara-service
copybara-service Bot merged commit 295e09b into main Oct 26, 2026
5 checks passed
@copybara-service
copybara-service Bot deleted the test_1001670500 branch October 26, 2026 10:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants