Repository navigation
R CMD check Conformance
github-actions[bot] edited this page Oct 25, 2026
·
1 revision
Generated from 'wiki-linter.ts' on 2026-10-19, 06:47:02 UTC (v2.16.2), do not edit directly.
Rules tagged port
R CMD check (R 4.6.1, see Writing R Extensions and R Packages).
They run by default only for packages (config option linter.disabledTags), see the linter for all rules.
Below are all steps of R CMD check, numbered by us (R itself prints them as * checking ...), each linked to its code in R's check.R and its section in R Packages.
| Coverage | |
|---|---|
| 🟩 | everything the step reports |
| 🔷 | what can be decided without building, installing, or running the package |
| 🔶 | part of what the step reports |
| ⭐ | flowR reports more than the step, the note says what |
| # | Step (checking ...) |
Rules | Note | |
|---|---|---|---|---|
| 1 | for file 'DESCRIPTION' (book) | 🟩⭐ | description-metadata | ⭐ also reports every problem instead of stopping at the first |
| 2 | whether tarball can be unpacked (book) | 🔷 | package-structure | only the path rules of tarballs |
| 3 | package directory (book) | 🟩 | package-structure | |
| 4 | if this is a source package (book) | 🟩 | package-runtime | the Built field and object files in src are not checked |
| 5 | extension type (book) | 🟩 | package-runtime | |
| 6 | package bundle (book) | 🔶 | description-metadata | |
| 7 | if there is a namespace (book) | 🟩 | package-runtime | needs the package on disk |
| # | Step (checking ...) |
Rules | Note | |
|---|---|---|---|---|
| 35 | R files for syntax errors (book) | 🟩⭐ | syntactically-valid | ⭐ also quick fixes repairing the syntax error |
| 36 | code files for non-ASCII characters (book) | 🟩⭐ | non-ascii-code | ⭐ also reports each token instead of each file, escapes strings as a quick fix |
| 37 | R code for possible problems (book) | 🟩⭐ | undefined-symbol, call-arguments, global-environment-modification, class-string-comparison, bogus-return, package-hooks, namespace-tampering, deprecated-functions, true-false-abbreviation | ⭐ also quick fixes, deprecated arguments, environments resolved through variables, hooks followed into callees |
| 38 | S3 generic/method consistency (book) | 🟩⭐ | s3-method-consistency | ⭐ also apparent and unregistered methods without setting an environment variable |
| 39 | replacement functions (book) | 🟩⭐ | s3-method-consistency | ⭐ also apparent replacement methods |
| 40 | foreign function calls (book) | 🔷⭐ | foreign-function-calls | ⭐ also resolves PACKAGE arguments through variables routine registration needs the installed package |
| 41 | use of S3 registration (book) | 🔷 | s3-method-consistency | overwriting registered methods of standard packages is not checked |
| 42 | whether startup messages can be suppressed (book) | 🔷⭐ | package-hooks | ⭐ also follows the hooks into the package functions they call output in package hooks not sent through packageStartupMessage |
| 43 | whether the namespace can be unloaded cleanly (book) | 🔷 | package-hooks | only hook arguments and misplaced library.dynam.unload calls |
| 44 | package namespace information (book) | 🔶 | documentation-mismatch, non-ascii-code, package-hooks |
| # | Step (checking ...) |
Rules | Note | |
|---|---|---|---|---|
| 45 | Rd files (book) | 🟩 | rd-files | \Sexpr macros are not evaluated |
| 46 | Rd metadata (book) | 🟩⭐ | rd-files | ⭐ also Rd names that differ only by case |
| 47 | Rd cross-references (book) | 🔷 | rd-files | targets in other packages are asked of the signature database |
| 48 | for missing documentation entries (book) | 🟩 | documentation-mismatch, package-data | S4 classes and methods are not checked |
| 49 | for code/documentation mismatches (book) | 🟩 | documentation-mismatch | data sets and S4 classes are not compared |
| 50 | Rd \usage sections (book) | 🟩 | documentation-mismatch, rd-files | |
| 51 | Rd contents (book) | 🟩 | rd-files | |
| 52 | Rd line widths (book) | 🟩 | rd-files | |
| 53 | examples (book) | 🔷⭐ | rd-files, dependency-declaration | ⭐ also T and F in the examples parses the examples and checks what they call, without running them |
| 54 | PDF version of manual (book) | 🔷 | rd-files | the Rd constructs that break the LaTeX rendering |
| 55 | PDF version of manual without index (book) | 🔷 | rd-files | the Rd constructs that break the LaTeX rendering |
| 56 | index information (book) | 🟩 | package-metafiles | the vignette index of inst/doc is not checked |
| 57 | demos (book) | 🔷 | package-metafiles, package-structure | the demo index and file names, the demos are not run |
| 58 | package subdirectories (CITATION) (book) | 🟩⭐ | package-metafiles | ⭐ also the superseded citEntry and personList the CITATION file is parsed, not evaluated |
| 59 | relative paths in package URLs (book) | 🔷⭐ | package-metafiles | ⭐ also links in README and NEWS relative URLs in Rd files are not checked |
| # | Step (checking ...) |
Rules | Note | |
|---|---|---|---|---|
| 60 | contents of 'data' directory (book) | 🟩 | package-data | data sets are not loaded |
| 61 | data for ASCII and uncompressed saves (book) | 🟩 | package-data | no recompression to estimate the savings |
| 62 | R/sysdata.rda (book) | 🟩 | package-data | no recompression to estimate the savings |
| 63 | serialization versions (book) | 🟩 | package-data | .rds files and xz compressed saves are not read |
| 64 | data for non-ASCII characters (book) | 🔶 | package-data | the encodings of saved strings are not read |
| # | Step (checking ...) |
Rules | Note | |
|---|---|---|---|---|
| 80 | whether the package can be loaded (book) | 🔷 | package-runtime | S3 methods registered without a function, imports of unexported names |
| 81 | loading without being on the library search path (book) | 🔷 | package-runtime | the package attaching itself |
| 82 | whether the package can be unloaded cleanly (book) | 🔷 | package-hooks | only hook arguments and misplaced library.dynam.unload calls |
| 83 | tests (book) | 🔷⭐ | package-runtime, dependency-declaration | ⭐ also testthat tests without a runner, runners testing another package tests are not run, only checked for runners and syntax |
| 84 | for differences from example reference output (book) | 🔷⭐ | package-runtime | ⭐ also reference output without its test example output is not compared with its reference |
| 85 | running R code from vignettes (book) | 🔷 | package-runtime, dependency-declaration | vignette code that does not parse |
| 86 | re-building of vignette outputs (book) | 🔷 | package-runtime | vignettes without index entry or engine |
| 87 | package vignettes (book) | 🔷 | package-runtime, package-structure | non-ASCII vignettes without declared encoding are not reported |
| 88 | examples with --run-donttest (book) | 🔷⭐ | rd-files, dependency-declaration | ⭐ also T and F in the examples the \donttest code is checked like all examples |
| 89 | for non-standard things in the check directory (book) | 🔷 | package-runtime, rd-files | files tests, vignettes, and examples write into the working directory |
| 90 | for detritus in the temp directory (book) | 🔶 | package-runtime, rd-files | only the files written by name |
| 91 | for new files in some other directories (book) | 🔶 | package-runtime, rd-files | only the files written by name |
| 92 | HTML version of manual (book) | 🔷 | rd-files | the Rd files that would not render |
Currently maintained by Florian Sihler and Oliver Gerstl at Ulm University
Email | GitHub | Penguins | Portfolio
- 🧑💻 Developer Onboarding
- 💻 Setup
- 👓 Overview
- 🪟 Interfacing with flowR
- 🌋 Core
- 🧹 Testing & Linting (Benchmark Page)
⁉️ FAQ- ℹ️ Extra Information