mstrimas / smoothr

Spatial Feature Smoothing in R
http://strimas.com/smoothr
GNU General Public License v3.0
96 stars 5 forks source link

upcoming sf 1.0-0 might break smoothr #12

Closed edzer closed 3 years ago

edzer commented 3 years ago

Please see https://github.com/r-spatial/sf/issues/1649

Hi Matt, from the CRAN revdep checks I got this:

Package: smoothr
Check: tests
New result: ERROR
    Running ‘testthat.R’ [8s/8s]
  Running the tests in ‘tests/testthat.R’ failed.
  Complete output:
    > library(testthat)
    > library(smoothr)

    Attaching package: 'smoothr'

    The following object is masked from 'package:stats':

        smooth
   >
    > test_check("smoothr")
    â•â• Failed tests                                                                                                                    >â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
    ── Error (test_drop-crumbs.R:45:3): drop_crumbs() handling of empty results ────
    Error: no applicable method for 'units' applied to an object of class "c('double', 'numeric')"
    Backtrace:
         â–ˆ
      1. ├─smoothr::drop_crumbs(as(jagged_polygons, "Spatial"), threshold = 2e+20) test_drop-crumbs.R:45:2
      2. └─smoothr:::drop_crumbs.Spatial(...)
      3.   ├─smoothr::drop_crumbs(...)
      4.   └─smoothr:::drop_crumbs.sf(...)
      5.     ├─smoothr::drop_crumbs(...)
      6.     └─smoothr:::drop_crumbs.sfc(...)
      7.       ├─units::set_units(1, units(size_fxn(x[1])), mode = "standard")
      8.       ├─units:::set_units.numeric(1, units(size_fxn(x[1])), mode = "standard")
      9.       │ └─units::as_units(value, ...)
     10.       └─base::units(size_fxn(x[1]))
    ── Error (test_drop-crumbs.R:55:3): drop_crumbs() works for different input formats ──
    Error: no applicable method for 'units' applied to an object of class "c('double', 'numeric')"
    Backtrace:
        â–ˆ
      1. ├─smoothr::drop_crumbs(as(jagged_polygons, "Spatial"), threshold = 2e+08) test_drop-crumbs.R:55:2
      2. └─smoothr:::drop_crumbs.Spatial(...)
      3.   ├─smoothr::drop_crumbs(...)
      4.   └─smoothr:::drop_crumbs.sf(...)
      5.     ├─smoothr::drop_crumbs(...)
      6.     └─smoothr:::drop_crumbs.sfc(...)
      7.       ├─units::set_units(1, units(size_fxn(x[1])), mode = "standard")
      8.       ├─units:::set_units.numeric(1, units(size_fxn(x[1])), mode = "standard")
      9.       │ └─units::as_units(value, ...)
     10.       └─base::units(size_fxn(x[1]))
    ── Error (test_fill-holes.R:35:3): fill_holes() works for different input formats ──
    Error: both operands of the expression should be "units" objects
    Backtrace:
        â–ˆ
     1. └─units:::Ops.units(st_area(s_sf), st_area(st_as_sf(s_spdf))) test_fill-holes.R:35:2

    [ FAIL 3 | WARN 0 | SKIP 0 | PASS 151 ]
    Error: Test failures
    Execution halted

however if I check smoothr locally with

> sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] units_0.7-2 sf_1.0-0   

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.6         magrittr_2.0.1     tidyselect_1.1.1   R6_2.5.0          
 [5] rlang_0.4.11       fansi_0.5.0        dplyr_1.0.6        tools_4.1.0       
 [9] grid_4.1.0         KernSmooth_2.23-20 utf8_1.2.1         e1071_1.7-7       
[13] DBI_1.1.1          ellipsis_0.3.2     class_7.3-19       assertthat_0.2.1  
[17] tibble_3.1.2       lifecycle_1.0.0    crayon_1.4.1       purrr_0.3.4       
[21] vctrs_0.3.8        glue_1.4.2         proxy_0.4-25       compiler_4.1.0    
[25] pillar_1.6.1       generics_0.1.0     classInt_0.4-3     pkgconfig_2.0.3   

I don't see any problems. So this might be a false positive, but please make sure yourself.

mstrimas commented 3 years ago

Thanks, Edzer! I'm also not able to reproduce locally, but I am seeing the error on win-builder. I'll investigate and resolve.