set test "flightrec1"
if {![installtest_p]} { untested $test; return }

# Make sure we start with a clean slate.
catch {exec rm -f $test.out*}

# run stapio in background mode
spawn stap -F -o $test.out -we {probe begin {}}
# check whether stap outputs stapio pid
set pid 0
expect {
  -timeout 240
  -re {([0-9]+)\r\n} {
      pass "$test (flight recorder option)"
      set pid $expect_out(1,string)
      exp_continue}
  timeout { fail "$test (timeout)" }
  eof { }
}
wait; catch {close}
if {$pid == 0} {
  fail "$test (no pid)"
  return -1
}

# check whether stapio is running in background
spawn ps -o cmd hc $pid
expect {
  -timeout 10
  "stapio" {pass "$test (stapio in background)"} # don't contine
  timeout { fail "$test (timeout)"}
  eof { fail "$test (stapio was not found)" }
}
wait; catch {close}

# switch file
exec sleep 2
exec kill -USR2 $pid

# check output file
exec sleep 2
if {[catch {exec rm $test.out}]} {
  fail "$test (no output file)"
  return -1
} else {
  pass "$test (output file)"
}

exec kill -TERM $pid

# check switched output file
if {[catch {exec rm $test.out.1}]} {
  fail "$test (failed to switch output file)"
  return -1
} else {
  pass "$test (switch output file)"
}

