# file      : tests/test/script/runner/test-runner.testscript
# license   : MIT; see accompanying LICENSE file

.include ../common.testscript

+if ($cxx.target.class == 'windows')
  exit

+cat <<EOI >=run
  #!/bin/sh
  if test "$1" = "--trace"; then
    shift
    echo "$*"
  fi
  "$@"
  EOI

+chmod u+x run

run=$~/run

: basic
:
$c <<EOI && $b "config.test.runner=$run --trace"
  +cat <'text' >'text'         # Non-test program.

  +$* -o 'text' >>~%EOO%       # Test program.
    %.+/driver -o text%
    text
    EOO

  {{
    prog = $0
    test=cat

    +cat <'text' >>EOO         # Test program.
      cat
      text
      EOO

    +$prog -o 'text' >>~%EOO%  # Non-test program.
      text
      EOO

    test=$prog

    {
      cat <'text' >'text'      # Non-test program.

      $* -o 'text' >>~%EOO%    # Test program.
        %.+/driver -o text%
        text
        EOO
    }
  }}
  EOI

: syntax-1
:
{{
  b = [cmdline] $regex.apply($b, '(.+testscript.syntax).+', "\1 = 1'")

  : basic
  :
  $c <<EOI && $b "config.test.runner=$run --trace"
    +cat <'text' >'text'         # Non-test program.

    +$* -o 'text' >>~%EOO%       # Test program.
      %.+/driver -o text%
      text
      EOO

    {
      prog = $0
      test=cat

      +cat <'text' >>EOO         # Test program.
        cat
        text
        EOO

      +$prog -o 'text' >>~%EOO%  # Non-test program.
        text
        EOO

      test=$prog

      {
        cat <'text' >'text';     # Non-test program.

        $* -o 'text' >>~%EOO%    # Test program.
          %.+/driver -o text%
          text
          EOO
      }
    }
    EOI
}}
