Data.table: eplusr revdep: ๋‚ด๋ถ€ ์˜ค๋ฅ˜ ์‚ฌ์ด

์— ๋งŒ๋“  2019๋…„ 05์›” 16์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Rdatatable/data.table

์ตœ์‹  ๋งˆ์Šคํ„ฐ๋กœ eplusr๋Š” ๋‹ค์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค: Internal error in between: 'x' is not int, double or int64, should have been caught by now

$ R CMD check eplusr_0.10.2.tar.gz 
* using log directory โ€˜/home/mdowle/build/revdeplib/eplusr.Rcheckโ€™
* using R version 3.6.0 (2019-04-26)
* using platform: x86_64-pc-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file โ€˜eplusr/DESCRIPTIONโ€™ ... OK
* this is package โ€˜eplusrโ€™ version โ€˜0.10.2โ€™
* package encoding: UTF-8
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for executable files ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking for sufficient/correct file permissions ... OK
* checking whether package โ€˜eplusrโ€™ can be installed ... OK
* checking installed package size ... OK
* checking package directory ... OK
* checking โ€˜buildโ€™ directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* checking whether the package can be loaded ... OK
* checking whether the package can be loaded with stated dependencies ... OK
* checking whether the package can be unloaded cleanly ... OK
* checking whether the namespace can be loaded with stated dependencies ... OK
* checking whether the namespace can be unloaded cleanly ... OK
* checking loading without being on the library search path ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking R/sysdata.rda ... OK
* checking installed files from โ€˜inst/docโ€™ ... OK
* checking files in โ€˜vignettesโ€™ ... OK
* checking examples ... ERROR
Running examples in โ€˜eplusr-Ex.Rโ€™ failed
The error most likely occurred in:

> ### Name: is_eplus_ver
> ### Title: Check for Idd, Idf and Epw objects
> ### Aliases: is_eplus_ver is_idd_ver is_eplus_path is_idd is_idf
> ###   is_iddobject is_idfobject is_epw
> 
> ### ** Examples
> 
> is_eplus_ver(8.8)
[1] TRUE
> is_eplus_ver(8.0)
[1] FALSE
> is_eplus_ver("latest", strict = FALSE)
[1] TRUE
> 
> is_idd_ver("9.0.1")
[1] TRUE
> is_idd_ver("8.0.1")
[1] FALSE
> 
> is_eplus_path("C:/EnergyPlusV9-0-0")
[1] FALSE
> is_eplus_path("/usr/local/EnergyPlus-9-0-1")
[1] FALSE
> 
> is_idd(use_idd(8.8, download = "auto"))
[1] TRUE
> 
> idf <- read_idf(system.file("extdata/1ZoneUncontrolled.idf", package = "eplusr"),
+     idd = use_idd(8.8, download = "auto"))
> is_idf(idf)
[1] TRUE
> 
> is_iddobject(idd_object(8.8, "Version"))
[1] TRUE
> 
> is_idfobject(idf_object(idf, 1))
[1] TRUE
> 
> is_epw(read_epw(download_weather("los angeles.*tmy3", type = "epw", ask = FALSE, max_match = 1)))
One matched results found. Start downloading:
โ”€โ”€ USA_CA_Los.Angeles.Intl.AP.722950_TMY3 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
 * Country: United States of America
 * State or Province: CA
 * Location: CA_Los.Angeles.Intl.AP
 * WMO number: 722950
 * Source type: TMY3
 * Longitude: -118.4
 * Latitude: 33.93
trying URL 'https://energyplus.net/weather-download/north_and_central_america_wmo_region_4/USA/CA/USA_CA_Los.Angeles.Intl.AP.722950_TMY3/USA_CA_Los.Angeles.Intl.AP.722950_TMY3.epw'
downloaded 1.6 MB

Error in between(x, range$minimum, range$maximum, range$lower_incbounds) : 
  Internal error in between: 'x' is not int, double or int64, should have been caught by now
Calls: is_epw ... doTryCatch -> assert -> eval -> eval -> in_range -> between
Execution halted
* checking for unstated dependencies in โ€˜testsโ€™ ... OK
* checking tests ...
  Running โ€˜testthat.Rโ€™
 ERROR
