Last updated on 2025-12-31 11:50:30 CET.
| Package | ERROR | OK |
|---|---|---|
| rly | 6 | 7 |
| thriftr | 13 |
Current CRAN status: ERROR: 6, OK: 7
Version: 1.7.7
Check: tests
Result: ERROR
Running ‘testthat.R’ [12s/15s]
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
Flavor: r-devel-linux-x86_64-debian-clang
Version: 1.7.7
Check: tests
Result: ERROR
Running ‘testthat.R’ [7s/8s]
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
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 1.7.7
Check: tests
Result: ERROR
Running ‘testthat.R’ [21s/64s]
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
Flavor: r-devel-linux-x86_64-fedora-clang
Version: 1.7.7
Check: tests
Result: ERROR
Running ‘testthat.R’ [20s/48s]
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
Flavor: r-devel-linux-x86_64-fedora-gcc
Version: 1.7.7
Check: tests
Result: ERROR
Running 'testthat.R' [11s]
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
Flavor: r-release-windows-x86_64
Version: 1.7.7
Check: tests
Result: ERROR
Running 'testthat.R' [14s]
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
Flavor: r-oldrel-windows-x86_64
Current CRAN status: OK: 13