30 lines
971 B
Rust
30 lines
971 B
Rust
use lazaret_ignored_workspace::{PRIVATE_ROUTER_ROLE, dispatch_private_router};
|
|
use lazaret_linux::private_role::{PrivateRole, PrivateRoleRegistry};
|
|
use lazaret_linux::process::{PRIVATE_PROCESS_ROLE, dispatch_private_process_role};
|
|
|
|
use crate::supervision::{PRIVATE_RUNTIME_ROLE, dispatch_private_runtime_role};
|
|
|
|
static ROLES: [PrivateRole; 3] = [
|
|
PrivateRole::new(PRIVATE_PROCESS_ROLE, dispatch_private_process_role),
|
|
PrivateRole::new(PRIVATE_ROUTER_ROLE, dispatch_private_router),
|
|
PrivateRole::new(PRIVATE_RUNTIME_ROLE, dispatch_private_runtime_role),
|
|
];
|
|
|
|
pub static REGISTRY: PrivateRoleRegistry = PrivateRoleRegistry::new(&ROLES);
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn runtime_supervisor_declares_exact_ordered_roles() {
|
|
assert_eq!(
|
|
REGISTRY.names(),
|
|
[
|
|
PRIVATE_PROCESS_ROLE,
|
|
PRIVATE_ROUTER_ROLE,
|
|
PRIVATE_RUNTIME_ROLE
|
|
]
|
|
);
|
|
}
|
|
}
|