diff --git a/tests/samplers_tests/test_grid.py b/tests/samplers_tests/test_grid.py index e637b780c3..611784c030 100644 --- a/tests/samplers_tests/test_grid.py +++ b/tests/samplers_tests/test_grid.py @@ -14,6 +14,7 @@ from optuna import samplers from optuna.samplers._grid import GridValueType from optuna.storages import RetryFailedTrialCallback +from optuna.testing.objectives import fail_objective from optuna.testing.objectives import pruned_objective from optuna.testing.storages import StorageSupplier from optuna.trial import Trial @@ -94,6 +95,18 @@ def test_study_optimize_with_pruning() -> None: assert len(study.trials) == 2 +def test_study_optimize_with_fail() -> None: + def objective(trial: Trial) -> float: + return trial.suggest_int("a", 0, 100) + + # Failed trials should count towards grid consumption. + search_space: Dict[str, List[GridValueType]] = {"a": [0, 50]} + study = optuna.create_study(sampler=samplers.GridSampler(search_space)) + study.optimize(fail_objective, n_trials=1, catch=ValueError) + study.optimize(objective, n_trials=None) + assert len(study.trials) == 2 + + def test_study_optimize_with_numpy_related_search_space() -> None: def objective(trial: Trial) -> float: a = trial.suggest_float("a", 0, 10)