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

benchmarks/testdata/Build.sh

real	0m0.674s
user	0m0.646s
sys	0m0.028s
--- benchmarks/testdata/abuild

benchmarks/testdata/abuild

real	0m0.915s
user	0m0.890s
sys	0m0.025s
--- benchmarks/testdata/configure

benchmarks/testdata/configure

real	0m4.808s
user	0m4.760s
sys	0m0.048s
--- benchmarks/testdata/configure-coreutils

benchmarks/testdata/configure-coreutils

real	0m13.432s
user	0m13.297s
sys	0m0.134s
--- benchmarks/testdata/configure-helper.sh

benchmarks/testdata/configure-helper.sh

real	0m0.629s
user	0m0.604s
sys	0m0.025s
--- benchmarks/testdata/functions

benchmarks/testdata/functions

real	0m0.630s
user	0m0.593s
sys	0m0.037s
--- benchmarks/testdata/ltmain.sh

benchmarks/testdata/ltmain.sh

real	0m2.212s
user	0m2.184s
sys	0m0.027s
--- benchmarks/testdata/t4014-format-patch.sh

benchmarks/testdata/t4014-format-patch.sh

real	0m0.169s
user	0m0.148s
sys	0m0.021s
--- benchmarks/testdata/t9300-fast-import.sh

benchmarks/testdata/t9300-fast-import.sh

real	0m0.177s
user	0m0.156s
sys	0m0.021s
--- benchmarks/testdata/test-cmd-util.sh

benchmarks/testdata/test-cmd-util.sh

real	0m2.210s
user	0m2.174s
sys	0m0.036s

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>}]
                      is_last_cmd: F
                    )
                  right: <Id.Backtick_Right "`">
                )
              }
              {<Id.Lit_Chars zzz>}
            ]
            is_last_cmd: F
          )
        right: <Id.Backtick_Right "`">
      )
    }
  ]
  is_last_cmd: F
)
(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>}
            ]
            is_last_cmd: F
          )
        right: <Id.Eof_Backtick "`">
      )
    }
  ]
  is_last_cmd: F
)
(command.Redirect
  child: 
    (command.Simple
      blame_tok: <Id.Lit_Chars cat>
      more_env: []
      words: [{<Id.Lit_Chars cat>}]
      is_last_cmd: F
    )
  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>}]
      is_last_cmd: F
    )
  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.