mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 00:35:00 +00:00
refactor: Use temporary YAML file for model settings in test_default_and_override_settings
This commit is contained in:
parent
6133fa8384
commit
7b9a76c5ea
1 changed files with 36 additions and 28 deletions
|
@ -91,37 +91,45 @@ class TestModels(unittest.TestCase):
|
||||||
) # Check that one of the warnings mentions the bogus model
|
) # Check that one of the warnings mentions the bogus model
|
||||||
|
|
||||||
def test_default_and_override_settings(self):
|
def test_default_and_override_settings(self):
|
||||||
# Add default and override settings to MODEL_SETTINGS
|
import tempfile
|
||||||
MODEL_SETTINGS.extend(
|
import yaml
|
||||||
[
|
|
||||||
ModelSettings(
|
|
||||||
name="aider/default",
|
|
||||||
edit_format="fake",
|
|
||||||
use_repo_map=True,
|
|
||||||
),
|
|
||||||
ModelSettings(
|
|
||||||
name="aider/override",
|
|
||||||
use_temperature=False,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
# Test that defaults are applied when no exact match
|
# Create temporary YAML file with test settings
|
||||||
model = Model("unknown-model")
|
test_settings = [
|
||||||
self.assertEqual(model.edit_format, "fake")
|
{
|
||||||
self.assertTrue(model.use_repo_map)
|
"name": "aider/default",
|
||||||
self.assertFalse(model.use_temperature) # Override should win
|
"edit_format": "fake",
|
||||||
|
"use_repo_map": True,
|
||||||
# Test that exact match overrides defaults but not overrides
|
},
|
||||||
model = Model("gpt-4")
|
{
|
||||||
self.assertNotEqual(model.edit_format, "fake") # Model setting should win over default
|
"name": "aider/override",
|
||||||
self.assertFalse(model.use_temperature) # Override should still win
|
"use_temperature": False,
|
||||||
|
}
|
||||||
# Clean up by removing test settings
|
|
||||||
MODEL_SETTINGS[:] = [
|
|
||||||
ms for ms in MODEL_SETTINGS if ms.name not in ("aider/default", "aider/override")
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
with tempfile.NamedTemporaryFile(mode='w', suffix='.yml') as tmp:
|
||||||
|
yaml.dump(test_settings, tmp)
|
||||||
|
tmp.flush()
|
||||||
|
|
||||||
|
# Register the test settings
|
||||||
|
register_models([tmp.name])
|
||||||
|
|
||||||
|
# Test that defaults are applied when no exact match
|
||||||
|
model = Model("unknown-model")
|
||||||
|
self.assertEqual(model.edit_format, "fake")
|
||||||
|
self.assertTrue(model.use_repo_map)
|
||||||
|
self.assertFalse(model.use_temperature) # Override should win
|
||||||
|
|
||||||
|
# Test that exact match overrides defaults but not overrides
|
||||||
|
model = Model("gpt-4")
|
||||||
|
self.assertNotEqual(model.edit_format, "fake") # Model setting should win over default
|
||||||
|
self.assertFalse(model.use_temperature) # Override should still win
|
||||||
|
|
||||||
|
# Clean up by removing test settings
|
||||||
|
MODEL_SETTINGS[:] = [
|
||||||
|
ms for ms in MODEL_SETTINGS if ms.name not in ("aider/default", "aider/override")
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue