*** Running test-ascii-control

===== CASE: -c echo $'\x02' | json read =====


  echo $'\x02' | json read
                      ^~~~
[ -c flag ]:1: json read: Invalid token while parsing JSON: Id.Unknown_Tok (line 1, offset 0-1: '\x02\n')

===== CASE: -c echo $'"foo \x01 "' | json read
pp test_ (_reply) =====


  echo $'"foo \x01 "' | json read
                             ^~~~
[ -c flag ]:1: json read: JSON strings can't have unescaped ASCII control chars (line 1, offset 0-6: '"foo \x01 "\n')
  echo $'"foo \x01 "' | json read
                        ^~~~
[ -c flag ]:1: errexit PID 5527: command.Simple failed with status 1
  echo $'"foo \x01 "' | json read
                        ^~~~
[ -c flag ]:1: errexit PID 5527: command.Pipeline failed with status 1

===== CASE: -c var invalid = b'\y01'
echo $["u'foo" ++ invalid ++ "'"] | json8 read
pp test_ (_reply) =====


  echo $["u'foo" ++ invalid ++ "'"] | json8 read
                                            ^~~~
[ -c flag ]:2: json8 read: J8 strings can't have unescaped ASCII control chars (line 1, offset 0-6: "u'foo\x01'\n")
  echo $["u'foo" ++ invalid ++ "'"] | json8 read
                                      ^~~~~
[ -c flag ]:2: errexit PID 5532: command.Simple failed with status 1
  echo $["u'foo" ++ invalid ++ "'"] | json8 read
                                      ^~~~~
[ -c flag ]:2: errexit PID 5532: command.Pipeline failed with status 1
OK  test-ascii-control
*** Running test-cpython
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.7/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid control character at: line 1 column 6 (char 5)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)
OK  test-cpython
*** Running test-encode

===== CASE: -c var d = {}; setvar d.k = d; json write (d) =====


[ -c flag ]:1: json write: Can't encode Dict 0x7f4ae6bdd758 in object cycle

===== CASE: -c var L = []; call L->append(L); json write (L) =====


[ -c flag ]:1: json write: Can't encode List 0x7fbd50174758 in object cycle

===== CASE: -c var L = []; call L->append(/d+/); j8 write (L) =====


  var L = []; call L->append(/d+/); j8 write (L)
                                             ^
[ -c flag ]:1: fatal: 'j8' appears to be external. External commands don't accept typed args (OILS-ERR-200)
OK  test-encode
*** Running test-j8-lines

===== CASE: -c write @(echo ' "json\tstring"  '; echo; echo " b'j8' "; echo ' unquoted ';) =====


Traceback (most recent call last):
  File "/home/uke/oil/bin/oils_for_unix.py", line 202, in <module>
    sys.exit(main(sys.argv))
  File "/home/uke/oil/bin/oils_for_unix.py", line 171, in main
    return AppBundleMain(argv)
  File "/home/uke/oil/bin/oils_for_unix.py", line 137, in AppBundleMain
    return shell.Main('ysh', arg_r, environ, login_shell, loader, readline)
  File "/home/uke/oil/core/shell.py", line 1253, in Main
    cmd_flags=cmd_eval.IsMainProgram)
  File "/home/uke/oil/core/main_loop.py", line 336, in Batch
    was_parsed, status = Batch2(cmd_ev, c_parser, errfmt, cmd_flags=cmd_flags)
  File "/home/uke/oil/core/main_loop.py", line 401, in Batch2
    is_return, is_fatal = cmd_ev.ExecuteAndCatch(node, cmd_flags)
  File "/home/uke/oil/osh/cmd_eval.py", line 2175, in ExecuteAndCatch
    status = self._Execute(node)
  File "/home/uke/oil/osh/cmd_eval.py", line 1974, in _Execute
    status = self._Dispatch(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 1701, in _Dispatch
    status = self._DoSimple(node, cmd_st)
  File "/home/uke/oil/osh/cmd_eval.py", line 904, in _DoSimple
    allow_assign=True)
  File "/home/uke/oil/osh/word_eval.py", line 2494, in EvalWordSequence2
    allow_assign)
  File "/home/uke/oil/osh/word_eval.py", line 2455, in SimpleEvalWordSequence2
    self._EvalWordToParts(w, part_vals, 0)  # not quoted
  File "/home/uke/oil/osh/word_eval.py", line 1989, in _EvalWordToParts
    self._EvalWordPart(p, word_part_vals, eval_flags)
  File "/home/uke/oil/osh/word_eval.py", line 1881, in _EvalWordPart
    quoted)  # type: part_value_t
  File "/home/uke/oil/osh/word_eval.py", line 2629, in _EvalCommandSub
    stdout_str = self.shell_ex.RunCommandSub(cs_part)
  File "/home/uke/oil/core/executor.py", line 691, in RunCommandSub
    status, stdout_str, stderr_str = self.CaptureStdout(node)
  File "/home/uke/oil/core/executor.py", line 619, in CaptureStdout
    fds, w, exc = select.select([r,r2], [], [r,r2], -1)
NameError: global name 'select' is not defined

data_lang/j8-errors.sh: fatal: Should run under bin/ysh: expected status 0, got 1
FAIL  test-j8-lines