//! Socket Discovery Test //! //! This example demonstrates the zinit socket discovery functionality. //! It shows how the service manager finds available zinit sockets. use sal_service_manager::create_service_manager; fn main() { // Initialize logging to see socket discovery in action env_logger::init(); println!("=== Zinit Socket Discovery Test ==="); println!("This test demonstrates how the service manager discovers zinit sockets."); println!(); // Test environment variable if let Ok(socket_path) = std::env::var("ZINIT_SOCKET_PATH") { println!("🔍 ZINIT_SOCKET_PATH environment variable set to: {}", socket_path); } else { println!("🔍 ZINIT_SOCKET_PATH environment variable not set"); } println!(); println!("🚀 Creating service manager..."); match create_service_manager() { Ok(_manager) => { println!("✅ Service manager created successfully!"); #[cfg(target_os = "macos")] println!("📱 Platform: macOS - Using launchctl"); #[cfg(target_os = "linux")] println!("🐧 Platform: Linux - Check logs above for socket discovery details"); } Err(e) => { println!("❌ Failed to create service manager: {}", e); } } println!(); println!("=== Test Complete ==="); println!(); println!("To test zinit socket discovery on Linux:"); println!("1. Start zinit: zinit -s /tmp/zinit.sock init"); println!("2. Run with logging: RUST_LOG=debug cargo run --example socket_discovery_test -p sal-service-manager"); println!("3. Or set custom path: ZINIT_SOCKET_PATH=/custom/path.sock RUST_LOG=debug cargo run --example socket_discovery_test -p sal-service-manager"); }