(CommandList
  children: [
    (C {(atf_test_case)} {(has)})
    (FuncDef
      name: has_head
      body: 
        (BraceGroup
          children: [(C {(atf_set)} {(DQ (descr))} {(DQ ('Verifies that atf_config_has works'))})]
          spids: [81]
        )
      spids: [77 80]
    )
    (FuncDef
      name: has_body
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:h)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [105 107]
                        ) ('/misc_helpers -s ') 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [109 111]
                        )
                      )
                    }
                  spids: [103]
                )
              ]
              spids: [103]
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} 
              {(match) (Lit_Other ':') (SQ <'foo not found'>)} {(-e)} {(ignore)} {(-x)} {(DQ ('TEST_VARIABLE=foo ') (${ VSub_Name h) (' config_has'))}
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} 
              {(match) (Lit_Other ':') (SQ <'foo found'>)} {(-e)} {(ignore)} {(-x)} {(DQ ('TEST_VARIABLE=foo ') (${ VSub_Name h) (' -v foo=bar config_has'))}
            )
            (C {(echo)} {(DQ ('Checking for deprecated variables'))})
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} 
              {(match) (Lit_Other ':') (SQ <'workdir not found'>)} {(-e)} {(ignore)} {(-x)} {(DQ ('TEST_VARIABLE=workdir ') (${ VSub_Name h) (' config_has'))}
            )
          ]
          spids: [100]
        )
      spids: [96 99]
    )
    (C {(atf_test_case)} {(get)})
    (FuncDef
      name: get_head
      body: 
        (BraceGroup
          children: [(C {(atf_set)} {(DQ (descr))} {(DQ ('Verifies that atf_config_get works'))})]
          spids: [234]
        )
      spids: [230 233]
    )
    (FuncDef
      name: get_body
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:h)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [258 260]
                        ) ('/misc_helpers -s ') 
                        (CommandSubPart
                          command_list: (CommandList children:[(C {(atf_get_srcdir)})])
                          left_token: <Left_CommandSub '$('>
                          spids: [262 264]
                        )
                      )
                    }
                  spids: [256]
                )
              ]
              spids: [256]
            )
            (C {(echo)} {(DQ ('Querying an undefined variable'))})
            (AndOr
              children: [
                (Subshell
                  child: (C {(atf_config_get)} {(DQ (undefined))})
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(out)}
                      spids: [286]
                    )
                    (Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[289])
                  ]
                  spids: [276 284]
                )
                (C {(atf_fail)} {(DQ ('Getting an undefined variable succeeded'))})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(grep)} {(SQ <'not find'>)} {(err)})
                (C {(atf_fail)} {(DQ ('Getting an undefined variable did not report an error'))})
              ]
              op_id: Op_DPipe
            )
            (C {(echo)} {(DQ ('Querying an undefined variable using a default value'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:v)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(atf_config_get)} {(DQ (undefined))} {(DQ ('the default value'))})
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [331 341]
                      )
                    }
                  spids: [330]
                )
              ]
              spids: [330]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(DQ (${ VSub_Name v))} {(Lit_Other '=')} 
                  {(DQ ('the default value'))} {(Lit_Other ']')}
                )
                (C {(atf_fail)} {(DQ ('Default value does not work'))})
              ]
              op_id: Op_DPipe
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} 
              {(match) (Lit_Other ':') (SQ <'foo = bar'>)} {(-e)} {(ignore)} {(-x)} {(DQ ('TEST_VARIABLE=foo ') (${ VSub_Name h) (' -v foo=bar config_get'))}
            )
            (C {(atf_check)} {(-s)} {(eq) (Lit_Other ':') (0)} {(-o)} 
              {(match) (Lit_Other ':') (SQ <'foo = baz'>)} {(-e)} {(ignore)} {(-x)} {(DQ ('TEST_VARIABLE=foo ') (${ VSub_Name h) (' -v foo=baz config_get'))}
            )
          ]
          spids: [253]
        )
      spids: [249 252]
    )
    (FuncDef
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [(C {(atf_add_test_case)} {(has)}) (C {(atf_add_test_case)} {(get)})]
          spids: [445]
        )
      spids: [441 444]
    )
  ]
)