(command.CommandList
  children: [
    (command.ShFunction
      name: create_run_id
      body: 
        (BraceGroup
          children: [
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<run_id.sh>}
                )
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 107
                      stdin_parts: [
                        <'#! /bin/sh\n'>
                        <'[ -f ./id ] || ln -s '>
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<atf_get_srcdir>})
                        )
                        <'/h_id ./id\n'>
                        <'./id '>
                        <Id.Right_DoubleQuote '"'>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                        )
                        <'{@}'>
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<run_id.sh>})
          ]
        )
    )
    (C {<atf_test_case>} {<default>})
    (command.ShFunction
      name: default_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that the output without options is correct'>)})
          ]
        )
    )
    (command.ShFunction
      name: default_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (command.Simple
              words: [{<echo>} {(DQ <'uid=100(test) gid=100(users) groups=100(users),0(wheel)'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <'uid=0(root) gid=0(wheel) groups=0(wheel)'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<root>}
            )
            (C {<export>} {<Id.Lit_VarLike 'LIBFAKE_EGID_ROOT='> <1>} 
              {<Id.Lit_VarLike 'LIBFAKE_EUID_ROOT='> <1>}
            )
            (command.Simple
              words: [
                {<echo>}
                {
                  (DQ 
                    <
'uid=100(test) gid=100(users) euid=0(root) egid=0(wheel) groups=100(users),0(wheel)'
                    >
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>}
            )
            (C {<unset>} {<LIBFAKE_EGID_ROOT>} {<LIBFAKE_EUID_ROOT>})
            (command.Simple
              words: [{<echo>} {(SQ <'id: nonexistent: No such user'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<'./run_id.sh'>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {<root>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<empty>} {<grep>} 
              {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<primaries>})
    (command.ShFunction
      name: primaries_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that giving multiple primaries'>)} 
              {(DQ <'simultaneously provides an error'>)}
            )
          ]
        )
    )
    (command.ShFunction
      name: primaries_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (command.ForEach
              iter_names: [p1]
              iterable: (for_iter.Words words:[{<-G>} {<-g>} {<-p>} {<-u>}])
              body: 
                (command.DoGroup
                  children: [
                    (command.ForEach
                      iter_names: [p2]
                      iterable: (for_iter.Words words:[{<-G>} {<-g>} {<-p>} {<-u>}])
                      body: 
                        (command.DoGroup
                          children: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name p1)} 
                                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(${ Id.VSub_Name p2)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} 
                                      {<-e>} {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {(${ Id.VSub_Name p1)} {(${ Id.VSub_Name p2)}
                                    )
                                    (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
                                      {<ignore>} {<-e>} {<empty>} {<grep>} {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
                                    )
                                  ]
                                  spids: [498 516]
                                )
                              ]
                            )
                          ]
                        )
                    )
                  ]
                )
            )
          ]
        )
    )
    (C {<atf_test_case>} {<Gflag>})
    (command.ShFunction
      name: Gflag_head
      body: 
        (BraceGroup
          children: [(C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that the -G primary flag works'>)})]
        )
    )
    (command.ShFunction
      name: Gflag_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (command.Simple
              words: [{<echo>} {(DQ <'100 0'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <'users wheel'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<-n>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<-n>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <0>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <wheel>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<-n>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-G>} {<-n>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(SQ <'id: nonexistent: No such user'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<'./run_id.sh'>} {<-G>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {<-G>} {<root>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<empty>} {<grep>} 
              {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<gflag>})
    (command.ShFunction
      name: gflag_head
      body: 
        (BraceGroup
          children: [(C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that the -g primary flag works'>)})]
        )
    )
    (command.ShFunction
      name: gflag_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <users>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <0>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <wheel>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <users>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <users>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>} {<test>}
            )
            (C {<export>} {<Id.Lit_VarLike 'LIBFAKE_EGID_ROOT='> <1>} 
              {<Id.Lit_VarLike 'LIBFAKE_EUID_ROOT='> <1>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <0>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <wheel>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <users>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <users>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-g>} {<-r>} {<-n>} {<test>}
            )
            (C {<unset>} {<LIBFAKE_EGID_ROOT>} {<LIBFAKE_EUID_ROOT>})
            (command.Simple
              words: [{<echo>} {(SQ <'id: nonexistent: No such user'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<'./run_id.sh'>} {<-g>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {<-g>} {<root>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<empty>} {<grep>} 
              {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<pflag>})
    (command.ShFunction
      name: pflag_head
      body: 
        (BraceGroup
          children: [(C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that the -p primary flag works'>)})]
        )
    )
    (command.ShFunction
      name: pflag_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (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.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 1985
                      stdin_parts: [<'uid\ttest\n'> <'groups\tusers wheel\n'>]
                    )
                )
              ]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>} {<test>}
            )
            (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.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 2072
                      stdin_parts: [<'uid\troot\n'> <'groups\twheel\n'>]
                    )
                )
              ]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>} {<root>}
            )
            (C {<export>} {<Id.Lit_VarLike 'LIBFAKE_EGID_ROOT='> <1>} 
              {<Id.Lit_VarLike 'LIBFAKE_EUID_ROOT='> <1>}
            )
            (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.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 2147
                      stdin_parts: [
                        <'uid\ttest\n'>
                        <'euid\troot\n'>
                        <'rgid\tusers\n'>
                        <'groups\tusers wheel\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-p>}
            )
            (C {<unset>} {<LIBFAKE_EGID_ROOT>} {<LIBFAKE_EUID_ROOT>})
            (command.Simple
              words: [{<echo>} {(SQ <'id: nonexistent: No such user'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<'./run_id.sh'>} {<-p>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {<-p>} {<root>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<empty>} {<grep>} 
              {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
            )
          ]
        )
    )
    (C {<atf_test_case>} {<uflag>})
    (command.ShFunction
      name: uflag_head
      body: 
        (BraceGroup
          children: [(C {<atf_set>} {(DQ <descr>)} {(DQ <'Checks that the -u primary flag works'>)})]
        )
    )
    (command.ShFunction
      name: uflag_body
      body: 
        (BraceGroup
          children: [
            (C {<create_run_id>})
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <test>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <0>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <root>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>} {<0>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>} {<root>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <test>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <test>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>} {<test>}
            )
            (C {<export>} {<Id.Lit_VarLike 'LIBFAKE_EGID_ROOT='> <1>} 
              {<Id.Lit_VarLike 'LIBFAKE_EUID_ROOT='> <1>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <0>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <root>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <test>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <100>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<test>}
            )
            (command.Simple
              words: [{<echo>} {(DQ <test>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expout>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>} {<100>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} 
              {<file> <Id.Lit_Colon ':'> <expout>} {<-e>} {<empty>} {<'./run_id.sh'>} {<-u>} {<-r>} {<-n>} {<test>}
            )
            (C {<unset>} {<LIBFAKE_EGID_ROOT>} {<LIBFAKE_EUID_ROOT>})
            (command.Simple
              words: [{<echo>} {(SQ <'id: nonexistent: No such user'>)}]
              redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<experr>})]
              do_fork: T
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<file> <Id.Lit_Colon ':'> <experr>} {<'./run_id.sh'>} {<-u>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <1>} {<-o>} {<empty>} {<-e>} 
              {<save> <Id.Lit_Colon ':'> <stderr>} {<'./run_id.sh'>} {<-u>} {<root>} {<nonexistent>}
            )
            (C {<atf_check>} {<-s>} {<eq> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<empty>} {<grep>} 
              {<Id.Lit_Other '^'> <usage> <Id.Lit_Colon ':'>} {<stderr>}
            )
          ]
        )
    )
    (command.ShFunction
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [
            (C {<atf_add_test_case>} {<default>})
            (C {<atf_add_test_case>} {<primaries>})
            (C {<atf_add_test_case>} {<Gflag>})
            (C {<atf_add_test_case>} {<gflag>})
            (C {<atf_add_test_case>} {<pflag>})
            (C {<atf_add_test_case>} {<uflag>})
          ]
        )
    )
  ]
)