- using R version 4.4.3 (2025-02-28 ucrt)
- using platform: x86_64-w64-mingw32
- R was compiled by
gcc.exe (GCC) 13.3.0
GNU Fortran (GCC) 13.3.0
- running under: Windows Server 2022 x64 (build 20348)
- using session charset: UTF-8
- checking for file 'rly/DESCRIPTION' ... OK
- checking extension type ... Package
- this is package 'rly' version '1.7.7'
- package encoding: UTF-8
- checking package namespace information ... OK
- checking package dependencies ... OK
- checking if this is a source package ... OK
- checking if there is a namespace ... OK
- checking for hidden files and directories ... OK
- checking for portable file names ... OK
- checking whether package 'rly' can be installed ... OK
See the install log for details.
- used C compiler: 'gcc.exe (GCC) 13.3.0'
- checking installed package size ... OK
- checking package directory ... OK
- checking 'build' directory ... OK
- checking DESCRIPTION meta-information ... OK
- checking top-level files ... OK
- checking for left-over files ... OK
- checking index information ... OK
- checking package subdirectories ... OK
- checking code files for non-ASCII characters ... OK
- checking R files for syntax errors ... OK
- checking whether the package can be loaded ... [0s] OK
- checking whether the package can be loaded with stated dependencies ... [0s] OK
- checking whether the package can be unloaded cleanly ... [0s] OK
- checking whether the namespace can be loaded with stated dependencies ... [0s] OK
- checking whether the namespace can be unloaded cleanly ... [1s] OK
- checking loading without being on the library search path ... [0s] OK
- checking use of S3 registration ... OK
- checking dependencies in R code ... OK
- checking S3 generic/method consistency ... OK
- checking replacement functions ... OK
- checking foreign function calls ... OK
- checking R code for possible problems ... [4s] OK
- checking Rd files ... [1s] OK
- checking Rd metadata ... OK
- checking Rd cross-references ... OK
- checking for missing documentation entries ... OK
- checking for code/documentation mismatches ... OK
- checking Rd \usage sections ... OK
- checking Rd contents ... OK
- checking for unstated dependencies in examples ... OK
- checking line endings in C/C++/Fortran sources/headers ... OK
- checking line endings in Makefiles ... OK
- checking compilation flags in Makevars ... OK
- checking for GNU extensions in Makefiles ... OK
- checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
- checking use of PKG_*FLAGS in Makefiles ... OK
- checking pragmas in C/C++ headers and code ... OK
- checking compiled code ... OK
- checking installed files from 'inst/doc' ... OK
- checking files in 'vignettes' ... OK
- checking examples ... [1s] OK
- checking for unstated dependencies in 'tests' ... OK
- checking tests ... [15s] 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
- checking for unstated dependencies in vignettes ... OK
- checking package vignettes ... OK
- checking re-building of vignette outputs ... [4s] OK
- checking PDF version of manual ... [17s] OK
- checking HTML version of manual ... [2s] OK
- DONE
Status: 1 ERROR