diff --git a/darts/tests/datasets/test_dataset_loaders.py b/darts/tests/datasets/test_dataset_loaders.py index 21d315f955..c39858b7c5 100644 --- a/darts/tests/datasets/test_dataset_loaders.py +++ b/darts/tests/datasets/test_dataset_loaders.py @@ -1,5 +1,7 @@ import os +import pytest + from darts import TimeSeries from darts.datasets import ( _DEFAULT_PATH, @@ -128,6 +130,7 @@ def tearDown(self): os.remove(os.path.join(default_directory, f)) os.rmdir(DatasetLoader._DEFAULT_DIRECTORY) + @pytest.mark.slow def test_ok_dataset(self): for width, dataset_cls in zip(width_datasets, datasets): dataset = dataset_cls() diff --git a/darts/tests/models/forecasting/test_TCN.py b/darts/tests/models/forecasting/test_TCN.py index e68836fab2..d84ae138a5 100644 --- a/darts/tests/models/forecasting/test_TCN.py +++ b/darts/tests/models/forecasting/test_TCN.py @@ -1,3 +1,5 @@ +import pytest + from darts.logging import get_logger from darts.metrics import mae from darts.tests.base_test_class import DartsBaseTestClass @@ -65,6 +67,7 @@ def test_performance(self): self.assertTrue(mae(pred, test) < 0.3) + @pytest.mark.slow def test_coverage(self): torch.manual_seed(0) input_chunk_lengths = range(20, 50) diff --git a/darts/tests/models/forecasting/test_historical_forecasts.py b/darts/tests/models/forecasting/test_historical_forecasts.py index 9b3a97b1c5..2c8c36e1ce 100644 --- a/darts/tests/models/forecasting/test_historical_forecasts.py +++ b/darts/tests/models/forecasting/test_historical_forecasts.py @@ -471,6 +471,7 @@ def test_regression_auto_start_multiple_no_cov(self): "of retrain=True and overlap_end=False, and a time index of type DateTimeIndex.", ) + @pytest.mark.slow @unittest.skipUnless( TORCH_AVAILABLE, "Torch not available. auto start and multiple time series for torch models will be skipped.", @@ -637,6 +638,7 @@ def test_regression_auto_start_multiple_with_cov(self): " retrain=True and overlap_end=False", ) + @pytest.mark.slow @unittest.skipUnless( TORCH_AVAILABLE, "Torch not available. auto start and multiple time series for torch models and covariates " diff --git a/darts/tests/models/forecasting/test_local_forecasting_models.py b/darts/tests/models/forecasting/test_local_forecasting_models.py index 16fbe40643..08317fd980 100644 --- a/darts/tests/models/forecasting/test_local_forecasting_models.py +++ b/darts/tests/models/forecasting/test_local_forecasting_models.py @@ -359,6 +359,7 @@ def test_forecast_time_index(self): self.assertEqual(pred.start_time(), pd.Timestamp("20130121")) self.assertEqual(pred.end_time(), pd.Timestamp("20130125")) + @pytest.mark.slow def test_statsmodels_future_models(self): # same tests, but VARIMA requires to work on a multivariate target series diff --git a/darts/tests/models/forecasting/test_probabilistic_models.py b/darts/tests/models/forecasting/test_probabilistic_models.py index 6ecad577bd..82af108536 100644 --- a/darts/tests/models/forecasting/test_probabilistic_models.py +++ b/darts/tests/models/forecasting/test_probabilistic_models.py @@ -1,4 +1,5 @@ import numpy as np +import pytest from darts import TimeSeries from darts.logging import get_logger @@ -135,6 +136,7 @@ ] +@pytest.mark.slow class ProbabilisticTorchModelsTestCase(DartsBaseTestClass): np.random.seed(0) @@ -144,6 +146,7 @@ class ProbabilisticTorchModelsTestCase(DartsBaseTestClass): constant_noisy_multivar_ts = constant_noisy_ts.stack(constant_noisy_ts) num_samples = 5 + @pytest.mark.slow def test_fit_predict_determinism(self): for model_cls, model_kwargs, _ in models_cls_kwargs_errs: diff --git a/darts/tests/models/forecasting/test_regression_models.py b/darts/tests/models/forecasting/test_regression_models.py index 7c36a4120d..9512b0794e 100644 --- a/darts/tests/models/forecasting/test_regression_models.py +++ b/darts/tests/models/forecasting/test_regression_models.py @@ -6,6 +6,7 @@ import numpy as np import pandas as pd +import pytest from sklearn.ensemble import HistGradientBoostingRegressor, RandomForestRegressor from sklearn.linear_model import LinearRegression from sklearn.preprocessing import OneHotEncoder @@ -1191,6 +1192,7 @@ def test_models_runnability(self): prediction = model_instance.predict(n=1) self.assertEqual(len(prediction), 1) + @pytest.mark.slow def test_fit(self): multi_models_modes = [True, False] for mode in multi_models_modes: @@ -2217,6 +2219,7 @@ class ProbabilisticRegressionModelsTestCase(DartsBaseTestClass): constant_noisy_multivar_ts = constant_noisy_ts.stack(constant_noisy_ts) num_samples = 5 + @pytest.mark.slow def test_fit_predict_determinism(self): multi_models_modes = [False, True] for mode in multi_models_modes: @@ -2237,6 +2240,7 @@ def test_fit_predict_determinism(self): pred3 = model.predict(n=10, num_samples=2).values() self.assertTrue((pred2 != pred3).any()) + @pytest.mark.slow def test_probabilistic_forecast_accuracy(self): multi_models_modes = [True, False] for mode in multi_models_modes: diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000000..6b901cb9c6 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +addopts = --strict-markers +markers = + slow: marks tests as slow (deselect with '-m "not slow"') \ No newline at end of file