(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:'Test mode change diffs.\n' span_id:15) 
                (Token id:Id.Lit_Chars val:'\n' span_id:16)
              )
            }
          spids: [13]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sed_script)
          op: assign_op.Equal
          rhs: 
            {(SQ (Token id:Id.Lit_Chars val:'s/\\(:100644 100755\\) \\(' span_id:26)) 
              (DQ ($ Id.VSub_DollarName '$_x40')) (SQ (Token id:Id.Lit_Chars val:'\\) \\2 /\\1 X X /' span_id:32))
            }
          spids: [24]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:39))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\techo frotz >rezrov &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\tgit update-index --add rezrov &&\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\ttree=$(git write-tree) &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\techo $tree\n' span_id:47)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:chmod span_id:54))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:58) 
          (Token id:Id.Lit_Chars val:'\ttest_chmod +x rezrov &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\tgit diff-index $tree >current &&\n' span_id:60) 
          (Token
            id: Id.Lit_Chars
            val: '\tsed -e "$sed_script" <current >check &&\n'
            span_id: 61
          ) (Token id:Id.Lit_Chars val:'\techo ":100644 100755 X X M\trezrov" >expected &&\n' span_id:62) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected check\n' span_id:63)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'prepare binary file' span_id:70))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:74) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m rezrov &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\tprintf "\\00\\01\\02\\03\\04\\05\\06" >binbin &&\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\tgit add binbin &&\n' span_id:77) (Token id:Id.Lit_Chars val:'\tgit commit -m binbin\n' span_id:78)
        )
      }
    )
    (C {(test_done)})
  ]
)