Skip to content

[R] strptime tests not robust across platforms #32658

Description

@asfimport

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:

── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
`object` (`actual`) notequalto `expected` (`expected`).
actualvsexpectedx
- actual[1, ] NA
+ expected[1, ] 1999-03-1612:22:20
- actual[2, ] NA
+ expected[2, ] 1999-10-0818:02:24
- actual[3, ] NA
+ expected[3, ] 1999-04-0403:52:27
- actual[4, ] NA
+ expected[4, ] 1999-05-2811:35:45
- actual[5, ] NA
+ expected[5, ] 1999-03-1608:08:55
- actual[6, ] NA
+ expected[6, ] 1999-09-2500:19:59
- actual[7, ] NA
+ expected[7, ] 1999-10-1220:47:55
- actual[8, ] NA
+ expected[8, ] 1999-04-1520:36:12
- actual[9, ] NA
+ expected[9, ] 1999-05-0103:55:23
- actual[10, ] NA
+ expected[10, ] 1999-12-1501:19:05and90more ...
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] ... ... ... and90more ...
Backtrace:
▆
1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
[ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

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.

Reporter: Neal Richardson / @nealrichardson
Assignee: Rok Mihevc / @rok
Watchers: Rok Mihevc / @rok

PRs and other links:

Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
     blocks
    (function() {
    function addCopyButtons() {
    document.querySelectorAll('pre code').forEach(function(codeBlock) {
    if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
    codeBlock.parentElement.setAttribute('data-copy-added', 'true');
    var btn = document.createElement('button');
    btn.textContent = 'Copy';
    btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
    btn.onmouseover = function() { this.style.opacity = '1'; };
    btn.onmouseout = function() { this.style.opacity = '0.7'; };
    btn.onclick = function() {
    navigator.clipboard.writeText(codeBlock.textContent).then(function() {
    btn.textContent = 'Copied!';
    setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
    });
    };
    codeBlock.parentElement.style.position = 'relative';
    codeBlock.parentElement.appendChild(btn);
    });
    }
    addCopyButtons();
    // Re-run on dynamic content
    var observer = new MutationObserver(addCopyButtons);
    observer.observe(document.body, { childList: true, subtree: true });
    })();
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
    Skip to content

    [R] strptime tests not robust across platforms #32658

    Description

    @asfimport

    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:

    ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
    `object` (`actual`) notequalto `expected` (`expected`).
    actualvsexpectedx
    - actual[1, ] NA
    + expected[1, ] 1999-03-1612:22:20
    - actual[2, ] NA
    + expected[2, ] 1999-10-0818:02:24
    - actual[3, ] NA
    + expected[3, ] 1999-04-0403:52:27
    - actual[4, ] NA
    + expected[4, ] 1999-05-2811:35:45
    - actual[5, ] NA
    + expected[5, ] 1999-03-1608:08:55
    - actual[6, ] NA
    + expected[6, ] 1999-09-2500:19:59
    - actual[7, ] NA
    + expected[7, ] 1999-10-1220:47:55
    - actual[8, ] NA
    + expected[8, ] 1999-04-1520:36:12
    - actual[9, ] NA
    + expected[9, ] 1999-05-0103:55:23
    - actual[10, ] NA
    + expected[10, ] 1999-12-1501:19:05and90more ...
    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] ... ... ... and90more ...
    Backtrace:
    ▆
    1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
    [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

    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.

    Reporter: Neal Richardson / @nealrichardson
    Assignee: Rok Mihevc / @rok
    Watchers: Rok Mihevc / @rok

    PRs and other links:

    Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

    Metadata

    Metadata

    Assignees

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
      Skip to content

      [R] strptime tests not robust across platforms #32658

      Description

      @asfimport

      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:

      ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
      `object` (`actual`) notequalto `expected` (`expected`).
      actualvsexpectedx
      - actual[1, ] NA
      + expected[1, ] 1999-03-1612:22:20
      - actual[2, ] NA
      + expected[2, ] 1999-10-0818:02:24
      - actual[3, ] NA
      + expected[3, ] 1999-04-0403:52:27
      - actual[4, ] NA
      + expected[4, ] 1999-05-2811:35:45
      - actual[5, ] NA
      + expected[5, ] 1999-03-1608:08:55
      - actual[6, ] NA
      + expected[6, ] 1999-09-2500:19:59
      - actual[7, ] NA
      + expected[7, ] 1999-10-1220:47:55
      - actual[8, ] NA
      + expected[8, ] 1999-04-1520:36:12
      - actual[9, ] NA
      + expected[9, ] 1999-05-0103:55:23
      - actual[10, ] NA
      + expected[10, ] 1999-12-1501:19:05and90more ...
      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] ... ... ... and90more ...
      Backtrace:
      ▆
      1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
      [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

      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.

      Reporter: Neal Richardson / @nealrichardson
      Assignee: Rok Mihevc / @rok
      Watchers: Rok Mihevc / @rok

      PRs and other links:

      Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

      Metadata

      Metadata

      Assignees

      Type

      No type

      Projects

      No projects

        Milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
        Skip to content

        [R] strptime tests not robust across platforms #32658

        Description

        @asfimport

        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:

        ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
        `object` (`actual`) notequalto `expected` (`expected`).
        actualvsexpectedx
        - actual[1, ] NA
        + expected[1, ] 1999-03-1612:22:20
        - actual[2, ] NA
        + expected[2, ] 1999-10-0818:02:24
        - actual[3, ] NA
        + expected[3, ] 1999-04-0403:52:27
        - actual[4, ] NA
        + expected[4, ] 1999-05-2811:35:45
        - actual[5, ] NA
        + expected[5, ] 1999-03-1608:08:55
        - actual[6, ] NA
        + expected[6, ] 1999-09-2500:19:59
        - actual[7, ] NA
        + expected[7, ] 1999-10-1220:47:55
        - actual[8, ] NA
        + expected[8, ] 1999-04-1520:36:12
        - actual[9, ] NA
        + expected[9, ] 1999-05-0103:55:23
        - actual[10, ] NA
        + expected[10, ] 1999-12-1501:19:05and90more ...
        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] ... ... ... and90more ...
        Backtrace:
        ▆
        1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
        [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

        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.

        Reporter: Neal Richardson / @nealrichardson
        Assignee: Rok Mihevc / @rok
        Watchers: Rok Mihevc / @rok

        PRs and other links:

        Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

        Metadata

        Metadata

        Assignees

        Type

        No type

        Projects

        No projects

          Milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
          Skip to content

          [R] strptime tests not robust across platforms #32658

          Description

          @asfimport

          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:

          ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
          `object` (`actual`) notequalto `expected` (`expected`).
          actualvsexpectedx
          - actual[1, ] NA
          + expected[1, ] 1999-03-1612:22:20
          - actual[2, ] NA
          + expected[2, ] 1999-10-0818:02:24
          - actual[3, ] NA
          + expected[3, ] 1999-04-0403:52:27
          - actual[4, ] NA
          + expected[4, ] 1999-05-2811:35:45
          - actual[5, ] NA
          + expected[5, ] 1999-03-1608:08:55
          - actual[6, ] NA
          + expected[6, ] 1999-09-2500:19:59
          - actual[7, ] NA
          + expected[7, ] 1999-10-1220:47:55
          - actual[8, ] NA
          + expected[8, ] 1999-04-1520:36:12
          - actual[9, ] NA
          + expected[9, ] 1999-05-0103:55:23
          - actual[10, ] NA
          + expected[10, ] 1999-12-1501:19:05and90more ...
          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] ... ... ... and90more ...
          Backtrace:
          ▆
          1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
          [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

          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.

          Reporter: Neal Richardson / @nealrichardson
          Assignee: Rok Mihevc / @rok
          Watchers: Rok Mihevc / @rok

          PRs and other links:

          Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

          Metadata

          Metadata

          Assignees

          Type

          No type

          Projects

          No projects

            Milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
            Skip to content

            [R] strptime tests not robust across platforms #32658

            Description

            @asfimport

            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:

            ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
            `object` (`actual`) notequalto `expected` (`expected`).
            actualvsexpectedx
            - actual[1, ] NA
            + expected[1, ] 1999-03-1612:22:20
            - actual[2, ] NA
            + expected[2, ] 1999-10-0818:02:24
            - actual[3, ] NA
            + expected[3, ] 1999-04-0403:52:27
            - actual[4, ] NA
            + expected[4, ] 1999-05-2811:35:45
            - actual[5, ] NA
            + expected[5, ] 1999-03-1608:08:55
            - actual[6, ] NA
            + expected[6, ] 1999-09-2500:19:59
            - actual[7, ] NA
            + expected[7, ] 1999-10-1220:47:55
            - actual[8, ] NA
            + expected[8, ] 1999-04-1520:36:12
            - actual[9, ] NA
            + expected[9, ] 1999-05-0103:55:23
            - actual[10, ] NA
            + expected[10, ] 1999-12-1501:19:05and90more ...
            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] ... ... ... and90more ...
            Backtrace:
            ▆
            1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
            [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

            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.

            Reporter: Neal Richardson / @nealrichardson
            Assignee: Rok Mihevc / @rok
            Watchers: Rok Mihevc / @rok

            PRs and other links:

            Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

            Metadata

            Metadata

            Assignees

            Type

            No type

            Projects

            No projects

              Milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
              Skip to content

              [R] strptime tests not robust across platforms #32658

              Description

              @asfimport

              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:

              ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
              `object` (`actual`) notequalto `expected` (`expected`).
              actualvsexpectedx
              - actual[1, ] NA
              + expected[1, ] 1999-03-1612:22:20
              - actual[2, ] NA
              + expected[2, ] 1999-10-0818:02:24
              - actual[3, ] NA
              + expected[3, ] 1999-04-0403:52:27
              - actual[4, ] NA
              + expected[4, ] 1999-05-2811:35:45
              - actual[5, ] NA
              + expected[5, ] 1999-03-1608:08:55
              - actual[6, ] NA
              + expected[6, ] 1999-09-2500:19:59
              - actual[7, ] NA
              + expected[7, ] 1999-10-1220:47:55
              - actual[8, ] NA
              + expected[8, ] 1999-04-1520:36:12
              - actual[9, ] NA
              + expected[9, ] 1999-05-0103:55:23
              - actual[10, ] NA
              + expected[10, ] 1999-12-1501:19:05and90more ...
              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] ... ... ... and90more ...
              Backtrace:
              ▆
              1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
              [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

              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.

              Reporter: Neal Richardson / @nealrichardson
              Assignee: Rok Mihevc / @rok
              Watchers: Rok Mihevc / @rok

              PRs and other links:

              Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

              Metadata

              Metadata

              Assignees

              Type

              No type

              Projects

              No projects

                Milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); [R] strptime tests not robust across platforms · Issue #32658 · apache/arrow · GitHub
                Skip to content

                [R] strptime tests not robust across platforms #32658

                Description

                @asfimport

                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:

                ── Failure (test-dplyr-funcs-datetime.R:183:5): strptime ───────────────────────
                `object` (`actual`) notequalto `expected` (`expected`).
                actualvsexpectedx
                - actual[1, ] NA
                + expected[1, ] 1999-03-1612:22:20
                - actual[2, ] NA
                + expected[2, ] 1999-10-0818:02:24
                - actual[3, ] NA
                + expected[3, ] 1999-04-0403:52:27
                - actual[4, ] NA
                + expected[4, ] 1999-05-2811:35:45
                - actual[5, ] NA
                + expected[5, ] 1999-03-1608:08:55
                - actual[6, ] NA
                + expected[6, ] 1999-09-2500:19:59
                - actual[7, ] NA
                + expected[7, ] 1999-10-1220:47:55
                - actual[8, ] NA
                + expected[8, ] 1999-04-1520:36:12
                - actual[9, ] NA
                + expected[9, ] 1999-05-0103:55:23
                - actual[10, ] NA
                + expected[10, ] 1999-12-1501:19:05and90more ...
                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] ... ... ... and90more ...
                Backtrace:
                ▆
                1. └─arrow:::expect_equal(...) attest-dplyr-funcs-datetime.R:183:42. └─testthat::expect_equal(...) attests/testthat/helper-expectation.R:42:4
                [ FAIL1 | WARN0 | SKIP79 | PASS8173 ]

                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.

                Reporter: Neal Richardson / @nealrichardson
                Assignee: Rok Mihevc / @rok
                Watchers: Rok Mihevc / @rok

                PRs and other links:

                Note: This issue was originally created as ARROW-17386. Please see the migration documentation for further details.

                Metadata

                Metadata

                Assignees

                Type

                No type

                Projects

                No projects

                  Milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions