(command.CommandList
  children: [
    (C {<Id.Lit_Colon ':'>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name LOCALE_FR>
          suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<fr_FR>})
        )
      }
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} {($ Id.VSub_DollarName '$LOCALE_FR')} {<Id.Lit_Equals '='>} {<none>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<test>} {<-f>} {<'/usr/bin/localedef'>})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ <'Skipping test: no traditional french locale is installed'>)})
                  ]
                  spids: [29 38]
                )
              ]
              else_action: [
                (C {<echo>} {(DQ <'Skipping test: no traditional french locale is supported'>)})
              ]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<77>})
          ]
          spids: [15 26]
        )
      ]
    )
    (command.Simple
      words: [{<'./test-mbsrtowcs'> (${ Id.VSub_Name EXEEXT)} {<1>}]
      more_env: [(env_pair name:LC_ALL val:{($ Id.VSub_DollarName '$LOCALE_FR')} spids:[68])]
      do_fork: T
    )
  ]
)