(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'Test pretty formats'>)}
          spids: [16]
        )
      ]
      spids: [16]
    )
    (C {(.)} {(./test-lib.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_encoding)
          op: Equal
          rhs: {(DQ (ISO8859-1))}
          spids: [29]
        )
      ]
      spids: [29]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sample_utf8_part)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(printf)} {(DQ (f) (Lit_Other '\\') (303) (Lit_Other '\\') (244ng))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [36 46]
              )
            }
          spids: [35]
        )
      ]
      spids: [35]
    )
    (FuncDef
      name: commit_msg
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:msg)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('initial. an') (${ VSub_Name sample_utf8_part) (lich) (Lit_Other '\\') (n))
                    }
                  spids: [69]
                )
              ]
              spids: [69]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})]
                  action: [
                    (Pipeline
                      children: [
                        (C {(printf)} {(DQ ($ VSub_Name '$msg'))})
                        (C {(iconv)} {(-f)} {(utf-8)} {(-t)} {(DQ ($ VSub_Number '$1'))})
                      ]
                      negated: False
                    )
                  ]
                  spids: [16777215 92]
                )
              ]
              else_action: [(C {(printf)} {(DQ ($ VSub_Name '$msg'))})]
              spids: [116 126]
            )
          ]
          spids: [54]
        )
      spids: [49 53]
    )
    (C {(test_expect_success)} {(SQ <'set up basic repos'>)} 
      {
        (SQ <'\n'> <'\t>foo &&\n'> <'\t>bar &&\n'> <'\tgit add foo &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit config i18n.commitEncoding $test_encoding &&\n'> <'\tcommit_msg $test_encoding | git commit -F - &&\n'> <'\tgit add bar &&\n'> <'\ttest_tick &&\n'> 
          <'\tgit commit -m "add bar" &&\n'> <'\tgit config --unset i18n.commitEncoding\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias builtin format'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty=oneline >expected &&\n'> 
          <'\tgit config pretty.test-alias oneline &&\n'> <'\tgit log --pretty=test-alias >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias masking builtin format'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty=oneline >expected &&\n'> 
          <'\tgit config pretty.oneline "%H" &&\n'> <'\tgit log --pretty=oneline >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias user-defined format'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="format:%h" >expected &&\n'> 
          <'\tgit config pretty.test-alias "format:%h" &&\n'> <'\tgit log --pretty=test-alias >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias user-defined tformat with %s (ISO8859-1 encoding)'>)} 
      {
        (SQ <'\n'> <'\tgit config i18n.logOutputEncoding $test_encoding &&\n'> 
          <'\tgit log --oneline >expected-s &&\n'> <'\tgit log --pretty="tformat:%h %s" >actual-s &&\n'> 
          <'\tgit config --unset i18n.logOutputEncoding &&\n'> <'\ttest_cmp expected-s actual-s\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias user-defined tformat with %s (utf-8 encoding)'>)} 
      {
        (SQ <'\n'> <'\tgit log --oneline >expected-s &&\n'> 
          <'\tgit log --pretty="tformat:%h %s" >actual-s &&\n'> <'\ttest_cmp expected-s actual-s\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias user-defined tformat'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%h" >expected &&\n'> 
          <'\tgit config pretty.test-alias "tformat:%h" &&\n'> <'\tgit log --pretty=test-alias >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias non-existent format'>)} 
      {
        (SQ <'\n'> <'\tgit config pretty.test-alias format-that-will-never-exist &&\n'> 
          <'\ttest_must_fail git log --pretty=test-alias\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias of an alias'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%h" >expected &&\n'> 
          <'\tgit config pretty.test-foo "tformat:%h" &&\n'> <'\tgit config pretty.test-bar test-foo &&\n'> 
          <'\tgit log --pretty=test-bar >actual && test_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias masking an alias'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty=format:"Two %H" >expected &&\n'> 
          <'\tgit config pretty.duplicate "format:One %H" &&\n'> <'\tgit config --add pretty.duplicate "format:Two %H" &&\n'> 
          <'\tgit log --pretty=duplicate >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'alias loop'>)} 
      {
        (SQ <'\n'> <'\tgit config pretty.test-foo test-bar &&\n'> 
          <'\tgit config pretty.test-bar test-foo &&\n'> <'\ttest_must_fail git log --pretty=test-foo\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'NUL separation'>)} 
      {
        (SQ <'\n'> <'\tprintf "add bar\\0$(commit_msg)" >expected &&\n'> 
          <'\tgit log -z --pretty="format:%s" >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'NUL termination'>)} 
      {
        (SQ <'\n'> <'\tprintf "add bar\\0$(commit_msg)\\0" >expected &&\n'> 
          <'\tgit log -z --pretty="tformat:%s" >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'NUL separation with --stat'>)} 
      {
        (SQ <'\n'> <'\tstat0_part=$(git diff --stat HEAD^ HEAD) &&\n'> 
          <'\tstat1_part=$(git diff-tree --no-commit-id --stat --root HEAD^) &&\n'> <'\tprintf "add bar\\n$stat0_part\\n\\0$(commit_msg)\\n$stat1_part\\n" >expected &&\n'> 
          <'\tgit log -z --stat --pretty="format:%s" >actual &&\n'> <'\ttest_i18ncmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_failure)} {(SQ <'NUL termination with --stat'>)} 
      {
        (SQ <'\n'> <'\tstat0_part=$(git diff --stat HEAD^ HEAD) &&\n'> 
          <'\tstat1_part=$(git diff-tree --no-commit-id --stat --root HEAD^) &&\n'> <'\tprintf "add bar\\n$stat0_part\\n\\0$(commit_msg)\\n$stat1_part\\n0" >expected &&\n'> 
          <'\tgit log -z --stat --pretty="tformat:%s" >actual &&\n'> <'\ttest_i18ncmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup more commits'>)} 
      {
        (SQ <'\n'> <'\ttest_commit "message one" one one message-one &&\n'> 
          <'\ttest_commit "message two" two two message-two &&\n'> <'\thead1=$(git rev-parse --verify --short HEAD~0) &&\n'> 
          <'\thead2=$(git rev-parse --verify --short HEAD~1) &&\n'> <'\thead3=$(git rev-parse --verify --short HEAD~2) &&\n'> 
          <'\thead4=$(git rev-parse --verify --short HEAD~3)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%<(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\tmessage two                            Z\n'> <'\tmessage one                            Z\n'> 
          <'\tadd bar                                Z\n'> <'\t$(commit_msg)                    Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\tmessage two                            Z\n'> <'\tmessage one                            Z\n'> <'\tadd bar                                Z\n'> 
          <'\t$(commit_msg)                    Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%h %<|(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1 message two                    Z\n'> <'\t$head2 message one                    Z\n'> 
          <'\t$head3 add bar                        Z\n'> <'\t$head4 $(commit_msg)            Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tCOLUMNS=50 git log --pretty="tformat:%h %<|(-10)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1 message two                    Z\n'> <'\t$head2 message one                    Z\n'> 
          <'\t$head3 add bar                        Z\n'> <'\t$head4 $(commit_msg)            Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'left alignment formatting at the nth column. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %<|(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\t$head1 message two                    Z\n'> <'\t$head2 message one                    Z\n'> <'\t$head3 add bar                        Z\n'> 
          <'\t$head4 $(commit_msg)            Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with no padding'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%<(1)%s" >actual &&\n'> 
          <'\tcat <<-EOF >expected &&\n'> <'\tmessage two\n'> <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'left alignment formatting with no padding. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(1)%s" >actual &&\n'
          > <'\tcat <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tmessage two\n'> 
          <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with trunc'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%<(10,trunc)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-\\EOF >expected &&\n'> <'\tmessage ..\n'> <'\tmessage ..\n'> <'\tadd bar  Z\n'> <'\tinitial...\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with trunc. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,trunc)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-\\EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tmessage ..\n'> 
          <'\tmessage ..\n'> <'\tadd bar  Z\n'> <'\tinitial...\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with ltrunc'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%<(10,ltrunc)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t..sage two\n'> <'\t..sage one\n'> <'\tadd bar  Z\n'> <'\t..${sample_utf8_part}lich\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with ltrunc. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,ltrunc)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\t..sage two\n'> 
          <'\t..sage one\n'> <'\tadd bar  Z\n'> <'\t..${sample_utf8_part}lich\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with mtrunc'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%<(10,mtrunc)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-\\EOF >expected &&\n'> <'\tmess.. two\n'> <'\tmess.. one\n'> <'\tadd bar  Z\n'> <'\tinit..lich\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left alignment formatting with mtrunc. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,mtrunc)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-\\EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tmess.. two\n'> 
          <'\tmess.. one\n'> <'\tadd bar  Z\n'> <'\tinit..lich\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%>(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\tZ                            message two\n'> <'\tZ                            message one\n'> 
          <'\tZ                                add bar\n'> <'\tZ                    $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%>(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\tZ                            message two\n'> <'\tZ                            message one\n'> <'\tZ                                add bar\n'> 
          <'\tZ                    $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%h %>|(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1                      message two\n'> <'\t$head2                      message one\n'> 
          <'\t$head3                          add bar\n'> <'\t$head4              $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tCOLUMNS=50 git log --pretty="tformat:%h %>|(-10)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1                      message two\n'> <'\t$head2                      message one\n'> 
          <'\t$head3                          add bar\n'> <'\t$head4              $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'right alignment formatting at the nth column. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %>|(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\t$head1                      message two\n'> <'\t$head2                      message one\n'> <'\t$head3                          add bar\n'> 
          <'\t$head4              $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'right alignment formatting at the nth column with --graph. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --graph --pretty="tformat:%h %>|(40)%s" >actual &&\n'
          > <'\ticonv -f utf-8 -t $test_encoding >expected <<-EOF &&\n'> 
          <'\t* $head1                    message two\n'> <'\t* $head2                    message one\n'> <'\t* $head3                        add bar\n'> 
          <'\t* $head4            $(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting with no padding'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%>(1)%s" >actual &&\n'> 
          <'\tcat <<-EOF >expected &&\n'> <'\tmessage two\n'> <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'right alignment formatting with no padding and with --graph'>)} 
      {
        (SQ <'\n'> <'\tgit log --graph --pretty="tformat:%>(1)%s" >actual &&\n'> 
          <'\tcat <<-EOF >expected &&\n'> <'\t* message two\n'> <'\t* message one\n'> <'\t* add bar\n'> <'\t* $(commit_msg)\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'right alignment formatting with no padding. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%>(1)%s" >actual &&\n'
          > <'\tcat <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tmessage two\n'> 
          <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'center alignment formatting'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%><(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\tZ             message two              Z\n'> <'\tZ             message one              Z\n'> 
          <'\tZ               add bar                Z\n'> <'\tZ         $(commit_msg)          Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'center alignment formatting. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%><(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\tZ             message two              Z\n'> <'\tZ             message one              Z\n'> <'\tZ               add bar                Z\n'> 
          <'\tZ         $(commit_msg)          Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'center alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%h %><|(40)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1           message two          Z\n'> <'\t$head2           message one          Z\n'> 
          <'\t$head3             add bar            Z\n'> <'\t$head4       $(commit_msg)      Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'center alignment formatting at the nth column'>)} 
      {
        (SQ <'\n'> <'\tCOLUMNS=70 git log --pretty="tformat:%h %><|(-30)%s" >actual &&\n'> 
          <'\tqz_to_tab_space <<-EOF >expected &&\n'> <'\t$head1           message two          Z\n'> <'\t$head2           message one          Z\n'> 
          <'\t$head3             add bar            Z\n'> <'\t$head4       $(commit_msg)      Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'center alignment formatting at the nth column. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%h %><|(40)%s" >actual &&\n'
          > <'\tqz_to_tab_space <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> 
          <'\t$head1           message two          Z\n'> <'\t$head2           message one          Z\n'> <'\t$head3             add bar            Z\n'> 
          <'\t$head4       $(commit_msg)      Z\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'center alignment formatting with no padding'>)} 
      {
        (SQ <'\n'> <'\tgit log --pretty="tformat:%><(1)%s" >actual &&\n'> 
          <'\tcat <<-EOF >expected &&\n'> <'\tmessage two\n'> <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> 
          <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:old_head1)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(git)} {(rev-parse)} {(--verify)} {(HEAD) (Lit_Tilde '~') (0)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [921 931]
              )
            }
          spids: [920]
        )
      ]
      spids: [920]
    )
    (C {(test_expect_success)} 
      {(SQ <'center alignment formatting with no padding. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%><(1)%s" >actual &&\n'
          > <'\tcat <<-EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tmessage two\n'> 
          <'\tmessage one\n'> <'\tadd bar\n'> <'\t$(commit_msg)\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'left/right alignment formatting with stealing'>)} 
      {
        (SQ <'\n'> <'\tgit commit --amend -m short --author "long long long <long@me.com>" &&\n'> 
          <'\tgit log --pretty="tformat:%<(10,trunc)%s%>>(10,ltrunc)% an" >actual &&\n'> <'\tcat <<-\\EOF >expected &&\n'> <'\tshort long  long long\n'> <'\tmessage ..   A U Thor\n'> 
          <'\tadd bar      A U Thor\n'> <'\tinitial...   A U Thor\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ <'left/right alignment formatting with stealing. i18n.logOutputEncoding'>)} 
      {
        (SQ <'\n'> 
          <
'\tgit -c i18n.logOutputEncoding=$test_encoding log --pretty="tformat:%<(10,trunc)%s%>>(10,ltrunc)% an" >actual &&\n'
          > <'\tcat <<-\\EOF | iconv -f utf-8 -t $test_encoding >expected &&\n'> <'\tshort long  long long\n'> 
          <'\tmessage ..   A U Thor\n'> <'\tadd bar      A U Thor\n'> <'\tinitial...   A U Thor\n'> <'\tEOF\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'strbuf_utf8_replace() not producing NUL'>)} 
      {
        (SQ <'\n'> <'\tgit log --color --pretty="tformat:%<(10,trunc)%s%>>(10,ltrunc)%C(auto)%d" |\n'> 
          <'\t\ttest_decode_color |\n'> <'\t\tnul_to_q >actual &&\n'> <'\t! grep Q actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'ISO and ISO-strict date formats display the same values'>)} 
      {
        (SQ <'\n'> <'\tgit log --format=%ai%n%ci |\n'> 
          <'\tsed -e "s/ /T/; s/ //; s/..\\$/:&/" >expected &&\n'> <'\tgit log --format=%aI%n%cI >actual &&\n'> <'\ttest_cmp expected actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'set up log decoration tests'>)} 
      {
        (SQ <'\n'> <'\thead1=$(git rev-parse --verify HEAD~0) &&\n'> 
          <'\thead2=$(git rev-parse --verify HEAD~1)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'log decoration properly follows tag chain'>)} 
      {
        (SQ <'\n'> <'\tgit tag -a tag1 -m tag1 &&\n'> <'\tgit tag -a tag2 -m tag2 tag1 &&\n'> 
          <'\tgit tag -d tag1 &&\n'> <'\tgit commit --amend -m shorter &&\n'> 
          <'\tgit log --no-walk --tags --pretty="%H %d" --decorate=full >actual &&\n'> <'\tcat <<-EOF >expected &&\n'> <'\t$head1  (tag: refs/tags/tag2)\n'> 
          <'\t$head2  (tag: refs/tags/message-one)\n'> <'\t$old_head1  (tag: refs/tags/message-two)\n'> <'\tEOF\n'> <'\tsort actual >actual1 &&\n'> 
          <'\ttest_cmp expected actual1\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'clean log decoration'>)} 
      {
        (SQ <'\n'> <'\tgit log --no-walk --tags --pretty="%H %D" --decorate=full >actual &&\n'> 
          <'\tcat >expected <<-EOF &&\n'> <'\t$head1 tag: refs/tags/tag2\n'> <'\t$head2 tag: refs/tags/message-one\n'> 
          <'\t$old_head1 tag: refs/tags/message-two\n'> <'\tEOF\n'> <'\tsort actual >actual1 &&\n'> <'\ttest_cmp expected actual1\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)