| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| use {fuchsia_async as fasync, test_utils_lib::opaque_test::OpaqueTest}; |
| |
| #[fasync::run_singlethreaded(test)] |
| async fn test() { |
| // For the root component manifest, pass in the path the component manager |
| // itself, which should be completely invalid. |
| let mut test = |
| OpaqueTest::default("fuchsia-pkg://fuchsia.com/component_manager#bin/component_manager") |
| .await |
| .unwrap(); |
| |
| let event_source = test.connect_to_event_source().await.unwrap(); |
| |
| // Errors during manifest resolution also block progress. `start_component_tree` resumes the |
| // task attempting to start the root component. |
| event_source.start_component_tree().await; |
| |
| // We expect that component manager will crash since the root component |
| // manifest is invalid. |
| let exit_status = test.component_manager_app.wait().await.unwrap(); |
| if exit_status.success() { |
| panic!("component manager should have exited with error, but exited normally"); |
| } |
| } |