(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:'git p4 handling of EDITOR' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'start p4d' span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:23)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init depot' span_id:30))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\t(\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\t\techo file1 >file1 &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add file1 &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "file1"\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:40)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'EDITOR with options' span_id:53))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" //depot &&\n'
            span_id: 58
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:60) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\t\techo change >file1 &&\n' span_id:62) (Token id:Id.Lit_Chars val:'\t\tgit commit -m "change" file1 &&\n' span_id:63) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tP4EDITOR=": >\\"$git/touched\\" && test-chmtime +5" git p4 submit &&\n'
            span_id: 64
          ) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file "$git/touched"\n' span_id:65) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:66)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:73))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:78)
        )
      }
    )
    (C {(test_done)})
  ]
)