From a7a0c192a807cc5201af7e3548080ec5959826aa Mon Sep 17 00:00:00 2001 From: brentyi Date: Mon, 17 Feb 2025 16:38:08 -0800 Subject: [PATCH] Test gen --- src/tyro/extras/_base_configs.py | 1 + src/tyro/extras/_subcommand_cli_from_dict.py | 1 + ..._configs_nested_exclude_py313_generated.py | 20 +++++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/src/tyro/extras/_base_configs.py b/src/tyro/extras/_base_configs.py index 458838cc..b60907b3 100644 --- a/src/tyro/extras/_base_configs.py +++ b/src/tyro/extras/_base_configs.py @@ -1,6 +1,7 @@ from typing import Any, Mapping, Optional, Sequence, Tuple, TypeVar, Union from typing_extensions import Annotated + from tyro.conf._markers import Suppress from .._typing import TypeForm diff --git a/src/tyro/extras/_subcommand_cli_from_dict.py b/src/tyro/extras/_subcommand_cli_from_dict.py index 0fd497b4..d2f08db9 100644 --- a/src/tyro/extras/_subcommand_cli_from_dict.py +++ b/src/tyro/extras/_subcommand_cli_from_dict.py @@ -1,6 +1,7 @@ from typing import Any, Callable, Dict, Optional, Sequence, TypeVar, Union, overload from typing_extensions import Annotated + from tyro.conf._markers import Marker, Suppress from .._cli import cli diff --git a/tests/test_py311_generated/test_base_configs_nested_exclude_py313_generated.py b/tests/test_py311_generated/test_base_configs_nested_exclude_py313_generated.py index 13b5f683..b1563016 100644 --- a/tests/test_py311_generated/test_base_configs_nested_exclude_py313_generated.py +++ b/tests/test_py311_generated/test_base_configs_nested_exclude_py313_generated.py @@ -1,6 +1,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING, Callable, Literal, Tuple +from helptext_utils import get_helptext_with_checks from torch import nn import tyro @@ -89,6 +90,7 @@ class ExperimentConfig: ), }, prefix_names=False, # Omit prefixes in subcommands themselves. + sort_subcommands=True, # Sort subcommands alphabetically. ) @@ -120,6 +122,10 @@ class BaseConfig: data_config: AnnotatedDataParserUnion = DataConfig(test=0) +def test_sorted_alphabetically() -> None: + assert "{big,small}" in get_helptext_with_checks(ExperimentConfigDataParserUnion) + + def test_base_configs_nested() -> None: def main(cfg: BaseConfig) -> BaseConfig: return cfg @@ -230,3 +236,17 @@ def test_overridable_config_helper(): }, args=["small-data", "--test", "100"], ) == DataConfig(100) + + +def test_overridable_config_helper_single(): + assert tyro.extras.overridable_config_cli( + { + "small-data": ( + "Small data", + DataConfig( + test=2221, + ), + ), + }, + args=["small-data", "--test", "100"], + ) == DataConfig(100)