(command.CommandList
  children: [
    (command.ShFunction
      name_tok: <set_umask>
      name: set_umask
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              negated: <Id.KW_Bang '!'>
                              children: [
                                (command.Simple
                                  blame_tok: <umask>
                                  more_env: []
                                  words: [{<umask>} {<022>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <atf_fail>
                      more_env: []
                      words: [{<atf_fail>} {(DQ <'setting umask failed'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [89 98]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<L_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <L_flag_head>
      name: L_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that when creating a hard link to a '>)}
                {(DQ <'symbolic link, \'-L\' option creates a hard'>)}
                {(DQ <'link to the target of the symbolic link'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <L_flag_body>
      name: L_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-L>} {<B>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_A='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_A='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_A='> name:stat_A)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<A>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_C='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_C='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_C='> name:stat_C)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<C>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <atf_check_equal>
              more_env: []
              words: [
                {<atf_check_equal>}
                {(DQ ($ Id.VSub_DollarName stat_A))}
                {(DQ ($ Id.VSub_DollarName stat_C))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<P_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <P_flag_head>
      name: P_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that when creating a hard link to a '>)}
                {(DQ <'symbolic link, \'-P\' option creates a hard '>)}
                {(DQ <'link to the symbolic link itself'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <P_flag_body>
      name: P_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-P>} {<B>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_B='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_B='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_B='> name:stat_B)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<B>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_C='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_C='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_C='> name:stat_C)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<C>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <atf_check_equal>
              more_env: []
              words: [
                {<atf_check_equal>}
                {(DQ ($ Id.VSub_DollarName stat_B))}
                {(DQ ($ Id.VSub_DollarName stat_C))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<f_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <f_flag_head>
      name: f_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the target file already exists, '>)}
                {(DQ <'\'-f\' option unlinks it so that link may occur'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <f_flag_body>
      name: f_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-f>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_A='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_A='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_A='> name:stat_A)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<A>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'stat_B='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'stat_B='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stat_B='> name:stat_B)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <stat>
                            more_env: []
                            words: [{<stat>} {<-f>} {<Id.Lit_Other '%'> <i>} {<B>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <atf_check_equal>
              more_env: []
              words: [
                {<atf_check_equal>}
                {(DQ ($ Id.VSub_DollarName stat_A))}
                {(DQ ($ Id.VSub_DollarName stat_B))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<target_exists_hard>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <target_exists_hard_head>
      name: target_exists_hard_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify whether creating a hard link fails if the '>)}
                {(DQ <'target file already exists'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <target_exists_hard_body>
      name: target_exists_hard_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-s>}
                {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <1>}
                {<-e>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'ln: B: File exists\\n'>)}
                {<ln>}
                {<A>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<target_exists_symbolic>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <target_exists_symbolic_head>
      name: target_exists_symbolic_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify whether creating a symbolic link fails if '>)}
                {(DQ <'the target file already exists'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <target_exists_symbolic_body>
      name: target_exists_symbolic_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-s>}
                {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <1>}
                {<-e>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'ln: B: File exists\\n'>)}
                {<ln>}
                {<-s>}
                {<A>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<shf_flag_dir>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <shf_flag_dir_head>
      name: shf_flag_dir_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the target directory is a symbolic '>)}
                {(DQ <'link, \'-shf\' option prevents following the link'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <shf_flag_dir_body>
      name: shf_flag_dir_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<mkdir>} {<-m>} {<0777>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-shf>} {<B>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<C>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'B\\n'>)} {<readlink>} {<C>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<snf_flag_dir>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <snf_flag_dir_head>
      name: snf_flag_dir_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the target directory is a symbolic '>)}
                {(DQ <'link, \'-snf\' option prevents following the link'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <snf_flag_dir_body>
      name: snf_flag_dir_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<mkdir>} {<-m>} {<0777>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-snf>} {<B>} {<C>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<C>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'B\\n'>)} {<readlink>} {<C>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<sF_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <sF_flag_head>
      name: sF_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the target file already exists '>)}
                {(DQ <'and is a directory, then \'-sF\' option removes '>)}
                {(DQ <'it so that the link may occur'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <sF_flag_body>
      name: sF_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<mkdir>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-sF>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<sf_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <sf_flag_head>
      name: sf_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the target file already exists, '>)}
                {(DQ <'\'-sf\' option unlinks it and creates a symbolic link '>)}
                {(DQ <'to the source file'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <sf_flag_body>
      name: sf_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-sf>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<s_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <s_flag_head>
      name: s_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that \'-s\' option creates a symbolic link'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <s_flag_body>
      name: s_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <set_umask>
              more_env: []
              words: [{<set_umask>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<touch>} {<A>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<s_flag_broken>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <s_flag_broken_head>
      name: s_flag_broken_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that if the source file does not exists, \'-s\' '>)}
                {(DQ <'option creates a broken symbolic link to the source file'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <s_flag_broken_body>
      name: s_flag_broken_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<ln>} {<-s>} {<A>} {<B>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <atf_test_case>
      more_env: []
      words: [{<atf_test_case>} {<sw_flag>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      name_tok: <sw_flag_head>
      name: sw_flag_head
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_set>
              more_env: []
              words: [
                {<atf_set>}
                {(DQ <descr>)}
                {(DQ <'Verify that \'-sw\' option produces a warning if the '>)}
                {(DQ <'source of a symbolic link does not currently exist'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <sw_flag_body>
      name: sw_flag_body
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-s>}
                {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>}
                {<-e>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'ln: warning: A: No such file or directory\\n'>)}
                {<ln>}
                {<-sw>}
                {<A>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [
                {<atf_check>}
                {<-o>}
                {<inline> <Id.Lit_Colon ':'> (SQ <'Symbolic Link\\n'>)}
                {<stat>}
                {<-f>}
                {<Id.Lit_Other '%'> <SHT>}
                {<B>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_check>
              more_env: []
              words: [{<atf_check>} {<-o>} {<inline> <Id.Lit_Colon ':'> (SQ <'A\\n'>)} {<readlink>} {<B>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name_tok: <atf_init_test_cases>
      name: atf_init_test_cases
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<L_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<P_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<f_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<target_exists_hard>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<target_exists_symbolic>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<shf_flag_dir>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<snf_flag_dir>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<sF_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<sf_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<s_flag>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<s_flag_broken>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <atf_add_test_case>
              more_env: []
              words: [{<atf_add_test_case>} {<sw_flag>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)