(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:POSITIVE_EXP_EXPR_RE)
          op: assign_op.Equal
          rhs: {(SQ <'match:[1-9][0-9]*'>)}
          spids: [79]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:POSIX_CONSTANTS)
          op: assign_op.Equal
          rhs: {(DQ <'ARG_MAX PAGESIZE'>)}
          spids: [85]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:POSIX_PATH_CONSTANTS)
          op: assign_op.Equal
          rhs: {(DQ <'NAME_MAX PATH_MAX'>)}
          spids: [90]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SUPPORTED_32BIT_PROGRAM_ENVS)
          op: assign_op.Equal
          rhs: {(DQ <POSIX_V6_ILP32_OFFBIG>)}
          spids: [95]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SUPPORTED_64BIT_PROGRAM_ENVS)
          op: assign_op.Equal
          rhs: {(DQ <POSIX_V6_LP64_OFF64>)}
          spids: [100]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:UNAVAILABLE_PROGRAM_ENVS)
          op: assign_op.Equal
          rhs: {(DQ <I_AM_BOGUS>)}
          spids: [105]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:UNSUPPORTED_32BIT_PROGRAM_ENVS)
          op: assign_op.Equal
          rhs: {(DQ <POSIX_V6_LP64_OFF64>)}
          spids: [110]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:UNSUPPORTED_64BIT_PROGRAM_ENVS)
          op: assign_op.Equal
          rhs: {(DQ <POSIX_V6_ILP32_OFFBIG>)}
          spids: [115]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:XOPEN_CONSTANTS)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [121]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EX_USAGE)
          op: assign_op.Equal
          rhs: {<64>}
          spids: [127]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EX_UNAVAILABLE)
          op: assign_op.Equal
          rhs: {<69>}
          spids: [130]
        )
      ]
    )
    (command.ShFunction
      name: set_program_environments
      body: 
        (BraceGroup
          children: [
            (C {<atf_check>} {<-o>} {<save> <Id.Lit_Colon ':'> <arch_type.out>} 
              {(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<atf_get_srcdir>})) 
                <'/arch_type'>
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:arch_type)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: (C {<cat>} {<arch_type.out>})
                      )
                    }
                  spids: [155]
                )
              ]
            )
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$arch_type'))}
              arms: [
                (case_arm
                  pat_list: [{<ILP32>} {<LP32>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SUPPORTED_PROGRAM_ENVS)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$SUPPORTED_PROGRAM_ENVS') <' '> 
                                ($ Id.VSub_DollarName '$SUPPORTED_32BIT_PROGRAM_ENVS')
                              )
                            }
                          spids: [178]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:UNSUPPORTED_PROGRAM_ENVS)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$UNSUPPORTED_PROGRAM_ENVS') <' '> 
                                ($ Id.VSub_DollarName '$UNSUPPORTED_32BIT_PROGRAM_ENVS')
                              )
                            }
                          spids: [186]
                        )
                      ]
                    )
                  ]
                  spids: [172 175 194 -1]
                )
                (case_arm
                  pat_list: [{<LP64>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:SUPPORTED_PROGRAM_ENVS)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$SUPPORTED_PROGRAM_ENVS') <' '> 
                                ($ Id.VSub_DollarName '$SUPPORTED_64BIT_PROGRAM_ENVS')
                              )
                            }
                          spids: [201]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:UNSUPPORTED_PROGRAM_ENVS)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$UNSUPPORTED_PROGRAM_ENVS') <' '> 
                                ($ Id.VSub_DollarName '$UNSUPPORTED_64BIT_PROGRAM_ENVS')
                              )
                            }
                          spids: [209]
                        )
                      ]
                    )
                  ]
                  spids: [197 198 217 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (C {<atf_fail>} 
                      {(DQ <'arch_type output unexpected: '> ($ Id.VSub_DollarName '$arch_type'))}
                    )
                  ]
                  spids: [220 221 232 -1]
                )
              ]
            )
          ]
        )
    )
    (C {<atf_test_case>} {<no_programming_environment>})
    (command.ShFunction
      name: no_programming_environment_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} 
              {(DQ <'Test some POSIX constants as a positive functional test'>)}
            )
          ]
        )
    )
    (command.ShFunction
      name: no_programming_environment_body
      body: 
        (BraceGroup
          children: [
            (command.ForEach
              iter_name: var
              iter_words: [{($ Id.VSub_DollarName '$POSIX_CONSTANTS')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<atf_check>} {<-o>} {(DQ ($ Id.VSub_DollarName '$POSITIVE_EXP_EXPR_RE'))} 
                      {<getconf>} {($ Id.VSub_DollarName '$var')}
                    )
                  ]
                )
            )
            (command.ForEach
              iter_name: var
              iter_words: [{($ Id.VSub_DollarName '$POSIX_PATH_CONSTANTS')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<atf_check>} {<-o>} {(DQ ($ Id.VSub_DollarName '$POSITIVE_EXP_EXPR_RE'))} 
                      {<getconf>} {($ Id.VSub_DollarName '$var')} {<.>}
                    )
                  ]
                )
            )
          ]
        )
    )
    (C {<atf_test_case>} {<programming_environment>})
    (command.ShFunction
      name: programming_environment_head
      body: 
        (BraceGroup
          children: [
            (C {<atf_set>} {(DQ <descr>)} 
              {(DQ <'Test some constants with specific programming environments'>)}
            )
          ]
        )
    )
    (command.ShFunction
      name: programming_environment_body
      body: 
        (BraceGroup
          children: [
            (C {<set_program_environments>})
            (command.ForEach
              iter_name: prog_env
              iter_words: [{(${ Id.VSub_Name SUPPORTED_PROGRAM_ENVS)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.ForEach
                      iter_name: var
                      iter_words: [{($ Id.VSub_DollarName '$POSIX_CONSTANTS')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<atf_check>} {<-o>} {(DQ ($ Id.VSub_DollarName '$POSITIVE_EXP_EXPR_RE'))} 
                              {<getconf>} {<-v>} {($ Id.VSub_DollarName '$prog_env')} {($ Id.VSub_DollarName '$var')}
                            )
                          ]
                        )
                    )
                  ]
                )
            )
          ]
        )
    )
    (C {<atf_test_case>} {<programming_environment_unsupported>})
    (command.ShFunction
      name: programming_environment_unsupported_head
      body: 
        (BraceGroup
          children: [(C {<atf_set>} {(DQ <descr>)} {(DQ <'Test for unsupported environments'>)})]
        )
    )
    (command.ShFunction
      name: programming_environment_unsupported_body
      body: 
        (BraceGroup
          children: [
            (C {<set_program_environments>})
            (command.ForEach
              iter_name: prog_env
              iter_words: [{(${ Id.VSub_Name UNSUPPORTED_PROGRAM_ENVS)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.ForEach
                      iter_name: var
                      iter_words: [{($ Id.VSub_DollarName '$POSIX_CONSTANTS')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<atf_check>} {<-e>} {<not-empty>} {<-s>} 
                              {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> 
                                ($ Id.VSub_DollarName '$EX_UNAVAILABLE')
                              } {<getconf>} {<-v>} {($ Id.VSub_DollarName '$prog_env')} {($ Id.VSub_DollarName '$var')}
                            )
                          ]
                        )
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: atf_init_test_cases
      body: 
        (BraceGroup
          children: [
            (C {<atf_add_test_case>} {<no_programming_environment>})
            (C {<atf_add_test_case>} {<programming_environment>})
            (C {<atf_add_test_case>} {<programming_environment_unsupported>})
          ]
        )
    )
  ]
)