CRAN Package Check Results for Package jpeg

Last updated on 2024-03-28 12:50:37 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 0.1-10 3.29 21.07 24.36 OK
r-devel-linux-x86_64-debian-gcc 0.1-10 2.34 16.76 19.10 OK
r-devel-linux-x86_64-fedora-clang 0.1-10 30.83 OK
r-devel-linux-x86_64-fedora-gcc 0.1-10 30.22 OK
r-devel-windows-x86_64 0.1-10 14.00 212.00 226.00 ERROR
r-patched-linux-x86_64 0.1-10 3.13 20.61 23.74 OK
r-release-linux-x86_64 0.1-10 2.92 20.44 23.36 OK
r-release-macos-arm64 0.1-10 16.00 OK
r-release-macos-x86_64 0.1-10 22.00 OK
r-release-windows-x86_64 0.1-10 16.00 38.00 54.00 OK
r-oldrel-macos-arm64 0.1-10 19.00 OK
r-oldrel-windows-x86_64 0.1-10 8.00 50.00 58.00 OK

Check Details

Version: 0.1-10
Check: tests
Result: ERROR Running 'jpeg.R' [175s] Running the tests in 'tests/jpeg.R' failed. Complete output: > library(jpeg) > > ## grayscale > s0 <- matrix(0:9999/9999, 100) > j0 <- writeJPEG(s0, raw()) > i0 <- readJPEG(j0) > > # allow 2% tolerance when comparing uncompressed and compressed images > # since JPEG is lossy (the default quality is 0.7 which should be good enough) > tolerance <- 0.02 > > stopifnot(identical(dim(i0), dim(s0))) > # JPEG is lossy so there will be differences but they should not be too big > stopifnot(max(abs(s0 - i0)) < tolerance) > > n0 <- readJPEG(j0, native=TRUE) > stopifnot(identical(dim(i0), dim(s0))) > stopifnot(inherits(n0, "nativeRaster") && identical(attr(n0, "channels"), 1L)) > > # check the native result for sanity - it should be XXXA > # the 8 MSB must be 1 since the alpha is 1.0 (-16777216L .. 0L) > stopifnot(all(n0 < 0L & n0 >= -16777216L)) > # remove the MSB > y <- n0 + 16777216L > x <- as.integer(s0 * 255 + 0.5) > stopifnot(max(abs(x - t(y %% 256L))) < tolerance * 255) > stopifnot(all(as.integer(y / 256L) %% 256L == y %% 256L)) > stopifnot(all(as.integer(y / 65536L) %% 256L == y %% 256L)) > > # check file vs in-memory > writeJPEG(s0, "image0.jpeg") > s <- file.info("image0.jpeg")$size > stopifnot(all(s == length(j0))) > f <- file("image0.jpeg", "rb") > j0f <- readBin(f, raw(), s) > close(f) > stopifnot(identical(c(j0f), c(j0))) > i0f <- readJPEG("image0.jpeg") > stopifnot(identical(i0f, i0)) > n0f <- readJPEG("image0.jpeg", native=TRUE) > stopifnot(identical(n0f, n0)) > > > ## GA + alpha mixing > a1 <- array(c(s0, rev(s0)), c(100L, 100L, 2L)) > j1 <- writeJPEG(a1, raw(), bg="black") > i1 <- readJPEG(j1) > # since JPEG flattens alpha it will have the dimensions of s0 instead of a1 > stopifnot(identical(dim(i1), dim(s0))) > s1 <- s0 * rev(s0) ## this should be the result of alpha blending with black > stopifnot(max(abs(s1 - i1)) < tolerance) > i1.1 <- readJPEG(writeJPEG(a1, raw(), bg="white")) > s1.1 <- s0 * rev(s0) + (1 - rev(s0)) > stopifnot(max(abs(s1.1 - i1.1)) < tolerance) > > > ## RGB > a2 <- array(c(s0, t(s0), rev(s0)), c(100L, 100L, 3L)) > j2 <- writeJPEG(a2, raw()) > i2 <- readJPEG(j2) > stopifnot(identical(dim(a2), dim(i2))) > # more tolerance since we have 3x more data to compress > stopifnot(max(abs(a2 - i2)) < tolerance * 3) > > # since RGB is most frequently used, check file vs raw as well > writeJPEG(a2, "image2.jpeg") > s <- file.info("image2.jpeg")$size > stopifnot(all(s == length(j2))) > f <- file("image2.jpeg", "rb") > j2f <- readBin(f, raw(), s) > close(f) > stopifnot(identical(c(j2f), c(j2))) > i2f <- readJPEG("image2.jpeg") > stopifnot(identical(i2f, i2)) > n2f <- readJPEG("image2.jpeg", native=TRUE) > n2 <- readJPEG(j2, native=TRUE) > stopifnot(identical(n2f, n2)) > > > ## RGB + alpha mixing > a3 <- array(c(s0, t(s0), rev(s0), t(rev(s0))), c(100L, 100L, 4L)) > j3 <- writeJPEG(a3, raw(), bg="black") > i3 <- readJPEG(j3) > # we use a2 to compare to we just added alpha > stopifnot(max(abs(i3 - a2 * rev(s0))) < tolerance * 3) > j3.1 <- writeJPEG(a3, raw(), bg="white") > i3.1 <- readJPEG(j3.1) > stopifnot(max(abs(i3.1 - a2 * rev(s0) - (1 - rev(s0)))) < tolerance * 3) > > ## external file checks > ## those are already used in examples so it's not really necessary .. > fn <- system.file("img", "Rlogo.jpg", package="jpeg") > i4 <- readJPEG(fn) > s <- file.info(fn)$size > f <- file(fn, "rb") > j4 <- readBin(f, raw(), s) > close(f) > i4.1 <- readJPEG(fn) > stopifnot(identical(i4, i4.1)) > > > ## large RGB check > s5 <- matrix(0:999999/999999, 1000) > a5 <- array(c(s5, t(s5), rev(s5)), c(1000L, 1000L, 3L)) > # produce larger files > j5 <- writeJPEG(a5, raw(), quality=0.9) > writeJPEG(a5, "image5.jpeg", quality=0.9) > s <- file.info("image5.jpeg")$size > stopifnot(all(s == length(j5))) > f <- file("image5.jpeg", "rb") > j5f <- readBin(f, raw(), s) > close(f) > stopifnot(identical(c(j5f), c(j5))) > i5 <- readJPEG(j5, native=TRUE) > i5f <- readJPEG("image5.jpeg", native=TRUE) > stopifnot(identical(i5, i5f)) > > > ## Wohoo! all tests passed! > > proc.time() user system elapsed 0.37 0.10 0.45 Flavor: r-devel-windows-x86_64