## Copyright (C) 2026 Dirk Eddelbuettel ## ## This file is part of Rcpp. ## ## Rcpp is free software: you can redistribute it and/or modify it ## under the terms of the GNU General Public License as published by ## the Free Software Foundation, either version 2 of the License, or ## (at your option) any later version. ## ## Rcpp is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with Rcpp. If not, see . if (Sys.getenv("RunAllRcppTests") != "yes") exit_file("Set 'RunAllRcppTests' to 'yes' to run.") ## Test 1.1: Invalid File Extension ## Coverage target: R/Attributes.R:58-61 tmpfile <- tempfile(fileext = ".c") writeLines("int main() { return 0; }", tmpfile) expect_error(sourceCpp(tmpfile), "does not have an extension of .cc or .cpp") unlink(tmpfile) ## Test 1.2: Filename with Spaces on Windows ## Coverage target: R/Attributes.R:64-68 if (.Platform$OS.type == "windows") { tmpfile <- file.path(tempdir(), "test file.cpp") writeLines("#include ", tmpfile) expect_error(sourceCpp(tmpfile), "contains spaces") unlink(tmpfile) } ## Test 1.3: windowsDebugDLL on Non-Windows ## Coverage target: R/Attributes.R:70-76 if (.Platform$OS.type != "windows") { code <- "// [[Rcpp::export]]\nint test_fn() { return 42; }" expect_message(sourceCpp(code = code, windowsDebugDLL = TRUE, verbose = TRUE), "windowsDebugDLL.*ignored") }