(CommandList
  children: [
    (C {(atf_test_case)} {(atf_check_info_ok)})
    (FuncDef
      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'))})
          ]
          spids: [91]
        )
      spids: [87 90]
    )
    (FuncDef
      name: atf_check_info_ok_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} {(empty)} {(-e)} {(empty)} {(true)})
          ]
          spids: [110]
        )
      spids: [106 109]
    )
    (C {(atf_test_case)} {(atf_check_info_fail)})
    (FuncDef
      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'))})
          ]
          spids: [142]
        )
      spids: [138 141]
    )
    (FuncDef
      name: atf_check_info_fail_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (1)} {(-o)} {(empty)} {(-e)} {(empty)} {(sh)} {(-c)} 
              {(DQ (false))}
            )
          ]
          spids: [161]
        )
      spids: [157 160]
    )
    (C {(atf_test_case)} {(atf_check_expout_mismatch)})
    (FuncDef
      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'))})
          ]
          spids: [207]
        )
      spids: [203 206]
    )
    (FuncDef
      name: atf_check_expout_mismatch_body
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:16777215 arg_word:{(expout)} spids:[231])
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ('foo\n'))}
                  do_expansion: True
                  here_end: SECONDEOF
                  was_filled: True
                  spids: [234]
                )
              ]
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} {(file) (Lit_Other ':') (expout)} 
              {(-e)} {(empty)} {(echo)} {(bar)}
            )
          ]
          spids: [226]
        )
      spids: [222 225]
    )
    (C {(atf_test_case)} {(atf_check_experr_mismatch)})
    (FuncDef
      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'))})
          ]
          spids: [273]
        )
      spids: [269 272]
    )
    (FuncDef
      name: atf_check_experr_mismatch_body
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:16777215 arg_word:{(experr)} spids:[297])
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {(DQ ('foo\n'))}
                  do_expansion: True
                  here_end: SECONDEOF
                  was_filled: True
                  spids: [300]
                )
              ]
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} {(empty)} {(-e)} 
              {(file) (Lit_Other ':') (experr)} {(-x)} {(SQ <'echo bar 1>&2'>)}
            )
          ]
          spids: [292]
        )
      spids: [288 291]
    )
    (C {(atf_test_case)} {(atf_check_null_stdout)})
    (FuncDef
      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'))})
          ]
          spids: [341]
        )
      spids: [337 340]
    )
    (FuncDef
      name: atf_check_null_stdout_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} {(empty)} {(-e)} {(empty)} {(echo)} 
              {(DQ ('These are the contents'))}
            )
          ]
          spids: [360]
        )
      spids: [356 359]
    )
    (C {(atf_test_case)} {(atf_check_null_stderr)})
    (FuncDef
      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'))})
          ]
          spids: [396]
        )
      spids: [392 395]
    )
    (FuncDef
      name: atf_check_null_stderr_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} {(empty)} {(-e)} {(empty)} {(-x)} 
              {(SQ <'echo "These are the contents" 1>&2'>)}
            )
          ]
          spids: [415]
        )
      spids: [411 414]
    )
    (C {(atf_test_case)} {(atf_check_equal_ok)})
    (FuncDef
      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'))})
          ]
          spids: [451]
        )
      spids: [447 450]
    )
    (FuncDef
      name: atf_check_equal_ok_body
      body: (BraceGroup children:[(C {(atf_check_equal)} {(a)} {(a)})] spids:[470])
      spids: [466 469]
    )
    (C {(atf_test_case)} {(atf_check_equal_fail)})
    (FuncDef
      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'))})
          ]
          spids: [490]
        )
      spids: [486 489]
    )
    (FuncDef
      name: atf_check_equal_fail_body
      body: (BraceGroup children:[(C {(atf_check_equal)} {(a)} {(b)})] spids:[509])
      spids: [505 508]
    )
    (C {(atf_test_case)} {(atf_check_equal_eval_ok)})
    (FuncDef
      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'))})
          ]
          spids: [529]
        )
      spids: [525 528]
    )
    (FuncDef
      name: atf_check_equal_eval_ok_body
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(a)} spids:[551])]
              spids: [551]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:y) op:Equal rhs:{(a)} spids:[555])]
              spids: [555]
            )
            (C {(atf_check_equal)} {(SQ <'${x}'>)} {(SQ <'${y}'>)})
          ]
          spids: [548]
        )
      spids: [544 547]
    )
    (C {(atf_test_case)} {(atf_check_equal_eval_fail)})
    (FuncDef
      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'))})
          ]
          spids: [580]
        )
      spids: [576 579]
    )
    (FuncDef
      name: atf_check_equal_eval_fail_body
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:x) op:Equal rhs:{(a)} spids:[602])]
              spids: [602]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:y) op:Equal rhs:{(b)} spids:[606])]
              spids: [606]
            )
            (C {(atf_check_equal)} {(SQ <'${x}'>)} {(SQ <'${y}'>)})
          ]
          spids: [599]
        )
      spids: [595 598]
    )
    (C {(atf_test_case)} {(atf_check_flush_stdout)})
    (FuncDef
      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))})
          ]
          spids: [631]
        )
      spids: [627 630]
    )
    (FuncDef
      name: atf_check_flush_stdout_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check)} {(true)})
            (C {(atf_check)} {(-s)} {(exit) (Lit_Other ':') (1)} {(false)})
            (C {(touch)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name CONTROL_FILE>
                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(done)})
                    spids: [683 687]
                  )
                )
              }
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: (DoGroup children:[(C {(sleep)} {(1)})] spids:[696 704])
            )
          ]
          spids: [661]
        )
      spids: [657 660]
    )
    (C {(atf_test_case)} {(config_get)})
    (FuncDef
      name: config_get_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [727]
        )
      spids: [723 726]
    )
    (FuncDef
      name: config_get_body
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(atf_config_has)} {(${ VSub_Name TEST_VARIABLE)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ (${ VSub_Name TEST_VARIABLE) (' = ') 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(atf_config_get)} {(${ VSub_Name TEST_VARIABLE)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [768 774]
                          )
                        )
                      }
                    )
                  ]
                  spids: [16777215 758]
                )
              ]
              spids: [16777215 778]
            )
          ]
          spids: [746]
        )
      spids: [742 745]
    )
    (C {(atf_test_case)} {(config_has)})
    (FuncDef
      name: config_has_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [791]
        )
      spids: [787 790]
    )
    (FuncDef
      name: config_has_body
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(atf_config_has)} {(${ VSub_Name TEST_VARIABLE)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ (${ VSub_Name TEST_VARIABLE) (' found'))})]
                  spids: [16777215 822]
                )
              ]
              else_action: [(C {(echo)} {(DQ (${ VSub_Name TEST_VARIABLE) (' not found'))})]
              spids: [835 848]
            )
          ]
          spids: [810]
        )
      spids: [806 809]
    )
    (C {(atf_test_case)} {(normalize)})
    (FuncDef
      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'))})
          ]
          spids: [871]
        )
      spids: [867 870]
    )
    (FuncDef
      name: normalize_body
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('a.b: ') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(atf_get)} {(a.b)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [919 923]
                  )
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ('c-d: ') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(atf_get)} {(c-d)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [931 935]
                  )
                )
              }
            )
          ]
          spids: [912]
        )
      spids: [908 911]
    )
    (C {(atf_test_case)} {(tc_pass_true)})
    (FuncDef
      name: tc_pass_true_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tc test program'))})
          ]
          spids: [959]
        )
      spids: [955 958]
    )
    (FuncDef
      name: tc_pass_true_body
      body: (BraceGroup children:[(C {(true)})] spids:[978])
      spids: [974 977]
    )
    (C {(atf_test_case)} {(tc_pass_false)})
    (FuncDef
      name: tc_pass_false_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tc test program'))})
          ]
          spids: [994]
        )
      spids: [990 993]
    )
    (FuncDef
      name: tc_pass_false_body
      body: (BraceGroup children:[(C {(false)})] spids:[1013])
      spids: [1009 1012]
    )
    (C {(atf_test_case)} {(tc_pass_return_error)})
    (FuncDef
      name: tc_pass_return_error_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tc test program'))})
          ]
          spids: [1029]
        )
      spids: [1025 1028]
    )
    (FuncDef
      name: tc_pass_return_error_body
      body: 
        (BraceGroup
          children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
          spids: [1048]
        )
      spids: [1044 1047]
    )
    (C {(atf_test_case)} {(tc_fail)})
    (FuncDef
      name: tc_fail_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tc test program'))})
          ]
          spids: [1066]
        )
      spids: [1062 1065]
    )
    (FuncDef
      name: tc_fail_body
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ('An error'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1094])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [1085]
        )
      spids: [1081 1084]
    )
    (C {(atf_test_case)} {(tc_missing_body)})
    (FuncDef
      name: tc_missing_body_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tc test program'))})
          ]
          spids: [1113]
        )
      spids: [1109 1112]
    )
    (C {(atf_test_case)} {(tp_srcdir)})
    (FuncDef
      name: tp_srcdir_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_tp test program'))})
          ]
          spids: [1147]
        )
      spids: [1143 1146]
    )
    (FuncDef
      name: tp_srcdir_body
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Calling helper'))})
            (AndOr
              children: [(C {(helper_subr)}) (C {(atf_fail)} {(DQ ('Could not call helper subroutine'))})]
              op_id: Op_DPipe
            )
          ]
          spids: [1166]
        )
      spids: [1162 1165]
    )
    (FuncDef
      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)})
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(-f)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                      left_token: <Left_CommandSub '$('>
                      spids: [1329 1331]
                    ) (/subrs)
                  } {(Lit_Other ']')}
                )
                (C {(.)} 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                      left_token: <Left_CommandSub '$('>
                      spids: [1340 1342]
                    ) (/subrs)
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (C {(atf_add_test_case)} {(tp_srcdir)})
          ]
          spids: [1203]
        )
      spids: [1199 1202]
    )
  ]
)