Running ‘testthat.R’ [13s/17s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > #! /usr/bin/env Rscript
  > 
  > library(testthat)
  > library(rly)
  > 
  > test_check("rly")
  Saving _problems/test.lex_doc1-24.R
  Saving _problems/test.lex_empty-16.R
  Saving _problems/test.lex_error1-18.R
  Saving _problems/test.lex_error2-20.R
  Saving _problems/test.lex_error3-20.R
  Saving _problems/test.lex_error4-20.R
  Saving _problems/test.lex_ignore-21.R
  Saving _problems/test.lex_literal1-21.R
  Saving _problems/test.lex_literal2-21.R
  Saving _problems/test.lex_re1-20.R
  Saving _problems/test.lex_re2-20.R
  Saving _problems/test.lex_rule1-20.R
  Saving _problems/test.lex_rule2-20.R
  Saving _problems/test.lex_rule3-20.R
  Saving _problems/test.lex_state1-30.R
  Saving _problems/test.lex_state2-30.R
  Saving _problems/test.lex_state3-31.R
  Saving _problems/test.lex_state4-30.R
  Saving _problems/test.lex_state5-31.R
  Saving _problems/test.lex_state_noerror-28.R
  Saving _problems/test.lex_state_norule-28.R
  Saving _problems/test.lex_token1-20.R
  Saving _problems/test.lex_token2-21.R
  Saving _problems/test.lex_token3-21.R
  Saving _problems/test.lex_token4-21.R
  Saving _problems/test.lex_token_dup-22.R
  Saving _problems/test.yacc_badargs-96.R
  Saving _problems/test.yacc_badargs-98.R
  Saving _problems/test.yacc_badid-99.R
  Saving _problems/test.yacc_badid-101.R
  Saving _problems/test.yacc_badprec-51.R
  Saving _problems/test.yacc_badprec2-53.R
  Saving _problems/test.yacc_badrule-182.R
  Saving _problems/test.yacc_badrule-184.R
  Saving _problems/test.yacc_badrule-186.R
  Saving _problems/test.yacc_badrule-188.R
  Saving _problems/test.yacc_badtok-53.R
  Saving _problems/test.yacc_error1-53.R
  Saving _problems/test.yacc_error2-53.R
  Saving _problems/test.yacc_error3-51.R
  Saving _problems/test.yacc_error4-52.R
  Saving _problems/test.yacc_inf-50.R
  Saving _problems/test.yacc_literal-54.R
  Saving _problems/test.yacc_misplaced-53.R
  Saving _problems/test.yacc_missing1-53.R
  Saving _problems/test.yacc_nested-70.R
  Saving _problems/test.yacc_nodoc-53.R
  Saving _problems/test.yacc_noerror-49.R
  Saving _problems/test.yacc_nop-52.R
  Saving _problems/test.yacc_notfunc-50.R
  Saving _problems/test.yacc_notok-52.R
  Saving _problems/test.yacc_prec1-55.R
  Saving _problems/test.yacc_rr-59.R
  Saving _problems/test.yacc_rr_unused-38.R
  Generating LALR tables 
  Saving _problems/test.yacc_sr-49.R
  Saving _problems/test.yacc_term1-53.R
  Saving _problems/test.yacc_unused-103.R
  Saving _problems/test.yacc_unused-107.R
  Saving _problems/test.yacc_unused_rule-58.R
  Saving _problems/test.yacc_uprec-50.R
  Saving _problems/test.yacc_uprec2-53.R
  [ FAIL 61 | WARN 1 | SKIP 3 | PASS 130 ]
  
  ══ Skipped tests (3) ═══════════════════════════════════════════════════════════
  • empty test (3): 'test.example.basic.R:709:1', 'test.pkg_test1.R:80:1',
    'test.yacc_simple.R:50:1'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test.lex_doc1.R:23:3'): missing regex ─────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_empty.R:15:3'): missing rules ────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_error1.R:18:3'): no t_error() ────────────────────────────
  Expected `rly::lex(Lexer)` to produce output.
  ── Failure ('test.lex_error2.R:19:3'): t_error not function ────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_error3.R:19:3'): t_error missing arg ─────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_error4.R:19:3'): t_error too many arg ────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_ignore.R:20:3'): t_ignore improper ───────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_literal1.R:20:3'): literal not single ────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_literal2.R:20:3'): literal not single ────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_re1.R:19:3'): wrong regex ────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_re2.R:19:3'): regex matches empty string ─────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_rule1.R:19:3'): rule incorrect ───────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_rule2.R:19:3'): incorect # args ──────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_rule3.R:19:3'): incorect # args ──────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state1.R:29:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state2.R:29:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state3.R:30:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state4.R:29:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state5.R:30:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_state_noerror.R:26:3'): no error rule for state ──────────
  Expected `rly::lex(Lexer)` to produce output.
  ── Failure ('test.lex_state_norule.R:27:3'): no rule at all for state ──────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_token1.R:19:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_token2.R:20:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_token3.R:20:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_token4.R:20:3'): comment ─────────────────────────────────
  Expected `expect_error(rly::lex(Lexer), "Can't build lexer")` to produce output.
  ── Failure ('test.lex_token_dup.R:22:3'): comment ──────────────────────────────
  Expected `rly::lex(Lexer)` to produce output.
  ── Failure ('test.yacc_badargs.R:95:3'): missing regex ─────────────────────────
  Expected `expect_error(rly::yacc(Parser1), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badargs.R:97:3'): missing regex ─────────────────────────
  Expected `expect_error(rly::yacc(Parser2), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badid.R:98:3'): rule name ───────────────────────────────
  Expected `expect_error(rly::yacc(Parser1), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badid.R:100:3'): rule name ──────────────────────────────
  Expected `expect_error(rly::yacc(Parser2), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badprec.R:50:3'): precedence ────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badprec2.R:52:3'): precedence ───────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badrule.R:181:3'): rule ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser1), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badrule.R:183:3'): rule ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser2), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badrule.R:185:3'): rule ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser3), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badrule.R:187:3'): rule ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser4), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_badtok.R:52:3'): tokens ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_error1.R:52:3'): error ──────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_error2.R:52:3'): error ──────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_error3.R:50:3'): error ──────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_error4.R:51:3'): error ──────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_inf.R:46:3'): recursion ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_literal.R:53:4'): literal ───────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_misplaced.R:52:3'): misplaced ───────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_missing1.R:52:3'): rule ─────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_nested.R:39:3'): nested ─────────────────────────────────
  Expected output from `parser$parse("ABC", lexer, tracking = TRUE, debug = rly::RlyLogger$new())` to match regexp "INFO \\[.*\\] RLY: PARSE DEBUG START\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 1\nINFO \\[.*\\] Stack  :  \\. LexToken\\(A,A,1,1\\)\nINFO \\[.*\\] Action : Shift and goto state 2\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 2\nINFO \\[.*\\] Stack  : A \\. LexToken\\(B,B,1,2\\)\nINFO \\[.*\\] Action : Shift and goto state 4\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 4\nINFO \\[.*\\] Defaulted state 4: Reduce using 2\nINFO \\[.*\\] Stack  : A B \\. NULL\nINFO \\[.*\\] Action : Reduce rule \\[nest -> B\\] with \\[B\\] and goto state 5\nA\nINFO \\[.*\\] Result : <NULL> \\(\\)\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 5\nINFO \\[.*\\] Stack  : A nest \\. LexToken\\(C,C,1,3\\)\nINFO \\[.*\\] Action : Shift and goto state 6\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 6\nINFO \\[.*\\] Defaulted state 6: Reduce using 1\nINFO \\[.*\\] Stack  : A nest C \\. NULL\nINFO \\[.*\\] Action : Reduce rule \\[start -> A nest C\\] with \\[A, , C\\] and goto state 3\nINFO \\[.*\\] Result : <NULL> \\(\\)\nINFO \\[.*\\]\\s\nINFO \\[.*\\] State  : 3\nINFO \\[.*\\] Stack  : start \\. \\$end\nINFO \\[.*\\] Done   : Returning <NULL> \\(\\)\nINFO \\[.*\\] PLY: PARSE DEBUG END".
  Actual output:
  ✖ │ A
  ── Failure ('test.yacc_nodoc.R:52:3'): error ───────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_noerror.R:49:3'): error ─────────────────────────────────
  Expected `rly::yacc(Parser)` to produce output.
  ── Failure ('test.yacc_nop.R:52:3'): no p ──────────────────────────────────────
  Expected `rly::yacc(Parser)` to produce output.
  ── Failure ('test.yacc_notfunc.R:50:3'): not function ──────────────────────────
  Expected `rly::yacc(Parser)` to produce output.
  ── Failure ('test.yacc_notok.R:51:3'): token ───────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_prec1.R:52:3'): precedence ──────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_rr.R:55:3'): reduce ─────────────────────────────────────
  Expected output from `rly::yacc(Parser, debug = TRUE)` to match regexp "Generating LALR tables \nWARN .* 1 reduce/reduce conflict\nWARN .* reduce/reduce conflict in state 21 resolved using rule \\(statement -> NAME EQUALS NUMBER\\)\nWARN .* rejected rule \\(expression -> NUMBER\\) in state 21".
  Actual output:
  ✖ │ Generating LALR tables 
  ── Failure ('test.yacc_rr_unused.R:28:3'): rr_unused ───────────────────────────
  Expected output from `rly::yacc(Parser, debug = TRUE)` to match regexp "WARN .* no p_error\\(\\) function is defined\nGenerating LALR tables \nWARN .* 3 reduce/reduce conflicts\nWARN .* reduce/reduce conflict in state 2 resolved using rule \\(rule3 -> A\\)\nWARN .* rejected rule \\(rule4 -> A\\) in state 2\nWARN .* reduce/reduce conflict in state 2 resolved using rule \\(rule3 -> A\\)\nWARN .* rejected rule \\(rule5 -> A\\) in state 2\nWARN .* reduce/reduce conflict in state 2 resolved using rule \\(rule4 -> A\\)\nWARN .* rejected rule \\(rule5 -> A\\) in state 2\nWARN .* Rule \\(rule5 -> A\\) is never reduced".
  Actual output:
  ✖ │ Generating LALR tables 
  ── Failure ('test.yacc_sr.R:47:3'): shift ──────────────────────────────────────
  Expected output from `rly::yacc(Parser, debug = TRUE)` to match regexp "Generating LALR tables \nWARN .* 20 shift/reduce conflicts".
  Actual output:
  ✖ │ Generating LALR tables 
  ── Failure ('test.yacc_term1.R:52:3'): terminal ────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_unused.R:99:3'): grammar ────────────────────────────────
  Expected `expect_error(rly::yacc(Parser1), "Unable to build parser")` to produce output.
  ── Failure ('test.yacc_unused.R:104:3'): grammar ───────────────────────────────
  Expected `rly::yacc(Parser2)` to produce output.
  ── Failure ('test.yacc_unused_rule.R:55:3'): grammar ───────────────────────────
  Expected `rly::yacc(Parser)` to produce output.
  ── Failure ('test.yacc_uprec.R:49:3'): prec ────────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  ── Failure ('test.yacc_uprec2.R:52:3'): prec ───────────────────────────────────
  Expected `expect_error(rly::yacc(Parser), "\\[YaccError\\]Unable to build parser")` to produce output.
  
  [ FAIL 61 | WARN 1 | SKIP 3 | PASS 130 ]
  Error:
  ! Test failures.
  Execution halted