(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'Gettext Shell poison' span_id:15))}
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./lib-gettext.sh)})
    (C {(test_expect_success)} {(GETTEXT_POISON)} 
      {
        (DQ ('sanity: ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:30)
          ) ('GIT_INTERNAL_GETTEXT_SH_SCHEME is set (to ') 
          ($ Id.VSub_DollarName '$GIT_INTERNAL_GETTEXT_SH_SCHEME') (')')
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:37) 
          (Token
            id: Id.Lit_Chars
            val: '    test -n "$GIT_INTERNAL_GETTEXT_SH_SCHEME"\n'
            span_id: 38
          )
        )
      }
    )
    (C {(test_expect_success)} {(GETTEXT_POISON)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sanity: $GIT_INTERNAL_GETTEXT_SH_SCHEME" is poison'
            span_id: 47
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:51) 
          (Token
            id: Id.Lit_Chars
            val: '    test "$GIT_INTERNAL_GETTEXT_SH_SCHEME" = "poison"\n'
            span_id: 52
          )
        )
      }
    )
    (C {(test_expect_success)} {(GETTEXT_POISON)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'gettext: our gettext() fallback has poison semantics'
            span_id: 61
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:65) 
          (Token
            id: Id.Lit_Chars
            val: '    printf "# GETTEXT POISON #" >expect &&\n'
            span_id: 66
          ) (Token id:Id.Lit_Chars val:'    gettext "test" >actual &&\n' span_id:67) 
          (Token id:Id.Lit_Chars val:'    test_cmp expect actual &&\n' span_id:68) (Token id:Id.Lit_Chars val:'    printf "# GETTEXT POISON #" >expect &&\n' span_id:69) 
          (Token
            id: Id.Lit_Chars
            val: '    gettext "test more words" >actual &&\n'
            span_id: 70
          ) (Token id:Id.Lit_Chars val:'    test_cmp expect actual\n' span_id:71)
        )
      }
    )
    (C {(test_expect_success)} {(GETTEXT_POISON)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'eval_gettext: our eval_gettext() fallback has poison semantics'
            span_id: 80
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:84) 
          (Token
            id: Id.Lit_Chars
            val: '    printf "# GETTEXT POISON #" >expect &&\n'
            span_id: 85
          ) (Token id:Id.Lit_Chars val:'    eval_gettext "test" >actual &&\n' span_id:86) 
          (Token id:Id.Lit_Chars val:'    test_cmp expect actual &&\n' span_id:87) (Token id:Id.Lit_Chars val:'    printf "# GETTEXT POISON #" >expect &&\n' span_id:88) 
          (Token
            id: Id.Lit_Chars
            val: '    eval_gettext "test more words" >actual &&\n'
            span_id: 89
          ) (Token id:Id.Lit_Chars val:'    test_cmp expect actual\n' span_id:90)
        )
      }
    )
    (C {(test_done)})
  ]
)