(command.CommandList
  children: [
    (C {<echo>} {(SQ <'--- setlock requires arguments'>)})
    (command.CommandList
      children: [
        (command.Sentence child:(C {<setlock>} {<whatever>}) terminator:<Id.Op_Semi _>)
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- setlock complains if it cannot create lock file'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<'nonexistent/lock'>} {<echo>} {<wrong>})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- setlock -x exits quietly if it cannot create lock file'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<-x>} {<'nonexistent/lock'>} {<echo>} {<wrong>})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- setlock creates lock file'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<lock>} {<echo>} {<ok>})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- setlock does not truncate lock file'>)})
    (command.Simple
      words: [{<echo>} {<ok>}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<lock>})]
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<lock>} {<cat>} {<lock>})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<rm>} {<-f>} {<lock>})
    (C {<echo>} {(SQ <'--- setlock -n complains if file is already locked'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<lock>} {<sh>} {<-c>} {(SQ <'setlock -n lock echo one && echo two'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
    (C {<echo>} {(SQ <'--- setlock -nx exits quietly if file is already locked'>)})
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<setlock>} {<lock>} {<sh>} {<-c>} {(SQ <'setlock -nx lock echo one && echo two'>)})
          terminator: <Id.Op_Semi _>
        )
        (C {<echo>} {($ Id.VSub_QMark '$?')})
      ]
    )
  ]
)