set timeout 10

proc chat {instr outstr} {
    expect {
        $instr  { send $outstr }
        timeout { exit 1 }
    }
}
spawn socat -,echo=0,icanon=1 unix-connect:vm/monitor
set monitor_id $spawn_id

spawn socat unix-connect:vm/console -
set console_id $spawn_id

expect "BusyBox"
chat "#" "PS1=RE\\ADY_\\ ; stty -echo \r"
chat "READY_"  "tail -f /run/uncaught-logs/current & \rs6-rc -b  -a list\r"

chat "mount" "\r"

set spawn_id $monitor_id
chat "QEMU" "device_add usb-storage,bus=xhci.0,drive=usbstick\n"
chat "(qemu)" "version\r"

set spawn_id $console_id

expect {
  "sda: sda1" { }
  timeout { exit 1 }
}


send "\r"
chat "READY_" "sleep 3; grep /srv /proc/mounts && hostname\r"

expect {
  "inout" { }
  timeout { exit 1 }
}