Running the tests in โ€˜tests/testthat.Rโ€™ failed.
Last 13 lines of output:
  โ”€โ”€ 1. Error: list checking (@test_assert.R#60)  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Internal error in between: 'x' is not int, double or int64, should have been caught by now
  1: expect_true(has_len(1:2, ranger(0))) at testthat/test_assert.R:60
  2: quasi_label(enquo(object), label, arg = "object")
  3: eval_bare(get_expr(quo), get_env(quo))
  4: has_len(1:2, ranger(0))
  5: in_range(length(x), len)
  6: between(x, range$minimum, range$maximum, range$lower_incbounds)

  โ•โ• testthat results  โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
  OK: 994 SKIPPED: 7 WARNINGS: 0 FAILED: 1
  1. Error: list checking (@test_assert.R#60) 

  Error: testthat unit tests failed
  Execution halted
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in โ€˜inst/docโ€™ ... OK
* checking running R code from vignettes ...
   โ€˜eplusr.Rmdโ€™ using โ€˜UTF-8โ€™ ... OK
 NONE
* checking re-building of vignette outputs ... WARNING
Error(s) in re-building vignettes:
  ...
--- re-building โ€˜eplusr.Rmdโ€™ using rmarkdown
trying URL 'https://github.com/NREL/EnergyPlus/releases/download/v8.8.0/EnergyPlus-8.8.0-7c3bbe4830-Linux-x86_64.tar.gz'
Content type 'application/octet-stream' length 101420148 bytes (96.7 MB)
==================================================
downloaded 96.7 MB

Quitting from lines 790-793 (eplusr.Rmd) 
Error: processing vignette 'eplusr.Rmd' failed with diagnostics:
Internal error in between: 'x' is not int, double or int64, should have been caught by now
--- failed re-building โ€˜eplusr.Rmdโ€™

SUMMARY: processing the following file failed:
  โ€˜eplusr.Rmdโ€™

Error: Vignette re-building failed.
Execution halted

* checking PDF version of manual ... OK
* DONE

Status: 2 ERRORs, 1 WARNING
See
  โ€˜/home/mdowle/build/revdeplib/eplusr.Rcheck/00check.logโ€™
for details.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@hongyuanjia ์ข‹์€ ๋ง์”€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šด ์ข‹๊ฒŒ๋„ data.table์„ ๋„ˆ๋ฌด ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— CRAN์œผ๋กœ ๋ฆด๋ฆฌ์Šคํ•˜๊ธฐ ์ „์— data.table์˜ ๊ฐœ๋ฐœ ๋ฒ„์ „(์—ญ ์ข…์†์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ)์—์„œ ํšŒ๊ท€๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ชจ๋“  3 ๋Œ“๊ธ€

์‰ฝ๊ฒŒ ํ•œ

between(1:10, -Inf, Inf)
Error in between(1:10, -Inf, Inf) : 
  Internal error in between: 'x' is not int, double or int64, should have been caught by now

์ €๋Š” eplusr ํŒจํ‚ค์ง€ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. data.table repo์—์„œ ๋‹ค๋ฅธ ๋ฌธ์ œ ์ฃผ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐฉ๊ธˆ ์ด ๋ฌธ์ œ๋ฅผ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‚ด ํŒจํ‚ค์ง€๋Š” data.table ํŒจํ‚ค์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž๋ฆฌ๊ฐ€ ์ ์ ˆํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ data.table ํŒจํ‚ค์ง€์— ๊นŠ์€ ๊ฐ์‚ฌ์™€ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•˜๊ณ  data.table์„ ๋”์šฑ ๋ฐœ์ „์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋Š์ž„์—†๋Š” ๋…ธ๋ ฅ์„ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!

@hongyuanjia ์ข‹์€ ๋ง์”€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šด ์ข‹๊ฒŒ๋„ data.table์„ ๋„ˆ๋ฌด ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— CRAN์œผ๋กœ ๋ฆด๋ฆฌ์Šคํ•˜๊ธฐ ์ „์— data.table์˜ ๊ฐœ๋ฐœ ๋ฒ„์ „(์—ญ ์ข…์†์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ)์—์„œ ํšŒ๊ท€๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