* using log directory ‘/Users/ripley/R/packages/tests-devel/learningtower.Rcheck’ * using R Under development (unstable) (2026-08-15 r90409) * using platform: aarch64-apple-darwin25.6.0 * R was compiled by Apple clang version 21.0.0 (clang-2100.1.1.101) GNU Fortran (GCC) 14.2.0 * running under: macOS Tahoe 26.6.1 * using session charset: UTF-8 * current time: 2026-08-15 08:11:54 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘learningtower/DESCRIPTION’ ... OK * this is package ‘learningtower’ version ‘1.1.1’ * 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 executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘learningtower’ can be installed ... OK * 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 ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking whether startup messages can be suppressed ... 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 ... OK * checking Rd files ... 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 contents of ‘data’ directory ... OK * checking data for non-ASCII characters ... OK * checking LazyData ... OK * checking data for ASCII and uncompressed saves ... OK * checking installed files from ‘inst/doc’ ... OK * checking files in ‘vignettes’ ... OK * checking examples ... OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘testthat.R’ [10s/27s] [11s/27s] ERROR Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(learningtower) The learningtower package (version 1.1.0) provides data from OECD PISA database between 2000 - 2022. For package size reasons, only a small subset is provided in the package. Use the function `load_student()` to access the full data. > > test_check("learningtower") Downloading year 2000... Downloading year 2000... Downloading year 2000... Downloading year 2000... Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Downloading year 2003... Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Downloading year 2006... Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Downloading year 2009... Saving _problems/test-student-col-types-45.R Downloading year 2012... Saving _problems/test-student-col-types-45.R Downloading year 2015... Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Downloading year 2018... Saving _problems/test-student-col-types-45.R Downloading year 2022... Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Saving _problems/test-student-col-types-45.R Downloading year 2000... Downloading year 2000... Downloading year 2000... Downloading year 2003... Downloading year 2000... [ FAIL 21 | WARN 0 | SKIP 0 | PASS 380 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2000 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column mother_educ in full dataset of 2000 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column father_educ in full dataset of 2000 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column computer in full dataset of 2000 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2003 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column television in full dataset of 2003 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column computer_n in full dataset of 2003 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column car in full dataset of 2003 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column wealth in full dataset of 2003 should be numeric ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column country in full dataset of 2006 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2006 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2009 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2012 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2015 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column dishwasher in full dataset of 2015 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2018 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column country in full dataset of 2022 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column student_id in full dataset of 2022 should be integer ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column desk in full dataset of 2022 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column dishwasher in full dataset of 2022 should be factor ── Failure ('test-student-col-types.R:44:7'): load_student() returns correct structure for full datasets ── Expected `class(dataset[[expected_student_columns[i]]])[1] == expected_student_types[i]` to be TRUE. Differences: `actual`: FALSE `expected`: TRUE Column wealth in full dataset of 2022 should be numeric [ FAIL 21 | WARN 0 | SKIP 0 | PASS 380 ] Error: ! Test failures. Execution halted * checking for unstated dependencies in vignettes ... OK * checking package vignettes ... OK * checking re-building of vignette outputs ... [11s/14s] OK * checking PDF version of manual ... OK * checking HTML version of manual ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/Users/ripley/R/packages/tests-devel/learningtower.Rcheck/00check.log’ for details. 64.66 real 37.54 user 7.37 sys