tree: 737f6d9b7693ccc9052f96fe0e81a5bea461a305 [path history] [tgz]
  1. BUILD.gn
  2. OWNERS
  3. README.md
  4. allow_list.cc
  5. allow_list.h
  6. allow_list_unittest.cc
  7. appmgr.cc
  8. appmgr.h
  9. cache_control.cc
  10. cache_control.h
  11. component_container.h
  12. component_controller_impl.cc
  13. component_controller_impl.h
  14. component_controller_unittest.cc
  15. component_event_provider_impl.cc
  16. component_event_provider_impl.h
  17. component_event_provider_unittest.cc
  18. component_id_index.cc
  19. component_id_index.h
  20. component_id_index_unittest.cc
  21. config/
  22. constants.h
  23. cpu_watcher.cc
  24. cpu_watcher.h
  25. cpu_watcher_unittest.cc
  26. crash_introspector.cc
  27. crash_introspector.h
  28. debug_info_retriever.cc
  29. debug_info_retriever.h
  30. dynamic_library_loader.cc
  31. dynamic_library_loader.h
  32. environment_controller_impl.cc
  33. environment_controller_impl.h
  34. fidl/
  35. hub/
  36. integration_tests/
  37. job_provider_impl.cc
  38. job_provider_impl.h
  39. lifecycle.cc
  40. lifecycle.h
  41. log_connector_impl.cc
  42. log_connector_impl.h
  43. log_connector_impl_unittest.cc
  44. main.cc
  45. meta/
  46. moniker.cc
  47. moniker.h
  48. moniker_unittest.cc
  49. namespace.cc
  50. namespace.h
  51. namespace_builder.cc
  52. namespace_builder.h
  53. namespace_builder_unittest.cc
  54. namespace_unittest.cc
  55. policy_checker.cc
  56. policy_checker.h
  57. policy_checker_unittest.cc
  58. realm.cc
  59. realm.h
  60. runner_holder.cc
  61. runner_holder.h
  62. scheme_map.cc
  63. scheme_map.config
  64. scheme_map.h
  65. scheme_map_unittest.cc
  66. service_provider_dir_impl.cc
  67. service_provider_dir_impl.h
  68. service_provider_dir_unittest.cc
  69. startup_service.cc
  70. startup_service.h
  71. storage_metrics.cc
  72. storage_metrics.h
  73. storage_metrics_unittest.cc
  74. storage_unittest.cc
  75. storage_watchdog.cc
  76. storage_watchdog.h
  77. storage_watchdog_unittest.cc
  78. system_diagnostics_directory.cc
  79. system_diagnostics_directory.h
  80. test/
  81. util.cc
  82. util.h
  83. util_unittest.cc
src/sys/appmgr/README.md

appmgr

Reviewed on: 2019-07-22

Appmgr is responsible for launching v1 components and managing the namespaces in which those components run. It is the first process started in the fuchsia job by devmgr.

Building

This project is typically included in Fuchsia builds by default, but it can be added to a build by adding --with //src/sys/appmgr to the fx set invocation.

Running

Appmgr is run on all non-bringup Fuchsia builds. It can be interacted with via the fuchsia.sys FIDL apis.

Testing

Unit tests for appmgr are available in the appmgr_unittests package.

$ fx test appmgr_unittests

Integration tests are available in the following packages, and each can be run with fx test.

  • appmgr_integration_tests
  • build_info_tests
  • components_binary_tests
  • has_deprecated_shell
  • has_isolated_cache_storage
  • has_isolated_persistent_storage
  • has_isolated_temp
  • has_shell_commands
  • has_system_temp
  • inspect_integration_tests
  • inspect_vmo_integration_tests
  • isolated_persistent_storage
  • multiple_components
  • no_isolated_temp
  • no_persistent_storage
  • no_services
  • no_shell_commands
  • no_shell
  • no_system_temp
  • some_services
  • uses_system_deprecated_data

Source layout

The entrypoint is located in main.cc, with the majority of the implementation living in top-level .cc and .h files, with the exception of the hub implementation which is in hub/. Unit tests are located in _unittest.cc files.

Integration tests are in the integration_tests/ directory.