*** Running test-big-sh-files
--- benchmarks/testdata/Build.sh

benchmarks/testdata/Build.sh

real	0m0.672s
user	0m0.643s
sys	0m0.029s
--- benchmarks/testdata/abuild

benchmarks/testdata/abuild

real	0m0.924s
user	0m0.904s
sys	0m0.021s
--- benchmarks/testdata/configure

benchmarks/testdata/configure

real	0m4.839s
user	0m4.791s
sys	0m0.047s
--- benchmarks/testdata/configure-coreutils

benchmarks/testdata/configure-coreutils

real	0m13.491s
user	0m13.379s
sys	0m0.110s
--- benchmarks/testdata/configure-helper.sh

benchmarks/testdata/configure-helper.sh

real	0m0.626s
user	0m0.596s
sys	0m0.029s
--- benchmarks/testdata/functions

benchmarks/testdata/functions

real	0m0.602s
user	0m0.592s
sys	0m0.009s
--- benchmarks/testdata/ltmain.sh

benchmarks/testdata/ltmain.sh

real	0m2.196s
user	0m2.170s
sys	0m0.026s
--- benchmarks/testdata/t4014-format-patch.sh

benchmarks/testdata/t4014-format-patch.sh

real	0m0.167s
user	0m0.142s
sys	0m0.026s
--- benchmarks/testdata/t9300-fast-import.sh

benchmarks/testdata/t9300-fast-import.sh

real	0m0.175s
user	0m0.153s
sys	0m0.022s
--- benchmarks/testdata/test-cmd-util.sh

benchmarks/testdata/test-cmd-util.sh

real	0m2.168s
user	0m2.127s
sys	0m0.041s

10 of 10 files respect the lossless invariant
OK  test-big-sh-files
*** Running test-do-lossless-flag
(command.ShAssignment
  left: <Id.Lit_ArrayLhsOpen "a[">
  pairs: [
    (AssignPair
      left: <Id.Lit_ArrayLhsOpen "a[">
      lhs: 
        (sh_lhs.IndexedName
          left: <Id.Lit_ArrayLhsOpen "a[">
          name: a
          index: 
            (arith_expr.Binary
              op: <Id.Arith_Plus "+">
              left: <Id.Lit_ArithVarLike x>
              right: {<Id.Lit_Digits 1>}
            )
        )
      op: assign_op.Equal
      rhs: {<Id.Lit_Chars 1>}
    )
  ]
)
(command.ShAssignment
  left: <Id.Lit_ArrayLhsOpen "a[">
  pairs: [
    (AssignPair
      left: <Id.Lit_ArrayLhsOpen "a[">
      lhs: (sh_lhs.UnparsedIndex left:<Id.Lit_ArrayLhsOpen "a["> name:a index:"x+1")
      op: assign_op.Equal
      rhs: {<Id.Lit_Chars 1>}
    )
  ]
)
(command.Simple
  blame_tok: <Id.Left_Backtick "`">
  more_env: []
  words: [
    {
      (CommandSub
        left_token: <Id.Left_Backtick "`">
        child: 
          (command.Simple
            blame_tok: <Id.Lit_Chars echo>
            more_env: []
            words: [
              {<Id.Lit_Chars echo>}
              {
                (CommandSub
                  left_token: <Id.Left_Backtick "`">
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_Chars hostname>
                      more_env: []
                      words: [{<Id.Lit_Chars hostname>}]
                      do_fork: T
                    )
                  right: <Id.Backtick_Right "`">
                )
              }
              {<Id.Lit_Chars zzz>}
            ]
            do_fork: T
          )
        right: <Id.Backtick_Right "`">
      )
    }
  ]
  do_fork: T
)
(command.Simple
  blame_tok: <Id.Left_Backtick "`">
  more_env: []
  words: [
    {
      (CommandSub
        left_token: <Id.Left_Backtick "`">
        child: 
          (command.Simple
            blame_tok: <Id.Lit_Chars echo>
            more_env: []
            words: [
              {<Id.Lit_Chars echo>}
              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar "\\`"> ch:"`") 
                <Id.Lit_Chars hostname> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar "\\`"> ch:"`")
              }
              {<Id.Lit_Chars zzz>}
            ]
            do_fork: T
          )
        right: <Id.Eof_Backtick "`">
      )
    }
  ]
  do_fork: T
)
(command.Redirect
  child: 
    (command.Simple
      blame_tok: <Id.Lit_Chars cat>
      more_env: []
      words: [{<Id.Lit_Chars cat>}]
      do_fork: T
    )
  redirects: [
    (Redir
      op: <Id.Redir_DLessDash "<<-">
      loc: (redir_loc.Fd fd:0)
      arg: 
        (redir_param.HereDoc
          here_begin: {(SQ HERE)}
          here_end_tok: <Id.Undefined_Tok "HERE\n">
          stdin_parts: [
            <Id.Lit_Chars "one     # tabs stripped\n">
            <Id.Lit_Chars "two   # 2 tabs\n">
            <Id.Lit_Chars "three\n">
          ]
        )
    )
  ]
)
(command.Redirect
  child: 
    (command.Simple
      blame_tok: <Id.Lit_Chars cat>
      more_env: []
      words: [{<Id.Lit_Chars cat>}]
      do_fork: T
    )
  redirects: [
    (Redir
      op: <Id.Redir_DLessDash "<<-">
      loc: (redir_loc.Fd fd:0)
      arg: 
        (redir_param.HereDoc
          here_begin: {(SQ HERE)}
          here_end_tok: <Id.Undefined_Tok "HERE\n">
          stdin_parts: [
            <Id.Lit_Chars "one     # tabs stripped\n">
            <Id.Lit_Chars "two   # 2 tabs\n">
            <Id.Lit_Chars "three\n">
          ]
        )
    )
  ]
)
OK  test-do-lossless-flag
*** Running test-sh
--- test/lossless/here-dq-indented.sh
test/lossless/here-dq-indented.sh
--- test/lossless/here-dq.sh
test/lossless/here-dq.sh
--- test/lossless/here-multiple.sh
test/lossless/here-multiple.sh
--- test/lossless/here-sq.sh
test/lossless/here-sq.sh
--- test/lossless/sh-features.sh
test/lossless/sh-features.sh
--- test/lossless/tilde.sh
test/lossless/tilde.sh
OK  test-sh
*** Running test-ysh
--- ysh/testdata/expr-sub.ysh
ysh/testdata/expr-sub.ysh
--- ysh/testdata/hello.ysh
ysh/testdata/hello.ysh
--- ysh/testdata/learn-ysh.ysh
ysh/testdata/learn-ysh.ysh
--- ysh/testdata/tour.ysh
ysh/testdata/tour.ysh
--- test/lossless/multiline-str.ysh
test/lossless/multiline-str.ysh
OK  test-ysh
*** Running test-ysh-strings

OK  test-ysh-strings

test/lossless.sh: 5 tests passed.