SCasanova / f1dataR

An R package to access Formula 1 Data from the Ergast API and the unofficial F1 data stream via the fastf1 python library.
https://scasanova.github.io/f1dataR/
Other
52 stars 5 forks source link

usethis is not needed as a dependency #260

Closed jennybc closed 1 month ago

jennybc commented 1 month ago

I just submitted usethis v3.0.0 to CRAN and test failures in f1dataR showed up in their reverse dependencies checks (although not in mine).

I don't think this package needs to list usethis in DESCRIPTION, since I think usethis is only used below data-raw/, i.e. a user never needs usethis installed to use f1dataR. Even a developer only needs it when updating the data in the package. I just thought I would point this out, since false reverse dependencies just increase the chance of failing CRAN's submission checks.

Below I show the check failure for f1dataR. It looks like the tests try to obtain data from the internet and then test against it. I would avoid running "live internet" tests on CRAN, because it's just too risky.

Package: f1dataR
Check: tests
New result: ERROR
    Running ‘testthat.R’ [0m/12m]
  Running the tests in ‘tests/testthat.R’ failed.
  Complete output:
    > # This file is part of the standard setup for testthat.
    > # It is recommended that you do not modify it.
    > #
    > # Where should you do additional test configuration?
    > # Learn more about the roles of various files in:
    > # * https://r-pkgs.org/tests.html
    > # * https://testthat.r-lib.org/reference/test_package.html#special-files
    >
    > library(testthat)
    > library(f1dataR)
    Loading required package: reticulate
    >
    > test_check("f1dataR")
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ==================>------------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff =======================>-------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff =======>-----------------------
    Waiting 5s for retry backoff =========================>-----
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff =========>---------------------
    Waiting 5s for retry backoff ===========================>---
    Waiting 5s for retry backoff ==============================>
    ! Failure at Ergast with https:// connection. Retrying as http://.
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ==========>--------------------
    Waiting 5s for retry backoff ============================>--
    Waiting 5s for retry backoff =============================>-
    Waiting 5s for retry backoff ======>------------------------
    Waiting 5s for retry backoff ======================>--------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ======>------------------------
    Waiting 5s for retry backoff ========================>------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ==========>--------------------
    Waiting 5s for retry backoff ============================>--
    Waiting 5s for retry backoff =============================>-
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ===============>---------------
    Waiting 5s for retry backoff ==============================>
    ! Failure at Ergast with https:// connection. Retrying as http://.
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff =============>-----------------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ============>------------------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ===============>---------------
    Waiting 5s for retry backoff ==============================>
    Waiting 5s for retry backoff =====>-------------------------
    Waiting 5s for retry backoff ===================>-----------
    Waiting 5s for retry backoff ==============================>
    x Error getting Ergast data, http status code 503.
    Service Unavailable
    [ FAIL 9 | WARN 2 | SKIP 21 | PASS 41 ]

    ══ Skipped tests (21) ══════════════════════════════════════════════════════════
    • On CRAN (10): 'test-load_circuits.R:10:3', 'test-load_constructors.R:10:3',
      'test-load_drivers.R:9:3', 'test-load_laps.R:10:3',
      'test-load_pitstops.R:10:3', 'test-load_quali.R:10:3',
      'test-load_results.R:10:3', 'test-load_schedule.R:10:3',
      'test-load_sprint.R:9:3', 'test-load_standings.R:9:3'
    • fastf1 not available for testing (11): 'test-load_circuit_details.R:3:3',
      'test-load_circuit_details.R:52:3', 'test-load_driver_telemetry.R:3:3',
      'test-load_driver_telemetry.R:66:3', 'test-load_race_session.R:3:3',
      'test-load_race_session.R:69:3', 'test-load_race_session.R:92:3',
      'test-load_session_laps.R:3:3', 'test-load_session_laps.R:52:3',
      'test-plot_fastest.R:3:3', 'test-plot_fastest.R:74:3'

    ══ Failed tests ════════════════════════════════════════════════════════════════
    ── Failure ('test-clear_f1_cache.R:27:3'): load_ciruits (off cache) works ──────
    nrow(ciruits_2021) (`actual`) not equal to 21 (`expected`).

    `actual` is NULL
    `expected` is a double vector (21)
    ── Failure ('test-clear_f1_cache.R:28:3'): load_ciruits (off cache) works ──────
    ciruits_2021$circuit_id[3] (`actual`) not equal to "baku" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('baku')
    ── Failure ('test-clear_f1_cache.R:29:3'): load_ciruits (off cache) works ──────
    ciruits_2021$locality[1] (`actual`) not equal to "Austin" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('Austin')
    ── Failure ('test-clear_f1_cache.R:41:3'): load_ciruits (memory cache) works ───
    nrow(ciruits_2021) (`actual`) not equal to 21 (`expected`).

    `actual` is NULL
    `expected` is a double vector (21)
    ── Failure ('test-clear_f1_cache.R:42:3'): load_ciruits (memory cache) works ───
    ciruits_2021$circuit_id[3] (`actual`) not equal to "baku" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('baku')
    ── Failure ('test-clear_f1_cache.R:43:3'): load_ciruits (memory cache) works ───
    ciruits_2021$locality[1] (`actual`) not equal to "Austin" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('Austin')
    ── Failure ('test-clear_f1_cache.R:60:3'): load_ciruits (filesystem cache) works ──
    nrow(ciruits_2021) (`actual`) not equal to 21 (`expected`).

    `actual` is NULL
    `expected` is a double vector (21)
    ── Failure ('test-clear_f1_cache.R:61:3'): load_ciruits (filesystem cache) works ──
    ciruits_2021$circuit_id[3] (`actual`) not equal to "baku" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('baku')
    ── Failure ('test-clear_f1_cache.R:62:3'): load_ciruits (filesystem cache) works ──
    ciruits_2021$locality[1] (`actual`) not equal to "Austin" (`expected`).

    `actual` is NULL
    `expected` is a character vector ('Austin')

    [ FAIL 9 | WARN 2 | SKIP 21 | PASS 41 ]
    Error: Test failures
    Execution halted
pbulsink commented 1 month ago

Thanks @jennybc. I didn't realize that data-raw only packages didn't need to be included.

The specific test failure is related to #258 and on my radar to improve soon.