(command.CommandList
  children: [
    (C {<echo>} {(SQ <'--- supervise starts, svok works, svup works, svstat works, svc -x works'>)})
    (command.Sentence child:(C {<supervise>} {<test.sv>}) terminator:<Id.Op_Amp _>)
    (command.WhileUntil
      keyword: <Id.KW_Until until>
      cond: (condition.Shell commands:[(C {<svok>} {<test.sv>})])
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<svup>} {<test.sv>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<svup>} {<-l>} {<test.sv>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<svup>} {<-L>} {<test.sv>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (command.Pipeline
      children: [
        (command.Subshell
          child: 
            (command.CommandList
              children: [
                (command.Sentence
                  child: (C {<svstat>} {<test.sv>})
                  terminator: <Id.Op_Semi _>
                )
                (command.Sentence
                  child: (C {<echo>} {($ Id.VSub_QMark '$?')})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
        )
        (C {<filter_svstat>})
      ]
      negated: F
    )
    (command.CommandList
      children: [
        (command.Sentence child:(C {<svc>} {<-x>} {<test.sv>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<wait>})
    (command.CommandList
      children: [
        (command.Sentence child:(C {<svstat>} {<test.sv>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- svc -ox works'>)})
    (command.Sentence child:(C {<supervise>} {<test.sv>}) terminator:<Id.Op_Amp _>)
    (command.WhileUntil
      keyword: <Id.KW_Until until>
      cond: (condition.Shell commands:[(C {<svok>} {<test.sv>})])
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
    )
    (C {<svc>} {<-ox>} {<test.sv>})
    (C {<wait>})
    (C {<echo>} {(SQ <'--- svstat and svup work for up services'>)})
    (command.Simple
      words: [{<catexe>} {<'test.sv/run'>}]
      redirects: [
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_span_id: 189
              stdin_parts: [
                <'#!/bin/sh\n'>
                <'sleep 1\n'>
                <'svstat .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svstat -l .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svstat -L .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svup .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
                <'svup -L .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
                <'svup -l .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.Sentence
      child: 
        (command.Pipeline
          children: [(C {<supervise>} {<test.sv>}) (C {<filter_svstat>})]
          negated: F
        )
      terminator: <Id.Op_Amp _>
    )
    (command.WhileUntil
      keyword: <Id.KW_Until until>
      cond: (condition.Shell commands:[(C {<svok>} {<test.sv>})])
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
    )
    (C {<svc>} {<-ox>} {<test.sv>})
    (C {<wait>})
    (C {<echo>} {(SQ <'--- svstat and svup work for logged services'>)})
    (command.Simple
      words: [{<catexe>} {<'test.sv/run'>}]
      redirects: [
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_span_id: 264
              stdin_parts: [
                <'#!/bin/sh\n'>
                <'sleep 1\n'>
                <'svstat .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svstat -l .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svstat -L .\n'>
                <'echo '>
                ($ Id.VSub_QMark '$?')
                <'\n'>
                <'svup .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
                <'svup -L .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
                <'svup -l .\n'>
                <'echo '>
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>)
                <'?\n'>
              ]
            )
        )
      ]
      do_fork: T
    )
    (command.Simple
      words: [{<catexe>} {<'test.sv/log'>}]
      redirects: [
        (redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<EOF>}
              here_end_span_id: 275
              stdin_parts: [<'#!/bin/sh\n'> <'exec cat\n'>]
            )
        )
      ]
      do_fork: T
    )
    (command.Sentence
      child: 
        (command.Pipeline
          children: [(C {<supervise>} {<test.sv>}) (C {<filter_svstat>})]
          negated: F
        )
      terminator: <Id.Op_Amp _>
    )
    (command.WhileUntil
      keyword: <Id.KW_Until until>
      cond: (condition.Shell commands:[(C {<svok>} {<test.sv>})])
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
    )
    (C {<svc>} {<-Lolox>} {<test.sv>})
    (C {<wait>})
    (C {<rm>} {<-f>} {<'test.sv/log'>})
    (C {<echo>} {(SQ <'--- svc -u works'>)})
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence
              child: (C {<echo>} {(SQ <'#!/bin/sh'>)})
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (C {<echo>} {<echo>} {<first>})
              terminator: <Id.Op_Semi _>
            )
            (C {<echo>} {<mv>} {<run2>} {<run>})
          ]
        )
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'test.sv/run'>})]
    )
    (C {<chmod>} {<755>} {<'test.sv/run'>})
    (command.Subshell
      child: 
        (command.CommandList
          children: [
            (command.Sentence
              child: (C {<echo>} {(SQ <'#!/bin/sh'>)})
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: (C {<echo>} {<echo>} {<second>})
              terminator: <Id.Op_Semi _>
            )
            (C {<echo>} {<svc>} {<-x>} {<.>})
          ]
        )
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'test.sv/run2'>})]
    )
    (C {<chmod>} {<755>} {<'test.sv/run2'>})
    (command.Sentence child:(C {<supervise>} {<test.sv>}) terminator:<Id.Op_Amp _>)
    (command.WhileUntil
      keyword: <Id.KW_Until until>
      cond: (condition.Shell commands:[(C {<svok>} {<test.sv>})])
      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
    )
    (C {<svc>} {<-u>} {<test.sv>})
    (C {<wait>})
  ]
)