(CommandList
  children: [
    (C {(atf_test_case)} {(cleanup_pass)} {(cleanup)})
    (FuncDef
      name: cleanup_pass_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_cleanup test program'))})
          ]
          spids: [93]
        )
      spids: [89 92]
    )
    (FuncDef
      name: cleanup_pass_body
      body: 
        (BraceGroup
          children: [
            (C {(touch)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [117 121]
                )
              }
            )
          ]
          spids: [112]
        )
      spids: [108 111]
    )
    (FuncDef
      name: cleanup_pass_cleanup
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(atf_config_get)} {(cleanup)} {(no)})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [136 142]
                            )
                          } {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(rm)} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [156 160]
                        )
                      }
                    )
                  ]
                  spids: [16777215 151]
                )
              ]
              spids: [16777215 163]
            )
          ]
          spids: [129]
        )
      spids: [125 128]
    )
    (C {(atf_test_case)} {(cleanup_fail)} {(cleanup)})
    (FuncDef
      name: cleanup_fail_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_cleanup test program'))})
          ]
          spids: [178]
        )
      spids: [174 177]
    )
    (FuncDef
      name: cleanup_fail_body
      body: 
        (BraceGroup
          children: [
            (C {(touch)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [202 206]
                )
              }
            )
            (C {(atf_fail)} {(DQ ('On purpose'))})
          ]
          spids: [197]
        )
      spids: [193 196]
    )
    (FuncDef
      name: cleanup_fail_cleanup
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(atf_config_get)} {(cleanup)} {(no)})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [228 234]
                            )
                          } {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(rm)} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [248 252]
                        )
                      }
                    )
                  ]
                  spids: [16777215 243]
                )
              ]
              spids: [16777215 255]
            )
          ]
          spids: [221]
        )
      spids: [217 220]
    )
    (C {(atf_test_case)} {(cleanup_skip)} {(cleanup)})
    (FuncDef
      name: cleanup_skip_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_cleanup test program'))})
          ]
          spids: [270]
        )
      spids: [266 269]
    )
    (FuncDef
      name: cleanup_skip_body
      body: 
        (BraceGroup
          children: [
            (C {(touch)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [294 298]
                )
              }
            )
            (C {(atf_skip)} {(DQ ('On purpose'))})
          ]
          spids: [289]
        )
      spids: [285 288]
    )
    (FuncDef
      name: cleanup_skip_cleanup
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(atf_config_get)} {(cleanup)} {(no)})]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [320 326]
                            )
                          } {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(rm)} 
                      {
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [340 344]
                        )
                      }
                    )
                  ]
                  spids: [16777215 335]
                )
              ]
              spids: [16777215 347]
            )
          ]
          spids: [313]
        )
      spids: [309 312]
    )
    (C {(atf_test_case)} {(cleanup_curdir)} {(cleanup)})
    (FuncDef
      name: cleanup_curdir_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_cleanup test program'))})
          ]
          spids: [362]
        )
      spids: [358 361]
    )
    (FuncDef
      name: cleanup_curdir_body
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(1234)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(oldvalue)} spids:[388])]
            )
          ]
          spids: [381]
        )
      spids: [377 380]
    )
    (FuncDef
      name: cleanup_curdir_cleanup
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(oldvalue)})
                (C {(echo)} 
                  {
                    (DQ ('Old value: ') 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(cat)} {(oldvalue)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [412 416]
                      )
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [397]
        )
      spids: [393 396]
    )
    (C {(atf_test_case)} {(cleanup_sigterm)} {(cleanup)})
    (FuncDef
      name: cleanup_sigterm_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_cleanup test program'))})
          ]
          spids: [432]
        )
      spids: [428 431]
    )
    (FuncDef
      name: cleanup_sigterm_body
      body: 
        (BraceGroup
          children: [
            (C {(touch)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [456 460]
                )
              }
            )
            (C {(kill)} {($ VSub_Dollar '$$')})
            (C {(touch)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [470 474]
                ) (.no)
              }
            )
          ]
          spids: [451]
        )
      spids: [447 450]
    )
    (FuncDef
      name: cleanup_sigterm_cleanup
      body: 
        (BraceGroup
          children: [
            (C {(rm)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(atf_config_get)} {(tmpfile)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [488 492]
                )
              }
            )
          ]
          spids: [483]
        )
      spids: [479 482]
    )
    (C {(atf_test_case)} {(config_unset)})
    (FuncDef
      name: config_unset_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [515]
        )
      spids: [511 514]
    )
    (FuncDef
      name: config_unset_body
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(atf_config_has)} {(SQ <test>)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(atf_fail)} {(DQ ('Test variable already defined'))})]
                  spids: [16777215 546]
                )
              ]
              spids: [16777215 556]
            )
          ]
          spids: [534]
        )
      spids: [530 533]
    )
    (C {(atf_test_case)} {(config_empty)})
    (FuncDef
      name: config_empty_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [569]
        )
      spids: [565 568]
    )
    (FuncDef
      name: config_empty_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check_equal)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(atf_config_get)} {(SQ <test>)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [594 600]
                  )
                )
              } {(DQ )}
            )
          ]
          spids: [588]
        )
      spids: [584 587]
    )
    (C {(atf_test_case)} {(config_value)})
    (FuncDef
      name: config_value_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [617]
        )
      spids: [613 616]
    )
    (FuncDef
      name: config_value_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check_equal)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(atf_config_get)} {(SQ <test>)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [642 648]
                  )
                )
              } {(DQ (foo))}
            )
          ]
          spids: [636]
        )
      spids: [632 635]
    )
    (C {(atf_test_case)} {(config_multi_value)})
    (FuncDef
      name: config_multi_value_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_config test program'))})
          ]
          spids: [666]
        )
      spids: [662 665]
    )
    (FuncDef
      name: config_multi_value_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_check_equal)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(atf_config_get)} {(SQ <test>)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [691 697]
                  )
                )
              } {(DQ ('foo bar'))}
            )
          ]
          spids: [685]
        )
      spids: [681 684]
    )
    (C {(atf_test_case)} {(expect_pass_and_pass)})
    (FuncDef
      name: expect_pass_and_pass_body
      body: (BraceGroup children:[(C {(atf_expect_pass)})] spids:[725])
      spids: [721 724]
    )
    (C {(atf_test_case)} {(expect_pass_but_fail_requirement)})
    (FuncDef
      name: expect_pass_but_fail_requirement_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_pass)}) (C {(atf_fail)} {(DQ ('Some reason'))})]
          spids: [741]
        )
      spids: [737 740]
    )
    (C {(atf_test_case)} {(expect_pass_but_fail_check)})
    (FuncDef
      name: expect_pass_but_fail_check_body
      body: 
        (BraceGroup
          children: [(C {(atf_fail)} {(DQ ('Non-fatal failures not implemented'))})]
          spids: [764]
        )
      spids: [760 763]
    )
    (C {(atf_test_case)} {(expect_fail_and_fail_requirement)})
    (FuncDef
      name: expect_fail_and_fail_requirement_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_expect_fail)} {(DQ ('Fail reason'))})
            (C {(atf_fail)} {(DQ ('The failure'))})
            (C {(atf_expect_pass)})
          ]
          spids: [784]
        )
      spids: [780 783]
    )
    (C {(atf_test_case)} {(expect_fail_and_fail_check)})
    (FuncDef
      name: expect_fail_and_fail_check_body
      body: 
        (BraceGroup
          children: [(C {(atf_fail)} {(DQ ('Non-fatal failures not implemented'))})]
          spids: [814]
        )
      spids: [810 813]
    )
    (C {(atf_test_case)} {(expect_fail_but_pass)})
    (FuncDef
      name: expect_fail_but_pass_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_fail)} {(DQ ('Fail first'))}) (C {(atf_expect_pass)})]
          spids: [834]
        )
      spids: [830 833]
    )
    (C {(atf_test_case)} {(expect_exit_any_and_exit)})
    (FuncDef
      name: expect_exit_any_and_exit_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_exit)} {(-1)} {(DQ ('Call will exit'))}) (C {(exit)} {(0)})]
          spids: [857]
        )
      spids: [853 856]
    )
    (C {(atf_test_case)} {(expect_exit_code_and_exit)})
    (FuncDef
      name: expect_exit_code_and_exit_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_exit)} {(123)} {(DQ ('Call will exit'))}) (C {(exit)} {(123)})]
          spids: [884]
        )
      spids: [880 883]
    )
    (C {(atf_test_case)} {(expect_exit_but_pass)})
    (FuncDef
      name: expect_exit_but_pass_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_exit)} {(-1)} {(DQ ("Call won't exit"))})]
          spids: [911]
        )
      spids: [907 910]
    )
    (C {(atf_test_case)} {(expect_signal_any_and_signal)})
    (FuncDef
      name: expect_signal_any_and_signal_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_expect_signal)} {(-1)} {(DQ ('Call will signal'))})
            (C {(kill)} {(-9)} {($ VSub_Dollar '$$')})
          ]
          spids: [933]
        )
      spids: [929 932]
    )
    (C {(atf_test_case)} {(expect_signal_no_and_signal)})
    (FuncDef
      name: expect_signal_no_and_signal_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_expect_signal)} {(1)} {(DQ ('Call will signal'))})
            (C {(kill)} {(-1)} {($ VSub_Dollar '$$')})
          ]
          spids: [962]
        )
      spids: [958 961]
    )
    (C {(atf_test_case)} {(expect_signal_but_pass)})
    (FuncDef
      name: expect_signal_but_pass_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_signal)} {(-1)} {(DQ ("Call won't signal"))})]
          spids: [991]
        )
      spids: [987 990]
    )
    (C {(atf_test_case)} {(expect_death_and_exit)})
    (FuncDef
      name: expect_death_and_exit_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_death)} {(DQ ('Exit case'))}) (C {(exit)} {(123)})]
          spids: [1013]
        )
      spids: [1009 1012]
    )
    (C {(atf_test_case)} {(expect_death_and_signal)})
    (FuncDef
      name: expect_death_and_signal_body
      body: 
        (BraceGroup
          children: [
            (C {(atf_expect_death)} {(DQ ('Signal case'))})
            (C {(kill)} {(-9)} {($ VSub_Dollar '$$')})
          ]
          spids: [1038]
        )
      spids: [1034 1037]
    )
    (C {(atf_test_case)} {(expect_death_but_pass)})
    (FuncDef
      name: expect_death_but_pass_body
      body: (BraceGroup children:[(C {(atf_expect_death)} {(DQ ("Call won't die"))})] spids:[1065])
      spids: [1061 1064]
    )
    (C {(atf_test_case)} {(expect_timeout_and_hang)})
    (FuncDef
      name: expect_timeout_and_hang_head
      body: (BraceGroup children:[(C {(atf_set)} {(DQ (timeout))} {(DQ (1))})] spids:[1085])
      spids: [1081 1084]
    )
    (FuncDef
      name: expect_timeout_and_hang_body
      body: 
        (BraceGroup
          children: [(C {(atf_expect_timeout)} {(DQ ('Will overrun'))}) (C {(sleep)} {(5)})]
          spids: [1104]
        )
      spids: [1100 1103]
    )
    (C {(atf_test_case)} {(expect_timeout_but_pass)})
    (FuncDef
      name: expect_timeout_but_pass_head
      body: (BraceGroup children:[(C {(atf_set)} {(DQ (timeout))} {(DQ (1))})] spids:[1129])
      spids: [1125 1128]
    )
    (FuncDef
      name: expect_timeout_but_pass_body
      body: (BraceGroup children:[(C {(atf_expect_timeout)} {(DQ ('Will just exit'))})] spids:[1148])
      spids: [1144 1147]
    )
    (C {(atf_test_case)} {(metadata_no_descr)})
    (FuncDef
      name: metadata_no_descr_head
      body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1178])
      spids: [1174 1177]
    )
    (FuncDef
      name: metadata_no_descr_body
      body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1189])
      spids: [1185 1188]
    )
    (C {(atf_test_case)} {(metadata_no_head)})
    (FuncDef
      name: metadata_no_head_body
      body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1205])
      spids: [1201 1204]
    )
    (C {(atf_test_case)} {(srcdir_exists)})
    (FuncDef
      name: srcdir_exists_head
      body: 
        (BraceGroup
          children: [
            (C {(atf_set)} {(DQ (descr))} {(DQ ('Helper test case for the t_srcdir test program'))})
          ]
          spids: [1231]
        )
      spids: [1227 1230]
    )
    (FuncDef
      name: srcdir_exists_body
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(-f)} 
                  {
                    (DQ 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [1258 1260]
                      ) (/datafile)
                    )
                  } {(Lit_Other ']')}
                )
                (C {(atf_fail)} {(DQ ('Cannot find datafile'))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [1250]
        )
      spids: [1246 1249]
    )
    (C {(atf_test_case)} {(result_pass)})
    (FuncDef
      name: result_pass_body
      body: (BraceGroup children:[(C {(echo)} {(DQ (msg))})] spids:[1295])
      spids: [1291 1294]
    )
    (C {(atf_test_case)} {(result_fail)})
    (FuncDef
      name: result_fail_body
      body: 
        (BraceGroup
          children: [(C {(echo)} {(DQ (msg))}) (C {(atf_fail)} {(DQ ('Failure reason'))})]
          spids: [1315]
        )
      spids: [1311 1314]
    )
    (C {(atf_test_case)} {(result_skip)})
    (FuncDef
      name: result_skip_body
      body: 
        (BraceGroup
          children: [(C {(echo)} {(DQ (msg))}) (C {(atf_skip)} {(DQ ('Skipped reason'))})]
          spids: [1342]
        )
      spids: [1338 1341]
    )
    (FuncDef
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [
            (C {(atf_add_test_case)} {(cleanup_pass)})
            (C {(atf_add_test_case)} {(cleanup_fail)})
            (C {(atf_add_test_case)} {(cleanup_skip)})
            (C {(atf_add_test_case)} {(cleanup_curdir)})
            (C {(atf_add_test_case)} {(cleanup_sigterm)})
            (C {(atf_add_test_case)} {(config_unset)})
            (C {(atf_add_test_case)} {(config_empty)})
            (C {(atf_add_test_case)} {(config_value)})
            (C {(atf_add_test_case)} {(config_multi_value)})
            (C {(atf_add_test_case)} {(expect_pass_and_pass)})
            (C {(atf_add_test_case)} {(expect_pass_but_fail_requirement)})
            (C {(atf_add_test_case)} {(expect_pass_but_fail_check)})
            (C {(atf_add_test_case)} {(expect_fail_and_fail_requirement)})
            (C {(atf_add_test_case)} {(expect_fail_and_fail_check)})
            (C {(atf_add_test_case)} {(expect_fail_but_pass)})
            (C {(atf_add_test_case)} {(expect_exit_any_and_exit)})
            (C {(atf_add_test_case)} {(expect_exit_code_and_exit)})
            (C {(atf_add_test_case)} {(expect_exit_but_pass)})
            (C {(atf_add_test_case)} {(expect_signal_any_and_signal)})
            (C {(atf_add_test_case)} {(expect_signal_no_and_signal)})
            (C {(atf_add_test_case)} {(expect_signal_but_pass)})
            (C {(atf_add_test_case)} {(expect_death_and_exit)})
            (C {(atf_add_test_case)} {(expect_death_and_signal)})
            (C {(atf_add_test_case)} {(expect_death_but_pass)})
            (C {(atf_add_test_case)} {(expect_timeout_and_hang)})
            (C {(atf_add_test_case)} {(expect_timeout_but_pass)})
            (C {(atf_add_test_case)} {(metadata_no_descr)})
            (C {(atf_add_test_case)} {(metadata_no_head)})
            (C {(atf_add_test_case)} {(srcdir_exists)})
            (C {(atf_add_test_case)} {(result_pass)})
            (C {(atf_add_test_case)} {(result_fail)})
            (C {(atf_add_test_case)} {(result_skip)})
          ]
          spids: [1375]
        )
      spids: [1371 1374]
    )
  ]
)