Skip to content

Commit

Permalink
Added procs and updated documentation #34 #35
Browse files Browse the repository at this point in the history
  • Loading branch information
dbosak01 committed Sep 6, 2023
1 parent 2c350f0 commit d4f3387
Show file tree
Hide file tree
Showing 55 changed files with 5,751 additions and 2,161 deletions.
297 changes: 229 additions & 68 deletions R/iq.R
Original file line number Diff line number Diff line change
Expand Up @@ -62,19 +62,19 @@ run_iq <- function(location) {
sep("Package File Examination")

sep("Examine common package")
ret <- rbind(ret, examine_common())
ret <- rbind(ret, examine_package("common"))

sep("Examine fmtr package")
ret <- rbind(ret, examine_fmtr())
ret <- rbind(ret, examine_package("fmtr"))

sep("Examine libr package")
ret <- rbind(ret, examine_libr())
ret <- rbind(ret, examine_package("libr"))

sep("Examine reporter package")
ret <- rbind(ret, examine_reporter())
ret <- rbind(ret, examine_package("reporter"))

sep("Examine procs package")
ret <- rbind(ret, examine_procs())
ret <- rbind(ret, examine_package("procs"))

} else {

Expand Down Expand Up @@ -109,99 +109,168 @@ run_iq <- function(location) {

# IQ Checksums ------------------------------------------------------------

common_ck <- list("1.0.8" = "eaaf045fd6a752e01e6233c63f48cb4a",
"1.0.7" = "1ebbf9fbe0b42f6df5bb15e6bf12f229",
"1.0.5" = "21f1b333ec7259c6ffe41e9aeaf1391e",
"1.0.4" = "b1841850c492cd6d998efa788dee7cd0",
"1.0.3" = "b61aa170486b1b4327d0507b96c26204",
"1.0.1" = "9f8e73b66a0d6d2d7832788fa0c94a55")

fmtr_ck <- list("1.5.9" = "20a01e1e7cbf0003ba274253721d3c85", # "300deb40502efff0239d0ef731f4171b"
"1.5.8" = "8d609b0585bf23dcc758d8eb4b5c3d30",
"1.5.7" = "ff2d61b3af6b755a55a225bcd03a0755",
"1.5.5" = "f3d5371e59bbda4626a96f10b546eaf9",
"1.5.4" = "a44eb1f1e9b63e9a23237c545f300599",
"1.5.3" = "25fb35e9af0726f7e453ebe9f78a1f83",
"1.5.2" = "012a0de7a015b2376530e3dbf7ee412f",
"1.5.1" = "3c909974a90ed47253dea996e6315e12",
"1.5.0" = "e77283c81ffab8e03d9d2d570cc2996c")

logr_ck <- list("1.3.4" = "b51c880285dd4ab646db79ce87dcb888", # "efbe075f699490aec2556a8be7c6913b"
"1.3.3" = "8808443fa943d1f3b09b6c9fa0f02f41",
"1.3.2" = "7efb9daa7ac020ad58f34461b6933339",
"1.3.1" = "d9e46ede3740524605240d450ba3e732",
"1.3.0" = "a4da1be2f0bf4245fc139f2479178d00",
"1.2.9" = "619b933a95d31ae27bf641bbdbc0687b",
"1.2.8" = "5e4c6e66afeeaa10aa29fd01f88e28f8",
"1.2.7" = "c2ef573871fb01f657d5e23936baa320",
"1.2.6" = "07c2f979656775c763fd2dc1b5c99e74",
"1.2.5" = "a1c9b8a5e6df93dc2472ebfdc063c5ac")

libr_ck <- list("1.2.8" = "6bec5e1d2255ba1add47f2ce326c0a2a", # "c30e6df3b5774b1992376284b1a02a6f"
"1.2.5" = "0cef946bd42ab45bd04dd7d6e56f3ab0",
"1.2.3" = "f5457b9953e425c93b0a11d00085ba58",
"1.2.2" = "44c5e9c9b4d232b9ec004391294637cb",
"1.2.1" = "2b6ecefd020a84b951ab46a40f189d94",
"1.2.0" = "f5280880f67282ce4b3a981bca9df8f2")

reporter_ck <- list("1.4.1" = "836d7bc24cff2644b2ecb1fe02ade55a", # "2e20b4a9614f6027e03e4044d073a96a"
"1.3.9" = "4b96f23b7ebf73c21072ccf28aeaebf5",
"1.3.8" = "e0eb2a9ce749d8faf5c905af06e4bfe0",
"1.3.7" = "f302a1d656653e31af358d67666b4544",
"1.3.6" = "4b77e2243a56edf0ff56d22c99421ac6",
"1.3.5" = "208e8b50a9d87828120c8bce3c205405",
"1.3.3" = "f2c33a13f3ec46c2255ab3a5fb99c802",
"1.3.1" = "f12d521d0cfada434f46727fc3764d48",
"1.2.9" = "e0cb98e3985dd3743edd33f6f1ebdc9d",
"1.2.8" = "e5f5ce2f57dd2761e9bcb3a99fe33f84")

procs_ck <- list("1.0.0" = "7f507932591ab8c62f34e557db75ad50") # "9c421179d6dd05290f0fa7aaf4b159bc"
common_ck <- list("1.0.8" = c(checksum = "eaaf045fd6a752e01e6233c63f48cb4a", size = "42701"),
"1.0.7" = c(checksum = "1ebbf9fbe0b42f6df5bb15e6bf12f229", size = ""),
"1.0.5" = c(checksum = "21f1b333ec7259c6ffe41e9aeaf1391e", size = ""),
"1.0.4" = c(checksum = "b1841850c492cd6d998efa788dee7cd0", size = ""),
"1.0.3" = c(checksum = "b61aa170486b1b4327d0507b96c26204", size = ""),
"1.0.1" = c(checksum = "9f8e73b66a0d6d2d7832788fa0c94a55", size = ""))

fmtr_ck <- list("1.5.9" = c(checksum = "20a01e1e7cbf0003ba274253721d3c85", size = "59378"), # "300deb40502efff0239d0ef731f4171b"
"1.5.8" = c(checksum = "8d609b0585bf23dcc758d8eb4b5c3d30", size = ""),
"1.5.7" = c(checksum = "ff2d61b3af6b755a55a225bcd03a0755", size = ""),
"1.5.5" = c(checksum = "f3d5371e59bbda4626a96f10b546eaf9", size = ""),
"1.5.4" = c(checksum = "a44eb1f1e9b63e9a23237c545f300599", size = ""),
"1.5.3" = c(checksum = "25fb35e9af0726f7e453ebe9f78a1f83", size = ""),
"1.5.2" = c(checksum = "012a0de7a015b2376530e3dbf7ee412f", size = ""),
"1.5.1" = c(checksum = "3c909974a90ed47253dea996e6315e12", size = ""),
"1.5.0" = c(checksum = "e77283c81ffab8e03d9d2d570cc2996c", size = ""))

logr_ck <- list("1.3.4" = c(checksum = "b51c880285dd4ab646db79ce87dcb888", size = "31979"), # "efbe075f699490aec2556a8be7c6913b"
"1.3.3" = c(checksum = "8808443fa943d1f3b09b6c9fa0f02f41", size = ""),
"1.3.2" = c(checksum = "7efb9daa7ac020ad58f34461b6933339", size = ""),
"1.3.1" = c(checksum = "d9e46ede3740524605240d450ba3e732", size = ""),
"1.3.0" = c(checksum = "a4da1be2f0bf4245fc139f2479178d00", size = ""),
"1.2.9" = c(checksum = "619b933a95d31ae27bf641bbdbc0687b", size = ""),
"1.2.8" = c(checksum = "5e4c6e66afeeaa10aa29fd01f88e28f8", size = ""),
"1.2.7" = c(checksum = "c2ef573871fb01f657d5e23936baa320", size = ""),
"1.2.6" = c(checksum = "07c2f979656775c763fd2dc1b5c99e74", size = ""),
"1.2.5" = c(checksum = "a1c9b8a5e6df93dc2472ebfdc063c5ac", size = ""))

libr_ck <- list("1.2.8" = c(checksum = "6bec5e1d2255ba1add47f2ce326c0a2a", size = "98426"), # "c30e6df3b5774b1992376284b1a02a6f"
"1.2.5" = c(checksum = "0cef946bd42ab45bd04dd7d6e56f3ab0", size = ""),
"1.2.3" = c(checksum = "f5457b9953e425c93b0a11d00085ba58", size = ""),
"1.2.2" = c(checksum = "44c5e9c9b4d232b9ec004391294637cb", size = ""),
"1.2.1" = c(checksum = "2b6ecefd020a84b951ab46a40f189d94", size = ""),
"1.2.0" = c(checksum = "f5280880f67282ce4b3a981bca9df8f2", size = ""))

reporter_ck <- list("1.4.1" = c(checksum = "836d7bc24cff2644b2ecb1fe02ade55a", size = "784514"), # "2e20b4a9614f6027e03e4044d073a96a"
"1.3.9" = c(checksum = "4b96f23b7ebf73c21072ccf28aeaebf5", size = ""),
"1.3.8" = c(checksum = "e0eb2a9ce749d8faf5c905af06e4bfe0", size = ""),
"1.3.7" = c(checksum = "f302a1d656653e31af358d67666b4544", size = ""),
"1.3.6" = c(checksum = "4b77e2243a56edf0ff56d22c99421ac6", size = ""),
"1.3.5" = c(checksum = "208e8b50a9d87828120c8bce3c205405", size = ""),
"1.3.3" = c(checksum = "f2c33a13f3ec46c2255ab3a5fb99c802", size = ""),
"1.3.1" = c(checksum = "f12d521d0cfada434f46727fc3764d48", size = ""),
"1.2.9" = c(checksum = "e0cb98e3985dd3743edd33f6f1ebdc9d", size = ""),
"1.2.8" = c(checksum = "e5f5ce2f57dd2761e9bcb3a99fe33f84", size = ""))

procs_ck <- list("1.0.2" = c(checksum = "89ea73d0a6a821ea44e00c8123d3167a", size = "145777"), # "89ea73d0a6a821ea44e00c8123d3167a"
"1.0.0" = c(checksum = "7f507932591ab8c62f34e557db75ad50", size = "144709"))


# IQ Subroutines ----------------------------------------------------------


#' @import tools
check_sum <- function(pkg, ver, pth) {

ret <- FALSE

if (pkg == "common") {

if (common_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(common_ck[[ver]])) {
if (common_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}

} else if (pkg == "logr") {

if (logr_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(logr_ck[[ver]])) {
if (logr_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}

} else if (pkg == "fmtr") {

if (fmtr_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(fmtr_ck[[ver]])) {
if (fmtr_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}

} else if (pkg == "libr") {

if (libr_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(libr_ck[[ver]])) {
if (libr_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}


} else if (pkg == "reporter") {

if (reporter_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(reporter_ck[[ver]])) {
if (reporter_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}

} else if (pkg == "procs") {

if (procs_ck[[ver]] == md5sum(pth))
ret <- TRUE
if (!is.null(procs_ck[[ver]])) {
if (procs_ck[[ver]][["checksum"]] == md5sum(pth))
ret <- TRUE
}

}


return(ret)
}

check_size <- function(pkg, ver, pth) {

ret <- FALSE

inf <- file.info(pth)

if (pkg == "common") {

if (!is.null(common_ck[[ver]])) {
if (common_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}

} else if (pkg == "logr") {

if (!is.null(logr_ck[[ver]])) {
if (logr_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}

} else if (pkg == "fmtr") {

if (!is.null(fmtr_ck[[ver]])) {
if (fmtr_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}

} else if (pkg == "libr") {

if (!is.null(libr_ck[[ver]])) {
if (libr_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}


} else if (pkg == "reporter") {

if (!is.null(reporter_ck[[ver]])) {
if (reporter_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}

} else if (pkg == "procs") {

if (!is.null(procs_ck[[ver]])) {
if (procs_ck[[ver]][["size"]] == inf$size)
ret <- TRUE
}

}


return(ret)
}



#' @import tools
#' @import utils
Expand Down Expand Up @@ -429,7 +498,6 @@ examine_procs <- function() {

pth <- file.path(.libPaths()[1], "procs/R/procs.rdb")


tmplt <- data.frame(Category = "procs",
Description = "procs source code found.",
Pass = TRUE,
Expand All @@ -451,8 +519,23 @@ examine_procs <- function() {
tmp[1, "Description"] <- "Compare checksum for procs version v" %p% ver %p% "."
if (check_sum("procs", ver, pth) == FALSE) {
tmp[1, "Pass"] <- FALSE
tmp[1, "Message"] <- "Checksum does not match expected value."
put("Procs source code checksum failed.")
if (!ver %in% names(procs_ck)) {
tmp[1, "Message"] <- "Package version checksum not found."
put("Procs version checksum not found.")

} else if (ver == max(names(procs_ck))) {
if (check_size("procs", ver, pth)) {
tmp[1, "Pass"] <- TRUE
tmp[1, "Message"] <- "Checksum failed but size check passed."
put("Procs size check passed.")
} else {
tmp[1, "Message"] <- "File size does not match expected value."
put("Procs source code size check failed.")
}
} else {
tmp[1, "Message"] <- "Checksum does not match expected value."
put("Procs source code checksum failed.")
}
} else {
put("Procs source code checksum passed.")
}
Expand All @@ -465,3 +548,81 @@ examine_procs <- function() {
}



#' @import tools
#' @import utils
examine_package <- function(pkg) {

ver <- as.character(packageVersion(pkg))

pth <- file.path(.libPaths()[1], paste0(pkg, "/R/", pkg, ".rdb"))

tmplt <- data.frame(Category = pkg,
Description = paste0(pkg, " source code found."),
Pass = TRUE,
Message = "",
stringsAsFactors = FALSE)

tmp <- tmplt
if (!file.exists(pth)) {
tmp[1, "Pass"] <- FALSE
tmp[1, "Message"] <- paste0(pkg, " source code not found.")
put(pkg %p% " source code not found.")
} else {
put(pkg %p% " source code found.")
}

ret <- tmp

tmp <- tmplt
tmp[1, "Description"] <- paste0("Compare checksum for ", pkg, " version v", ver, ".")
if (check_sum(pkg, ver, pth) == FALSE) {
tmp[1, "Pass"] <- FALSE
if (!ver %in% get_names(pkg)) {
tmp[1, "Message"] <- "Package version checksum not found."
put(paste0(pkg, " version checksum not found."))

} else if (ver == max(get_names(pkg))) {
if (check_size(pkg, ver, pth)) {
tmp[1, "Pass"] <- TRUE
tmp[1, "Message"] <- "Checksum failed but size check passed."
put(paste0(pkg, " size check passed."))
} else {
tmp[1, "Message"] <- "File size does not match expected value."
put(paste0(pkg, " source code size check failed."))
}
} else {
tmp[1, "Message"] <- "Checksum does not match expected value."
put(paste0(pkg, " source code checksum failed."))
}
} else {
put(paste0(pkg, " source code checksum passed."))
}

ret <- rbind(ret, tmp)


return(ret)

}

get_names <- function(pkg) {

ret <- NULL

if (pkg == "common")
ret <- names(common_ck)
else if (pkg == "logr")
ret <- names(logr_ck)
else if (pkg == "fmtr")
ret <- names(fmtr_ck)
else if (pkg == "libr")
ret <- names(libr_ck)
else if (pkg == "reporter")
ret <- names(reporter_ck)
else if (pkg == "procs")
ret <- names(procs_ck)


return(ret)
}
2 changes: 2 additions & 0 deletions R/sassy.R
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#' in TXT, RTF, PDF, HTML, and DOCX.}
#' \item {\code{common}:}{ A set of utility functions
#' shared across the \strong{sassy} family of packages.}
#' \item {\code{procs}:}{ A package to simulate frequently used SAS® procedures.}
#' }
#' @examples
#' #########################################################
Expand Down Expand Up @@ -86,6 +87,7 @@
#' @docType package
#' @keywords internal
#' @name sassy
#' @aliases sassy-package
#' @import common
#' @import logr
#' @import fmtr
Expand Down
2 changes: 1 addition & 1 deletion R/utilities.R
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ print_report <- function(path, dat, ttls) {
tbl <- create_table(datm, header_bold = TRUE)

rpt <- create_report(path, output_type = "PDF", font = "Arial",
orientation = "portrait") |>
orientation = "landscape") |>
titles(ttls, bold = TRUE, font_size = 12, blank_row = "none") |>
titles("Date: " %p% fapply(Sys.time(), "%Y-%m-%d %H:%M:%S %p")) |>
add_content(tbl)
Expand Down
Loading

0 comments on commit d4f3387

Please sign in to comment.