You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2022/08/11 12:45:00 UTC

[jira] [Created] (ARROW-17386) [R] strptime tests not robust across platforms

Neal Richardson created ARROW-17386:
---------------------------------------

             Summary: [R] strptime tests not robust across platforms
                 Key: ARROW-17386
                 URL: https://issues.apache.org/jira/browse/ARROW-17386
             Project: Apache Arrow
          Issue Type: Bug
          Components: R
            Reporter: Neal Richardson
             Fix For: 9.0.1


After the 9.0.0 release was accepted on CRAN, Ripley emailed me about a test failure on some other machine, which has not yet shown up on CRAN checks:

{code}
── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
  `object` (`actual`) not equal to `expected` (`expected`).
  
  actual vs expected
                                      x
  - actual[1, ]                      NA
  + expected[1, ]   1999-03-16 12:22:20
  - actual[2, ]                      NA
  + expected[2, ]   1999-10-08 18:02:24
  - actual[3, ]                      NA
  + expected[3, ]   1999-04-04 03:52:27
  - actual[4, ]                      NA
  + expected[4, ]   1999-05-28 11:35:45
  - actual[5, ]                      NA
  + expected[5, ]   1999-03-16 08:08:55
  - actual[6, ]                      NA
  + expected[6, ]   1999-09-25 00:19:59
  - actual[7, ]                      NA
  + expected[7, ]   1999-10-12 20:47:55
  - actual[8, ]                      NA
  + expected[8, ]   1999-04-15 20:36:12
  - actual[9, ]                      NA
  + expected[9, ]   1999-05-01 03:55:23
  - actual[10, ]                     NA
  + expected[10, ]  1999-12-15 01:19:05
  and 90 more ...
  
       actual$x | expected$x                           
   [1] NA       - "1999-03-16 12:22:20" [1]            
   [2] NA       - "1999-10-08 18:02:24" [2]            
   [3] NA       - "1999-04-04 03:52:27" [3]            
   [4] NA       - "1999-05-28 11:35:45" [4]            
   [5] NA       - "1999-03-16 08:08:55" [5]            
   [6] NA       - "1999-09-25 00:19:59" [6]            
   [7] NA       - "1999-10-12 20:47:55" [7]            
   [8] NA       - "1999-04-15 20:36:12" [8]            
   [9] NA       - "1999-05-01 03:55:23" [9]            
  [10] NA       - "1999-12-15 01:19:05" [10]           
   ... ...        ...                   and 90 more ...
  Backtrace:
      ▆
   1. └─arrow:::expect_equal(...) at test-dplyr-funcs-datetime.R:183:4
   2.   └─testthat::expect_equal(...) at tests/testthat/helper-expectation.R:42:4
  
  [ FAIL 1 | WARN 0 | SKIP 79 | PASS 8173 ]
{code}

It appears that one of the strptime tests returns NA in Arrow but not in R. Reading the test, it uses R to first strftime and then tests that Arrow and R both strptime that back, so it could be an R quirk: R recognizes and can do something with this strptime token round trip, but our library doesn't. 

Unfortunately, I don't know which token it is though because these tests are run in a for loop and the failure message doesn't say which token is the one that is failing. testthat does provide some facilities for reporting useful things within a loop, so we should wire those up. 

In addition to better handling of tests in a loop, we should probably just skip this whole thing on CRAN.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)