(command.CommandList
  children: [
    (C {<atf_test_case>} {<atf_check_info_ok>})
    (command.ShFunction
      name: atf_check_info_ok_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_info_ok_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<true>})
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_info_fail>})
    (command.ShFunction
      name: atf_check_info_fail_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_info_fail_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} {<empty>} {<sh>} 
              {<-c>} {(DQ <false>)}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_expout_mismatch>})
    (command.ShFunction
      name: atf_check_expout_mismatch_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_expout_mismatch_body
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.MultiLine
                      here_begin: {<SECONDEOF>}
                      here_end_span_id: 239
                      stdin_parts: [<'foo\n'>]
                    )
                )
              ]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<echo>} {<bar>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_experr_mismatch>})
    (command.ShFunction
      name: atf_check_experr_mismatch_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_experr_mismatch_body
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.MultiLine
                      here_begin: {<SECONDEOF>}
                      here_end_span_id: 306
                      stdin_parts: [<'foo\n'>]
                    )
                )
              ]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<-x>} {(SQ <'echo bar 1>&2'>)}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_null_stdout>})
    (command.ShFunction
      name: atf_check_null_stdout_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_null_stdout_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<echo>} 
              {(DQ <'These are the contents'>)}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_null_stderr>})
    (command.ShFunction
      name: atf_check_null_stderr_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_null_stderr_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<-e>} {<empty>} {<-x>} 
              {(SQ <'echo "These are the contents" 1>&2'>)}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_equal_ok>})
    (command.ShFunction
      name: atf_check_equal_ok_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_equal_ok_body
      body: (BraceGroup children:[(C {<atf_check_equal>} {<a>} {<a>})])
    )
    (C {<atf_test_case>} {<atf_check_equal_fail>})
    (command.ShFunction
      name: atf_check_equal_fail_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_equal_fail_body
      body: (BraceGroup children:[(C {<atf_check_equal>} {<a>} {<b>})])
    )
    (C {<atf_test_case>} {<atf_check_equal_eval_ok>})
    (command.ShFunction
      name: atf_check_equal_eval_ok_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_equal_eval_ok_body
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:x)
                  op: assign_op.Equal
                  rhs: {<a>}
                  spids: [553]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:y)
                  op: assign_op.Equal
                  rhs: {<a>}
                  spids: [557]
                )
              ]
            )
            (C {<atf_check_equal>} {(SQ <'${x}'>)} {(SQ <'${y}'>)})
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_equal_eval_fail>})
    (command.ShFunction
      name: atf_check_equal_eval_fail_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_equal_eval_fail_body
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:x)
                  op: assign_op.Equal
                  rhs: {<a>}
                  spids: [604]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:y)
                  op: assign_op.Equal
                  rhs: {<b>}
                  spids: [608]
                )
              ]
            )
            (C {<atf_check_equal>} {(SQ <'${x}'>)} {(SQ <'${y}'>)})
          ]
        )
    )
    (C {<atf_test_case>} {<atf_check_flush_stdout>})
    (command.ShFunction
      name: atf_check_flush_stdout_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_atf_check test program'>)})
            (C {<atf_set>} {(DQ <timeout>)} {(DQ <30>)})
          ]
        )
    )
    (command.ShFunction
      name: atf_check_flush_stdout_body
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<true>})
            (C {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <1>} {<false>})
            (C {<touch>} 
              {
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name CONTROL_FILE>
                    suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{<done>})
                  )
                )
              }
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)]
              body: (command.DoGroup children:[(C {<sleep>} {<1>})])
            )
          ]
        )
    )
    (C {<atf_test_case>} {<config_get>})
    (command.ShFunction
      name: config_get_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_config test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: config_get_body
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {<atf_config_has>} {(${ Id.VSub_Name TEST_VARIABLE)})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<echo>} 
                      {
                        (DQ (${ Id.VSub_Name TEST_VARIABLE) <' = '> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<atf_config_get>} {(${ Id.VSub_Name TEST_VARIABLE)})
                          )
                        )
                      }
                    )
                  ]
                  spids: [751 760]
                )
              ]
            )
          ]
        )
    )
    (C {<atf_test_case>} {<config_has>})
    (command.ShFunction
      name: config_has_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_config test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: config_has_body
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {<atf_config_has>} {(${ Id.VSub_Name TEST_VARIABLE)})
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(C {<echo>} {(DQ (${ Id.VSub_Name TEST_VARIABLE) <' found'>)})]
                  spids: [815 824]
                )
              ]
              else_action: [(C {<echo>} {(DQ (${ Id.VSub_Name TEST_VARIABLE) <' not found'>)})]
            )
          ]
        )
    )
    (C {<atf_test_case>} {<normalize>})
    (command.ShFunction
      name: normalize_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_normalize test program'>)})
            (C {<atf_set>} {(DQ <a.b>)} {(DQ <'test value 1'>)})
            (C {<atf_set>} {(DQ <c-d>)} {(DQ <'test value 2'>)})
          ]
        )
    )
    (command.ShFunction
      name: normalize_body
      body: 
        (BraceGroup
          children: [
            (C {<echo>} 
              {
                (DQ <'a.b: '> 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<atf_get>} {<a.b>})
                  )
                )
              }
            )
            (C {<echo>} 
              {
                (DQ <'c-d: '> 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: (C {<atf_get>} {<c-d>})
                  )
                )
              }
            )
          ]
        )
    )
    (C {<atf_test_case>} {<tc_pass_true>})
    (command.ShFunction
      name: tc_pass_true_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)})
          ]
        )
    )
    (command.ShFunction name:tc_pass_true_body body:(BraceGroup children:[(C {<true>})]))
    (C {<atf_test_case>} {<tc_pass_false>})
    (command.ShFunction
      name: tc_pass_false_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)})
          ]
        )
    )
    (command.ShFunction name:tc_pass_false_body body:(BraceGroup children:[(C {<false>})]))
    (C {<atf_test_case>} {<tc_pass_return_error>})
    (command.ShFunction
      name: tc_pass_return_error_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: tc_pass_return_error_body
      body: 
        (BraceGroup
          children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
        )
    )
    (C {<atf_test_case>} {<tc_fail>})
    (command.ShFunction
      name: tc_fail_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: tc_fail_body
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<echo>} {(DQ <'An error'>)}]
              redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
        )
    )
    (C {<atf_test_case>} {<tc_missing_body>})
    (command.ShFunction
      name: tc_missing_body_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tc test program'>)})
          ]
        )
    )
    (C {<atf_test_case>} {<tp_srcdir>})
    (command.ShFunction
      name: tp_srcdir_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Helper test case for the t_tp test program'>)})
          ]
        )
    )
    (command.ShFunction
      name: tp_srcdir_body
      body: 
        (BraceGroup
          children: [
            (C {<echo>} {(DQ <'Calling helper'>)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [(C {<helper_subr>}) (C {<atf_fail>} {(DQ <'Could not call helper subroutine'>)})]
            )
          ]
        )
    )
    (command.ShFunction
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [
            (C {<atf_add_test_case>} {<atf_check_info_ok>})
            (C {<atf_add_test_case>} {<atf_check_info_fail>})
            (C {<atf_add_test_case>} {<atf_check_expout_mismatch>})
            (C {<atf_add_test_case>} {<atf_check_experr_mismatch>})
            (C {<atf_add_test_case>} {<atf_check_null_stdout>})
            (C {<atf_add_test_case>} {<atf_check_null_stderr>})
            (C {<atf_add_test_case>} {<atf_check_equal_ok>})
            (C {<atf_add_test_case>} {<atf_check_equal_fail>})
            (C {<atf_add_test_case>} {<atf_check_equal_eval_ok>})
            (C {<atf_add_test_case>} {<atf_check_equal_eval_fail>})
            (C {<atf_add_test_case>} {<atf_check_flush_stdout>})
            (C {<atf_add_test_case>} {<config_get>})
            (C {<atf_add_test_case>} {<config_has>})
            (C {<atf_add_test_case>} {<normalize>})
            (C {<atf_add_test_case>} {<tc_pass_true>})
            (C {<atf_add_test_case>} {<tc_pass_false>})
            (C {<atf_add_test_case>} {<tc_pass_return_error>})
            (C {<atf_add_test_case>} {<tc_fail>})
            (C {<atf_add_test_case>} {<tc_missing_body>})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<-f>} 
                  {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<atf_get_srcdir>})) 
                    <'/subrs'>
                  } {<Id.Lit_RBracket ']'>}
                )
                (C {<.>} 
                  {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<atf_get_srcdir>})) 
                    <'/subrs'>
                  }
                )
              ]
            )
            (C {<atf_add_test_case>} {<tp_srcdir>})
          ]
        )
    )
  ]
)