-
Notifications
You must be signed in to change notification settings - Fork 340
Closed
Labels
Description
Really liking the recent-ish change to batch skip reasons all in one blob. One further improvement would be better sorting of these skips:
══ Skipped tests (58) ══════════════════════════════════════════════════════════
• fGarch cannot be loaded (1): test-stats.R:26:3
• mapdata cannot be loaded (2): test-maps.R:2:3, test-maps.R:27:3
• MSwM cannot be loaded (1): test-MSwM.R:4:3
• On CRAN (48): test-backcompat.R:2:3, test-base-infer.R:4:3,
test-base-infer.R:17:3, test-base-infer.R:51:3, test-base.R:4:3,
test-base.R:12:3, test-base_ts.R:4:3, test-basis.R:6:5,
test-changepoint.R:4:3, test-changepoint.R:49:3, test-cluster.R:4:3,
test-cluster.R:27:3, test-cluster.R:81:3, test-cluster.R:127:3,
test-cluster.R:148:3, test-cluster.R:167:3, test-forecast.R:4:3,
test-forecast.R:45:3, test-forecast.R:66:3, test-forecast.R:82:3,
test-forecast.R:98:3, test-forecast.R:117:3, test-forecast.R:133:3,
test-forecast.R:160:3, test-plotlib.R:4:3, test-plotlib.R:26:3,
test-plotlib.R:98:3, test-plotlib.R:128:3, test-plotlib.R:150:3,
test-plotlib.R:215:3, test-plotlib.R:226:3, test-stats-lm.R:7:3,
test-stats-lm.R:27:3, test-stats-lm.R:40:3, test-stats-lm.R:202:3,
test-stats-lm.R:363:3, test-stats-lm.R:526:3, test-stats-lm.R:546:3,
test-stats-lm.R:561:3, test-stats-lm.R:570:3, test-stats.R:222:3,
test-stats.R:319:3, test-stats.R:420:3, test-stats.R:495:3,
test-stats.R:522:3, test-stats.R:582:3, test-stats.R:599:3, test-surv.R:238:3
• timeSeries cannot be loaded (6): test-ts.R:4:3, test-ts.R:23:3,
test-ts.R:44:3, test-ts.R:63:3, test-ts.R:83:3, test-ts.R:128:3
As we see here, the timeSeries skip might be better off grouped with the fGarch, mapdata, and MSwM skips.
One natural way to accomplish this would be for the error signal emitted by skip() to take a custom class, e.g.
c("testthat_error_skip_not_installed", "testthat_error_skip", "error", "condition")
c("testthat_error_skip_on_cran", "testthat_error_skip", "error", "condition")Then when printing the Skipped tests section, we iterated over skip classes.
Note that approaches building off the text in the skip message will be fraught, e.g. alphabetizing or other pattern matching. The custom signal class approach seems the most generalizable.