#!/usr/bin/env herodo
// Test: Runtime Builder Configuration
// Tests that RuntimeBuilder correctly configures the runtime

print("=== Test: Runtime Builder Configuration ===");

// Test 1: Basic runtime with auto-detect
print("\n[TEST 1] Runtime with auto-detected Cloud Hypervisor");
let runtime1 = RuntimeBuilder()
    .api_socket("/tmp/test-ch-1.sock");

print("✓ Runtime with auto-detect created");

// Test 2: Runtime with explicit binary path
print("\n[TEST 2] Runtime with explicit binary path");
let runtime2 = RuntimeBuilder()
    .ch_path("/usr/local/bin/cloud-hypervisor")
    .api_socket("/tmp/test-ch-2.sock");

print("✓ Runtime with explicit path created");

// Test 3: Runtime with security features
print("\n[TEST 3] Runtime with security features");
let runtime3 = RuntimeBuilder()
    .api_socket("/tmp/test-ch-3.sock")
    .seccomp(true)
    .landlock(true);

print("✓ Runtime with security features created");

// Test 4: Runtime with all options
print("\n[TEST 4] Runtime with all options");
let runtime4 = RuntimeBuilder()
    .ch_path("/usr/local/bin/cloud-hypervisor")
    .api_socket("/tmp/test-ch-4.sock")
    .seccomp(true)
    .landlock(true);

print("✓ Runtime with all options created");

// Test 5: Multiple runtime configurations (different sockets)
print("\n[TEST 5] Multiple runtime configurations");
let rt_a = RuntimeBuilder().api_socket("/tmp/test-ch-a.sock");
let rt_b = RuntimeBuilder().api_socket("/tmp/test-ch-b.sock");
let rt_c = RuntimeBuilder().api_socket("/tmp/test-ch-c.sock");

print("  ✓ Runtime A");
print("  ✓ Runtime B");
print("  ✓ Runtime C");

print("\n=== All Runtime Builder tests passed! ===");
